#[non_exhaustive]pub struct Channel<Dm, Raw>where
Dm: DriverMode,
Raw: ChannelInternal,{ /* private fields */ }
Available on crate feature
unstable
only.Expand description
RMT Channel
Implementations§
Trait Implementations§
Source§impl<Dm, Raw> Debug for Channel<Dm, Raw>where
Dm: DriverMode + Debug,
Raw: ChannelInternal + Debug,
impl<Dm, Raw> Debug for Channel<Dm, Raw>where
Dm: DriverMode + Debug,
Raw: ChannelInternal + Debug,
Source§impl<Dm, Raw> Drop for Channel<Dm, Raw>where
Dm: DriverMode,
Raw: ChannelInternal,
impl<Dm, Raw> Drop for Channel<Dm, Raw>where
Dm: DriverMode,
Raw: ChannelInternal,
Source§impl<Raw> RxChannel for Channel<Blocking, Raw>where
Raw: RxChannelInternal,
impl<Raw> RxChannel for Channel<Blocking, Raw>where
Raw: RxChannelInternal,
Source§fn receive(
self,
data: &mut [u32],
) -> Result<RxTransaction<'_, Self::Raw>, Error>where
Self: Sized,
fn receive(
self,
data: &mut [u32],
) -> Result<RxTransaction<'_, Self::Raw>, 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<Raw> RxChannelAsync for Channel<Async, Raw>where
Raw: RxChannelInternal,
impl<Raw> RxChannelAsync for Channel<Async, Raw>where
Raw: RxChannelInternal,
Source§impl<Raw> TxChannel for Channel<Blocking, Raw>where
Raw: TxChannelInternal,
impl<Raw> TxChannel for Channel<Blocking, Raw>where
Raw: TxChannelInternal,
Source§fn transmit(
self,
data: &[u32],
) -> Result<SingleShotTxTransaction<'_, Raw>, Error>
fn transmit( self, data: &[u32], ) -> Result<SingleShotTxTransaction<'_, Raw>, Error>
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<Raw>, Error>
fn transmit_continuously( self, data: &[u32], ) -> Result<ContinuousTxTransaction<Raw>, Error>
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<Raw>, Error>
fn transmit_continuously_with_loopcount( self, loopcount: u16, data: &[u32], ) -> Result<ContinuousTxTransaction<Raw>, Error>
Like
Self::transmit_continuously
but also sets a loop count.
ContinuousTxTransaction
can be used to check if the loop count is
reached.