#[non_exhaustive]pub struct Channel<'ch, Dm, Dir>where
Dm: DriverMode,
Dir: Direction,{ /* private fields */ }unstable only.Expand description
RMT Channel
Implementations§
Source§impl<Dm, Dir> Channel<'_, Dm, Dir>where
Dm: DriverMode,
Dir: Direction,
impl<Dm, Dir> Channel<'_, Dm, Dir>where
Dm: DriverMode,
Dir: Direction,
Source§impl<'ch> Channel<'ch, Blocking, Tx>
Channel in TX mode
impl<'ch> Channel<'ch, Blocking, Tx>
Channel in TX mode
Sourcepub fn transmit<'data, T>(
self,
data: &'data [T],
) -> Result<SingleShotTxTransaction<'ch, 'data, T>, Error>where
T: Into<PulseCode> + Copy,
pub fn transmit<'data, T>(
self,
data: &'data [T],
) -> Result<SingleShotTxTransaction<'ch, 'data, T>, Error>where
T: Into<PulseCode> + Copy,
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.
Sourcepub fn transmit_continuously<T>(
self,
data: &[T],
mode: LoopMode,
) -> Result<ContinuousTxTransaction<'ch>, Error>where
T: Into<PulseCode> + Copy,
pub fn transmit_continuously<T>(
self,
data: &[T],
mode: LoopMode,
) -> Result<ContinuousTxTransaction<'ch>, Error>where
T: Into<PulseCode> + Copy,
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 mode argument determines whether transmission will continue until explicitly stopped
or for a fixed number of iterations; see LoopMode for more details.
The length of data cannot exceed the size of the allocated RMT RAM.
Source§impl<'ch> Channel<'ch, Blocking, Rx>
Channel is RX mode
impl<'ch> Channel<'ch, Blocking, Rx>
Channel is RX mode
Sourcepub fn receive<'data, T>(
self,
data: &'data mut [T],
) -> Result<RxTransaction<'ch, 'data, T>, Error>where
Self: Sized,
T: From<PulseCode>,
pub fn receive<'data, T>(
self,
data: &'data mut [T],
) -> Result<RxTransaction<'ch, 'data, T>, Error>where
Self: Sized,
T: From<PulseCode>,
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.