#[non_exhaustive]pub struct Channel<M, const CHANNEL: u8>where
M: Mode,{ /* private fields */ }Expand description
RMT Channel
Trait Implementations§
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
Auto Trait Implementations§
impl<M, const CHANNEL: u8> Freeze for Channel<M, CHANNEL>
impl<M, const CHANNEL: u8> RefUnwindSafe for Channel<M, CHANNEL>where
M: RefUnwindSafe,
impl<M, const CHANNEL: u8> Send for Channel<M, CHANNEL>where
M: Send,
impl<M, const CHANNEL: u8> Sync for Channel<M, CHANNEL>where
M: Sync,
impl<M, const CHANNEL: u8> Unpin for Channel<M, CHANNEL>where
M: Unpin,
impl<M, const CHANNEL: u8> UnwindSafe for Channel<M, CHANNEL>where
M: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more