Struct esp32_hal::rmt::Channel

source ·
#[non_exhaustive]
pub struct Channel<const CHANNEL: u8> {}
Expand description

RMT Channel

Trait Implementations§

source§

impl<const CHANNEL: u8> Debug for Channel<CHANNEL>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl RxChannel<0> for Channel<0>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<1> for Channel<1>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<2> for Channel<2>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<3> for Channel<3>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<4> for Channel<4>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<5> for Channel<5>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<6> for Channel<6>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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<7> for Channel<7>

source§

fn receive<'a, T>( self, data: &'a mut [T] ) -> Result<RxTransaction<'a, Self, T, CHANNEL>, Error>
where T: From<u32> + Copy, 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 TxChannel<0> for Channel<0>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<1> for Channel<1>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<2> for Channel<2>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<3> for Channel<3>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<4> for Channel<4>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<5> for Channel<5>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<6> for Channel<6>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<7> for Channel<7>

source§

fn transmit<'a, T>( self, data: &'a [T] ) -> SingleShotTxTransaction<'a, Self, T, CHANNEL>
where T: Into<u32> + Copy, 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<'a, T>( self, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, 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<'a, T>( self, loopcount: u16, data: &'a [T] ) -> Result<ContinuousTxTransaction<Self, CHANNEL>, Error>
where T: Into<u32> + Copy, Self: Sized,

Like Self::transmit_continuously but also sets a loop count. ContinuousTxTransaction can be used to check if the loop count is reached.

Auto Trait Implementations§

§

impl<const CHANNEL: u8> RefUnwindSafe for Channel<CHANNEL>

§

impl<const CHANNEL: u8> Send for Channel<CHANNEL>

§

impl<const CHANNEL: u8> Sync for Channel<CHANNEL>

§

impl<const CHANNEL: u8> Unpin for Channel<CHANNEL>

§

impl<const CHANNEL: u8> UnwindSafe for Channel<CHANNEL>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.