Trait Spi

Source
pub trait Spi<'a> {
    // Required methods
    fn initialize(
        &mut self,
        callback: impl FnMut(Event) + 'a,
    ) -> Result<(), i32>;
    fn uninitialize(&mut self) -> Result<(), i32>;
    fn configure(&mut self, config: &Config) -> Result<(), i32>;
    fn send(&mut self, data: &[u8]) -> Result<(), i32>;
    fn receive(&mut self, data: &mut [u8]) -> Result<(), i32>;
    fn transfer(
        &mut self,
        data_out: &[u8],
        data_in: &mut [u8],
    ) -> Result<(), i32>;
    fn get_data_count(&self) -> u32;
    fn get_status(&self) -> Status;
    fn control_slave_select(&mut self, active: bool) -> Result<(), i32>;
}
Expand description

A trait that defines a standard interface for a SPI driver.

Required Methods§

Source

fn initialize(&mut self, callback: impl FnMut(Event) + 'a) -> Result<(), i32>

Initializes the SPI peripheral.

Source

fn uninitialize(&mut self) -> Result<(), i32>

De-initializes the SPI peripheral.

Source

fn configure(&mut self, config: &Config) -> Result<(), i32>

Configures the SPI peripheral.

Source

fn send(&mut self, data: &[u8]) -> Result<(), i32>

Transmits data over the SPI bus.

Source

fn receive(&mut self, data: &mut [u8]) -> Result<(), i32>

Receives data from the SPI bus.

Source

fn transfer(&mut self, data_out: &[u8], data_in: &mut [u8]) -> Result<(), i32>

Simultaneously sends and receives data.

Source

fn get_data_count(&self) -> u32

Gets the number of bytes transferred in the last transaction.

Source

fn get_status(&self) -> Status

Gets the current status of the SPI peripheral.

Source

fn control_slave_select(&mut self, active: bool) -> Result<(), i32>

Controls the slave select line in software-controlled modes.

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<'a> Spi<'a> for SpiDriver<'a>