pub struct I2sReadDmaTransfer<'d, T, CH, BUFFER>{ /* private fields */ }
Expand description

An in-progress DMA read transfer.

Implementations§

source§

impl<'d, T, CH, BUFFER> I2sReadDmaTransfer<'d, T, CH, BUFFER>

source

pub fn available(&mut self) -> usize

Amount of bytes which can be popped

source

pub fn pop(&mut self, data: &mut [u8]) -> Result<usize, Error>

source

pub fn wait_receive( self, dst: &mut [u8] ) -> Result<(BUFFER, I2sRx<'d, T, CH>, usize), (DmaError, BUFFER, I2sRx<'d, T, CH>, usize)>

Wait for the DMA transfer to complete and return the buffers and the I2sTx instance after copying the read data to the given buffer. Length of the received data is returned at the third element of the tuple.

Trait Implementations§

source§

impl<'d, T, CH, BUFFER> DmaTransfer<BUFFER, I2sRx<'d, T, CH>> for I2sReadDmaTransfer<'d, T, CH, BUFFER>

source§

fn wait( self ) -> Result<(BUFFER, I2sRx<'d, T, CH>), (DmaError, BUFFER, I2sRx<'d, T, CH>)>

Wait for the DMA transfer to complete and return the buffers and the I2sTx instance.

source§

fn is_done(&self) -> bool

Check if the DMA transfer is complete

source§

impl<T, CH, BUFFER> Drop for I2sReadDmaTransfer<'_, T, CH, BUFFER>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'d, T, CH, BUFFER> RefUnwindSafe for I2sReadDmaTransfer<'d, T, CH, BUFFER>
where BUFFER: RefUnwindSafe, T: RefUnwindSafe, <CH as ChannelTypes>::Rx<'d>: RefUnwindSafe,

§

impl<'d, T, CH, BUFFER> Send for I2sReadDmaTransfer<'d, T, CH, BUFFER>
where BUFFER: Send, T: Send, <CH as ChannelTypes>::Rx<'d>: Send,

§

impl<'d, T, CH, BUFFER> Sync for I2sReadDmaTransfer<'d, T, CH, BUFFER>
where BUFFER: Sync, T: Sync, <CH as ChannelTypes>::Rx<'d>: Sync,

§

impl<'d, T, CH, BUFFER> Unpin for I2sReadDmaTransfer<'d, T, CH, BUFFER>
where BUFFER: Unpin, T: Unpin, <CH as ChannelTypes>::Rx<'d>: Unpin,

§

impl<'d, T, CH, BUFFER> UnwindSafe for I2sReadDmaTransfer<'d, T, CH, BUFFER>
where BUFFER: UnwindSafe, T: UnwindSafe, <CH as ChannelTypes>::Rx<'d>: UnwindSafe,

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.