Struct esp32c6_hal::spi::dma::SpiDma
source · pub struct SpiDma<'d, T, TX, RX, P, M>where
TX: Tx,
RX: Rx,
P: SpiPeripheral,
M: DuplexMode,{ /* private fields */ }
Expand description
A DMA capable SPI instance.
Implementations§
source§impl<'d, T, TX, RX, P, M> SpiDma<'d, T, TX, RX, P, M>where
T: InstanceDma<TX, RX>,
TX: Tx,
RX: Rx,
P: SpiPeripheral,
M: IsFullDuplex,
impl<'d, T, TX, RX, P, M> SpiDma<'d, T, TX, RX, P, M>where T: InstanceDma<TX, RX>, TX: Tx, RX: Rx, P: SpiPeripheral, M: IsFullDuplex,
sourcepub fn dma_write<TXBUF>(
self,
words: TXBUF
) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, TXBUF, M>, Error>where
TXBUF: ReadBuffer<Word = u8>,
pub fn dma_write<TXBUF>( self, words: TXBUF ) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, TXBUF, M>, 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<'d, T, TX, RX, P, RXBUF, M>, Error>where
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_read<RXBUF>( self, words: RXBUF ) -> Result<SpiDmaTransfer<'d, T, TX, RX, P, RXBUF, M>, 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<'d, T, TX, RX, P, RXBUF, TXBUF, M>, Error>where
TXBUF: ReadBuffer<Word = u8>,
RXBUF: WriteBuffer<Word = u8>,
pub fn dma_transfer<TXBUF, RXBUF>( self, words: TXBUF, read_buffer: RXBUF ) -> Result<SpiDmaTransferRxTx<'d, T, TX, RX, P, RXBUF, TXBUF, M>, 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.