Struct esp32c2_hal::spi::dma::SpiDma
source · pub struct SpiDma<T, TX, RX, P>where
TX: Tx,
RX: Rx,
P: SpiPeripheral,{ /* private fields */ }
Expand description
A DMA capable SPI instance.
Implementations
sourceimpl<T, TX, RX, P> SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<T, TX, RX, P> SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
sourcepub fn dma_write<TXBUF>(
self,
words: TXBUF
) -> Result<SpiDmaTransfer<T, TX, RX, P, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
pub fn dma_write<TXBUF>(
self,
words: TXBUF
) -> Result<SpiDmaTransfer<T, TX, RX, P, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
Perform a DMA write.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be sent is 32736 bytes.
sourcepub fn dma_read<RXBUF>(
self,
words: RXBUF
) -> Result<SpiDmaTransfer<T, TX, RX, P, RXBUF>, Error>where
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_read<RXBUF>(
self,
words: RXBUF
) -> Result<SpiDmaTransfer<T, TX, RX, P, RXBUF>, Error>where
RXBUF: WriteBuffer<Word = u8>,
Perform a DMA read.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be received is 32736 bytes.
sourcepub fn dma_transfer<TXBUF, RXBUF>(
self,
words: TXBUF,
read_buffer: RXBUF
) -> Result<SpiDmaTransferRxTx<T, TX, RX, P, RXBUF, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_transfer<TXBUF, RXBUF>(
self,
words: TXBUF,
read_buffer: RXBUF
) -> Result<SpiDmaTransferRxTx<T, TX, RX, P, RXBUF, TXBUF>, Error>where
TXBUF: ReadBuffer<Word = u8>,
RXBUF: WriteBuffer<Word = u8>,
Perform a DMA transfer.
This will return a SpiDmaTransfer owning the buffer(s) and the SPI instance. The maximum amount of data to be sent/received is 32736 bytes.
Trait Implementations
sourceimpl<T, TX, RX, P, BUFFER> DmaTransfer<BUFFER, SpiDma<T, TX, RX, P>> for SpiDmaTransfer<T, TX, RX, P, BUFFER>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<T, TX, RX, P, BUFFER> DmaTransfer<BUFFER, SpiDma<T, TX, RX, P>> for SpiDmaTransfer<T, TX, RX, P, BUFFER>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
sourceimpl<T, TX, RX, P, RXBUF, TXBUF> DmaTransferRxTx<RXBUF, TXBUF, SpiDma<T, TX, RX, P>> for SpiDmaTransferRxTx<T, TX, RX, P, RXBUF, TXBUF>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<T, TX, RX, P, RXBUF, TXBUF> DmaTransferRxTx<RXBUF, TXBUF, SpiDma<T, TX, RX, P>> for SpiDmaTransferRxTx<T, TX, RX, P, RXBUF, TXBUF>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
sourceimpl<T, TX, RX, P> Transfer<u8> for SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<T, TX, RX, P> Transfer<u8> for SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
sourceimpl<T, TX, RX, P> Write<u8> for SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
impl<T, TX, RX, P> Write<u8> for SpiDma<T, TX, RX, P>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
Auto Trait Implementations
impl<T, TX, RX, P> RefUnwindSafe for SpiDma<T, TX, RX, P>where
P: RefUnwindSafe,
RX: RefUnwindSafe,
T: RefUnwindSafe,
TX: RefUnwindSafe,
impl<T, TX, RX, P> Send for SpiDma<T, TX, RX, P>where
P: Send,
RX: Send,
T: Send,
TX: Send,
impl<T, TX, RX, P> Sync for SpiDma<T, TX, RX, P>where
P: Sync,
RX: Sync,
T: Sync,
TX: Sync,
impl<T, TX, RX, P> Unpin for SpiDma<T, TX, RX, P>where
P: Unpin,
RX: Unpin,
T: Unpin,
TX: Unpin,
impl<T, TX, RX, P> UnwindSafe for SpiDma<T, TX, RX, P>where
P: UnwindSafe,
RX: UnwindSafe,
T: UnwindSafe,
TX: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more