#[non_exhaustive]pub struct Channel<Dm, const CHANNEL: u8>where
Dm: DriverMode,{ /* private fields */ }
Available on crate feature
unstable
only.Expand description
RMT Channel
Trait Implementations§
Source§impl<Dm, const CHANNEL: u8> Debug for Channel<Dm, CHANNEL>where
Dm: DriverMode + Debug,
impl<Dm, const CHANNEL: u8> Debug for Channel<Dm, CHANNEL>where
Dm: DriverMode + Debug,
Source§impl RxChannel for Channel<Blocking, 2>
impl RxChannel for Channel<Blocking, 2>
Source§fn receive(self, data: &mut [u32]) -> Result<RxTransaction<'_, Self>, Error>where
Self: Sized,
fn receive(self, data: &mut [u32]) -> Result<RxTransaction<'_, Self>, Error>where
Self: Sized,
Start receiving pulse codes into the given buffer.
This returns a RxTransaction which can be used to wait for receive to
complete and get back the channel for further use.
The length of the received data cannot exceed the allocated RMT RAM.
Source§impl RxChannel for Channel<Blocking, 3>
impl RxChannel for Channel<Blocking, 3>
Source§fn receive(self, data: &mut [u32]) -> Result<RxTransaction<'_, Self>, Error>where
Self: Sized,
fn receive(self, data: &mut [u32]) -> Result<RxTransaction<'_, Self>, Error>where
Self: Sized,
Start receiving pulse codes into the given buffer.
This returns a RxTransaction which can be used to wait for receive to
complete and get back the channel for further use.
The length of the received data cannot exceed the allocated RMT RAM.
Source§impl RxChannelAsync for Channel<Async, 2>
impl RxChannelAsync for Channel<Async, 2>
Source§impl RxChannelAsync for Channel<Async, 3>
impl RxChannelAsync for Channel<Async, 3>
Source§impl<'d, P> RxChannelCreator<'d, Channel<Blocking, 2>, P> for ChannelCreator<Blocking, 2>where
P: PeripheralInput,
impl<'d, P> RxChannelCreator<'d, Channel<Blocking, 2>, P> for ChannelCreator<Blocking, 2>where
P: PeripheralInput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the RX channel
Source§impl<'d, P> RxChannelCreator<'d, Channel<Blocking, 3>, P> for ChannelCreator<Blocking, 3>where
P: PeripheralInput,
impl<'d, P> RxChannelCreator<'d, Channel<Blocking, 3>, P> for ChannelCreator<Blocking, 3>where
P: PeripheralInput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the RX channel
Source§impl<'d, P> RxChannelCreatorAsync<'d, Channel<Async, 2>, P> for ChannelCreator<Async, 2>where
P: PeripheralInput,
impl<'d, P> RxChannelCreatorAsync<'d, Channel<Async, 2>, P> for ChannelCreator<Async, 2>where
P: PeripheralInput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the RX channel
Source§impl<'d, P> RxChannelCreatorAsync<'d, Channel<Async, 3>, P> for ChannelCreator<Async, 3>where
P: PeripheralInput,
impl<'d, P> RxChannelCreatorAsync<'d, Channel<Async, 3>, P> for ChannelCreator<Async, 3>where
P: PeripheralInput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: RxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the RX channel
Source§impl TxChannel for Channel<Blocking, 0>
impl TxChannel for Channel<Blocking, 0>
Source§fn transmit(
self,
data: &[u32],
) -> Result<SingleShotTxTransaction<'_, Self>, Error>where
Self: Sized,
fn transmit(
self,
data: &[u32],
) -> Result<SingleShotTxTransaction<'_, Self>, Error>where
Self: Sized,
Start transmitting the given pulse code sequence.
This returns a
SingleShotTxTransaction
which can be used to wait for
the transaction to complete and get back the channel for further
use.Source§fn transmit_continuously(
self,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
fn transmit_continuously(
self,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
Start transmitting the given pulse code continuously.
This returns a
ContinuousTxTransaction
which can be used to stop the
ongoing transmission and get back the channel for further use.
The length of sequence cannot exceed the size of the allocated RMT RAM.Source§fn transmit_continuously_with_loopcount(
self,
loopcount: u16,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
fn transmit_continuously_with_loopcount(
self,
loopcount: u16,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
Like
Self::transmit_continuously
but also sets a loop count.
ContinuousTxTransaction
can be used to check if the loop count is
reached.Source§impl TxChannel for Channel<Blocking, 1>
impl TxChannel for Channel<Blocking, 1>
Source§fn transmit(
self,
data: &[u32],
) -> Result<SingleShotTxTransaction<'_, Self>, Error>where
Self: Sized,
fn transmit(
self,
data: &[u32],
) -> Result<SingleShotTxTransaction<'_, Self>, Error>where
Self: Sized,
Start transmitting the given pulse code sequence.
This returns a
SingleShotTxTransaction
which can be used to wait for
the transaction to complete and get back the channel for further
use.Source§fn transmit_continuously(
self,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
fn transmit_continuously(
self,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
Start transmitting the given pulse code continuously.
This returns a
ContinuousTxTransaction
which can be used to stop the
ongoing transmission and get back the channel for further use.
The length of sequence cannot exceed the size of the allocated RMT RAM.Source§fn transmit_continuously_with_loopcount(
self,
loopcount: u16,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
fn transmit_continuously_with_loopcount(
self,
loopcount: u16,
data: &[u32],
) -> Result<ContinuousTxTransaction<Self>, Error>where
Self: Sized,
Like
Self::transmit_continuously
but also sets a loop count.
ContinuousTxTransaction
can be used to check if the loop count is
reached.Source§impl TxChannelAsync for Channel<Async, 0>
impl TxChannelAsync for Channel<Async, 0>
Source§impl TxChannelAsync for Channel<Async, 1>
impl TxChannelAsync for Channel<Async, 1>
Source§impl<'d, P> TxChannelCreator<'d, Channel<Blocking, 0>, P> for ChannelCreator<Blocking, 0>where
P: PeripheralOutput,
impl<'d, P> TxChannelCreator<'d, Channel<Blocking, 0>, P> for ChannelCreator<Blocking, 0>where
P: PeripheralOutput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the TX channel
Source§impl<'d, P> TxChannelCreator<'d, Channel<Blocking, 1>, P> for ChannelCreator<Blocking, 1>where
P: PeripheralOutput,
impl<'d, P> TxChannelCreator<'d, Channel<Blocking, 1>, P> for ChannelCreator<Blocking, 1>where
P: PeripheralOutput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the TX channel
Source§impl<'d, P> TxChannelCreatorAsync<'d, Channel<Async, 0>, P> for ChannelCreator<Async, 0>where
P: PeripheralOutput,
impl<'d, P> TxChannelCreatorAsync<'d, Channel<Async, 0>, P> for ChannelCreator<Async, 0>where
P: PeripheralOutput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the TX channel
Source§impl<'d, P> TxChannelCreatorAsync<'d, Channel<Async, 1>, P> for ChannelCreator<Async, 1>where
P: PeripheralOutput,
impl<'d, P> TxChannelCreatorAsync<'d, Channel<Async, 1>, P> for ChannelCreator<Async, 1>where
P: PeripheralOutput,
Source§fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
fn configure(
self,
pin: impl Peripheral<P = P> + 'd,
config: TxChannelConfig,
) -> Result<T, Error>where
Self: Sized,
Configure the TX channel