#[non_exhaustive]pub struct Channel<'ch, Dm, Dir>where
    Dm: DriverMode,
    Dir: Direction,{ /* private fields */ }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.
When using a loop mode other than LoopMode::Infinite, ContinuousTxTransaction::is_loopcount_interrupt_set can be used to check if the loop count is reached.
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.
§{rx_size_limit}
Trait Implementations§
Source§impl<'ch, Dm, Dir> Debug for Channel<'ch, Dm, Dir>where
    Dm: DriverMode + Debug,
    Dir: Direction + Debug,
Available on crate feature unstable only. 
impl<'ch, Dm, Dir> Debug for Channel<'ch, Dm, Dir>where
    Dm: DriverMode + Debug,
    Dir: Direction + Debug,
unstable only.