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§
Sourcefn initialize(&mut self, callback: impl FnMut(Event) + 'a) -> Result<(), i32>
fn initialize(&mut self, callback: impl FnMut(Event) + 'a) -> Result<(), i32>
Initializes the SPI peripheral.
Sourcefn uninitialize(&mut self) -> Result<(), i32>
fn uninitialize(&mut self) -> Result<(), i32>
De-initializes the SPI peripheral.
Sourcefn transfer(&mut self, data_out: &[u8], data_in: &mut [u8]) -> Result<(), i32>
fn transfer(&mut self, data_out: &[u8], data_in: &mut [u8]) -> Result<(), i32>
Simultaneously sends and receives data.
Sourcefn get_data_count(&self) -> u32
fn get_data_count(&self) -> u32
Gets the number of bytes transferred in the last transaction.
Sourcefn get_status(&self) -> Status
fn get_status(&self) -> Status
Gets the current status of the SPI peripheral.
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.