Trait InstanceDma

Source
pub trait InstanceDma<TX, RX>: Instance
where TX: Tx, RX: Rx,
{ // Provided methods fn transfer_in_place_dma<'w>( &mut self, words: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error> { ... } fn transfer_dma<'w>( &mut self, write_buffer: &'w [u8], read_buffer: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error> { ... } fn start_transfer_dma<'w>( &mut self, write_buffer_ptr: *const u8, write_buffer_len: usize, read_buffer_ptr: *mut u8, read_buffer_len: usize, tx: &mut TX, rx: &mut RX, listen: bool, ) -> Result<(), Error> { ... } fn write_bytes_dma<'w>( &mut self, words: &'w [u8], tx: &mut TX, ) -> Result<&'w [u8], Error> { ... } fn start_write_bytes_dma<'w>( &mut self, ptr: *const u8, len: usize, tx: &mut TX, listen: bool, ) -> Result<(), Error> { ... } fn start_read_bytes_dma<'w>( &mut self, ptr: *mut u8, len: usize, rx: &mut RX, listen: bool, ) -> Result<(), Error> { ... } fn dma_peripheral(&self) -> DmaPeripheral { ... } fn enable_dma(&self) { ... } fn clear_dma_interrupts(&self) { ... } }

Provided Methods§

Source

fn transfer_in_place_dma<'w>( &mut self, words: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error>

Source

fn transfer_dma<'w>( &mut self, write_buffer: &'w [u8], read_buffer: &'w mut [u8], tx: &mut TX, rx: &mut RX, ) -> Result<&'w [u8], Error>

Source

fn start_transfer_dma<'w>( &mut self, write_buffer_ptr: *const u8, write_buffer_len: usize, read_buffer_ptr: *mut u8, read_buffer_len: usize, tx: &mut TX, rx: &mut RX, listen: bool, ) -> Result<(), Error>

Source

fn write_bytes_dma<'w>( &mut self, words: &'w [u8], tx: &mut TX, ) -> Result<&'w [u8], Error>

Source

fn start_write_bytes_dma<'w>( &mut self, ptr: *const u8, len: usize, tx: &mut TX, listen: bool, ) -> Result<(), Error>

Source

fn start_read_bytes_dma<'w>( &mut self, ptr: *mut u8, len: usize, rx: &mut RX, listen: bool, ) -> Result<(), Error>

Source

fn dma_peripheral(&self) -> DmaPeripheral

Source

fn enable_dma(&self)

Source

fn clear_dma_interrupts(&self)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<TX, RX> InstanceDma<TX, RX> for SPI2
where TX: Tx, RX: Rx,