pub struct SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>where
    T: InstanceDma<<C as ChannelTypes>::Tx<'d>, <C as ChannelTypes>::Rx<'d>>,
    C: ChannelTypes,
    <C as ChannelTypes>::P: SpiPeripheral,
    M: DuplexMode,{ /* private fields */ }
Expand description

An in-progress DMA transfer

Trait Implementations§

source§

impl<'d, T, C, RXBUF, TXBUF, M> DmaTransferRxTx<RXBUF, TXBUF, SpiDma<'d, T, C, M>> for SpiDmaTransferRxTx<'d, T, C, RXBUF, TXBUF, M>where T: InstanceDma<<C as ChannelTypes>::Tx<'d>, <C as ChannelTypes>::Rx<'d>>, C: ChannelTypes, <C as ChannelTypes>::P: SpiPeripheral, M: DuplexMode,

source§

fn wait( self ) -> Result<(RXBUF, TXBUF, SpiDma<'d, T, C, M>), (DmaError, RXBUF, TXBUF, SpiDma<'d, T, C, M>)>

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

source§

fn is_done(&self) -> bool

Check if the DMA transfer is complete

source§

impl<'d, T, C, RXBUF, TXBUF, M> Drop for SpiDmaTransferRxTx<'d, T, C, RXBUF, TXBUF, M>where T: InstanceDma<<C as ChannelTypes>::Tx<'d>, <C as ChannelTypes>::Rx<'d>>, C: ChannelTypes, <C as ChannelTypes>::P: SpiPeripheral, M: DuplexMode,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<'d, T, C, RBUFFER, TBUFFER, M> RefUnwindSafe for SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>where M: RefUnwindSafe, RBUFFER: RefUnwindSafe, T: RefUnwindSafe, TBUFFER: RefUnwindSafe, <C as ChannelTypes>::Rx<'d>: RefUnwindSafe, <C as ChannelTypes>::Tx<'d>: RefUnwindSafe,

§

impl<'d, T, C, RBUFFER, TBUFFER, M> Send for SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>where M: Send, RBUFFER: Send, T: Send, TBUFFER: Send, <C as ChannelTypes>::Rx<'d>: Send, <C as ChannelTypes>::Tx<'d>: Send,

§

impl<'d, T, C, RBUFFER, TBUFFER, M> Sync for SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>where M: Sync, RBUFFER: Sync, T: Sync, TBUFFER: Sync, <C as ChannelTypes>::Rx<'d>: Sync, <C as ChannelTypes>::Tx<'d>: Sync,

§

impl<'d, T, C, RBUFFER, TBUFFER, M> Unpin for SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>where M: Unpin, RBUFFER: Unpin, T: Unpin, TBUFFER: Unpin, <C as ChannelTypes>::Rx<'d>: Unpin, <C as ChannelTypes>::Tx<'d>: Unpin,

§

impl<'d, T, C, RBUFFER, TBUFFER, M> !UnwindSafe for SpiDmaTransferRxTx<'d, T, C, RBUFFER, TBUFFER, M>

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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 Twhere 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 Twhere 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.