Struct esp32c3_hal::i2s::I2sReadDmaTransfer
source · pub struct I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
P: I2sRxPins,{ /* private fields */ }
Expand description
An in-progress DMA read transfer.
Implementations§
source§impl<'d, T, P, CH, BUFFER> I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
P: I2sRxPins,
impl<'d, T, P, CH, BUFFER> I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where T: RegisterAccess, CH: ChannelTypes, P: I2sRxPins,
pub fn pop(&mut self, data: &mut [u8]) -> Result<usize, Error>
sourcepub fn wait_receive(
self,
dst: &mut [u8]
) -> Result<(BUFFER, I2sRx<'d, T, P, CH>, usize), (DmaError, BUFFER, I2sRx<'d, T, P, CH>, usize)>
pub fn wait_receive( self, dst: &mut [u8] ) -> Result<(BUFFER, I2sRx<'d, T, P, CH>, usize), (DmaError, BUFFER, I2sRx<'d, T, P, 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, P, CH, BUFFER> DmaTransfer<BUFFER, I2sRx<'d, T, P, CH>> for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
P: I2sRxPins,
impl<'d, T, P, CH, BUFFER> DmaTransfer<BUFFER, I2sRx<'d, T, P, CH>> for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where T: RegisterAccess, CH: ChannelTypes, P: I2sRxPins,
source§impl<T, P, CH, BUFFER> Drop for I2sReadDmaTransfer<'_, T, P, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
P: I2sRxPins,
impl<T, P, CH, BUFFER> Drop for I2sReadDmaTransfer<'_, T, P, CH, BUFFER>where T: RegisterAccess, CH: ChannelTypes, P: I2sRxPins,
Auto Trait Implementations§
impl<'d, T, P, CH, BUFFER> RefUnwindSafe for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where BUFFER: RefUnwindSafe, P: RefUnwindSafe, T: RefUnwindSafe, <CH as ChannelTypes>::Rx<'d>: RefUnwindSafe,
impl<'d, T, P, CH, BUFFER> Send for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where BUFFER: Send, P: Send, T: Send, <CH as ChannelTypes>::Rx<'d>: Send,
impl<'d, T, P, CH, BUFFER> Sync for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where BUFFER: Sync, P: Sync, T: Sync, <CH as ChannelTypes>::Rx<'d>: Sync,
impl<'d, T, P, CH, BUFFER> Unpin for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where BUFFER: Unpin, P: Unpin, T: Unpin, <CH as ChannelTypes>::Rx<'d>: Unpin,
impl<'d, T, P, CH, BUFFER> UnwindSafe for I2sReadDmaTransfer<'d, T, P, CH, BUFFER>where BUFFER: UnwindSafe, P: UnwindSafe, T: UnwindSafe, <CH as ChannelTypes>::Rx<'d>: 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