embassy-rp

Crates

git

Versions

rp2040

Flavors

embassy_rp::pio

Struct StateMachineRx

Source
pub struct StateMachineRx<'d, PIO: Instance, const SM: usize> { /* private fields */ }
Expand description

Type representing a state machine RX FIFO.

Implementations§

Source§

impl<'d, PIO: Instance, const SM: usize> StateMachineRx<'d, PIO, SM>

Source

pub fn empty(&self) -> bool

Check if RX FIFO is empty.

Source

pub fn full(&self) -> bool

Check if RX FIFO is full.

Source

pub fn level(&self) -> u8

Check RX FIFO level.

Source

pub fn stalled(&self) -> bool

Check if state machine has stalled on full RX FIFO.

Source

pub fn underflowed(&self) -> bool

Check if RX FIFO underflow (i.e. read-on-empty by the system) has occurred.

Source

pub fn pull(&mut self) -> u32

Pull data from RX FIFO.

This function doesn’t check if there is data available to be read. If the rx FIFO is empty, an undefined value is returned. If you only want to pull if data is available, use try_pull instead.

Source

pub fn try_pull(&mut self) -> Option<u32>

Attempt pulling data from RX FIFO.

Source

pub fn wait_pull<'a>(&'a mut self) -> FifoInFuture<'a, 'd, PIO, SM>

Wait for RX FIFO readable.

Source

pub fn dma_pull<'a, C: Channel, W: Word>( &'a mut self, ch: PeripheralRef<'a, C>, data: &'a mut [W], ) -> Transfer<'a, C>

Prepare DMA transfer from RX FIFO.

Auto Trait Implementations§

§

impl<'d, PIO, const SM: usize> Freeze for StateMachineRx<'d, PIO, SM>

§

impl<'d, PIO, const SM: usize> RefUnwindSafe for StateMachineRx<'d, PIO, SM>
where PIO: RefUnwindSafe,

§

impl<'d, PIO, const SM: usize> Send for StateMachineRx<'d, PIO, SM>
where PIO: Send,

§

impl<'d, PIO, const SM: usize> Sync for StateMachineRx<'d, PIO, SM>
where PIO: Sync,

§

impl<'d, PIO, const SM: usize> Unpin for StateMachineRx<'d, PIO, SM>

§

impl<'d, PIO, const SM: usize> !UnwindSafe for StateMachineRx<'d, PIO, SM>

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> Az for T

Source§

fn az<Dst>(self) -> Dst
where T: Cast<Dst>,

Casts the value.
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<Src, Dst> CastFrom<Src> for Dst
where Src: Cast<Dst>,

Source§

fn cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> CheckedAs for T

Source§

fn checked_as<Dst>(self) -> Option<Dst>
where T: CheckedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> CheckedCastFrom<Src> for Dst
where Src: CheckedCast<Dst>,

Source§

fn checked_cast_from(src: Src) -> Option<Dst>

Casts the value.
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<Src, Dst> LosslessTryInto<Dst> for Src
where Dst: LosslessTryFrom<Src>,

Source§

fn lossless_try_into(self) -> Option<Dst>

Performs the conversion.
Source§

impl<Src, Dst> LossyInto<Dst> for Src
where Dst: LossyFrom<Src>,

Source§

fn lossy_into(self) -> Dst

Performs the conversion.
Source§

impl<T> OverflowingAs for T

Source§

fn overflowing_as<Dst>(self) -> (Dst, bool)
where T: OverflowingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> OverflowingCastFrom<Src> for Dst
where Src: OverflowingCast<Dst>,

Source§

fn overflowing_cast_from(src: Src) -> (Dst, bool)

Casts the value.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> SaturatingAs for T

Source§

fn saturating_as<Dst>(self) -> Dst
where T: SaturatingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> SaturatingCastFrom<Src> for Dst
where Src: SaturatingCast<Dst>,

Source§

fn saturating_cast_from(src: Src) -> Dst

Casts the value.
Source§

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

Source§

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>,

Source§

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.
Source§

impl<T> UnwrappedAs for T

Source§

fn unwrapped_as<Dst>(self) -> Dst
where T: UnwrappedCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> UnwrappedCastFrom<Src> for Dst
where Src: UnwrappedCast<Dst>,

Source§

fn unwrapped_cast_from(src: Src) -> Dst

Casts the value.
Source§

impl<T> WrappingAs for T

Source§

fn wrapping_as<Dst>(self) -> Dst
where T: WrappingCast<Dst>,

Casts the value.
Source§

impl<Src, Dst> WrappingCastFrom<Src> for Dst
where Src: WrappingCast<Dst>,

Source§

fn wrapping_cast_from(src: Src) -> Dst

Casts the value.