Struct esp_hal::i2s::I2sWriteDmaTransfer
source · pub struct I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,{ /* private fields */ }Expand description
An in-progress DMA write transfer.
Implementations§
source§impl<'d, T, CH, BUFFER> I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
impl<'d, T, CH, BUFFER> I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
sourcepub fn available(&mut self) -> usize
pub fn available(&mut self) -> usize
Amount of bytes which can be pushed. Only useful for circular DMA transfers
sourcepub fn push(&mut self, data: &[u8]) -> Result<usize, Error>
pub fn push(&mut self, data: &[u8]) -> Result<usize, Error>
Push bytes into the DMA buffer. Only useful for circular DMA transfers
sourcepub fn push_with(
&mut self,
f: impl FnOnce(&mut [u8]) -> usize
) -> Result<usize, Error>
pub fn push_with( &mut self, f: impl FnOnce(&mut [u8]) -> usize ) -> Result<usize, Error>
Push bytes into the DMA buffer via the given closure. The closure must return the actual number of bytes written. The closure might get called with a slice which is smaller than the total available buffer. Only useful for circular DMA transfers
Trait Implementations§
source§impl<'d, T, CH, BUFFER> DmaTransfer<BUFFER, I2sTx<'d, T, CH>> for I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
impl<'d, T, CH, BUFFER> DmaTransfer<BUFFER, I2sTx<'d, T, CH>> for I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
source§impl<'d, T, CH, BUFFER> Drop for I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
impl<'d, T, CH, BUFFER> Drop for I2sWriteDmaTransfer<'d, T, CH, BUFFER>where
T: RegisterAccess,
CH: ChannelTypes,
Auto Trait Implementations§
impl<'d, T, CH, BUFFER> Freeze for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
impl<'d, T, CH, BUFFER> RefUnwindSafe for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
impl<'d, T, CH, BUFFER> Send for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
impl<'d, T, CH, BUFFER> Sync for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
impl<'d, T, CH, BUFFER> Unpin for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
impl<'d, T, CH, BUFFER> UnwindSafe for I2sWriteDmaTransfer<'d, T, CH, BUFFER>
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