Trait Spi

Source
pub trait Spi {
    // Required methods
    fn init(
        &mut self,
        dev: u32,
        baud: u32,
        mosi: i32,
        miso: i32,
        sck: i32,
        cs: i32,
    ) -> Result<i32, Error>;
    fn deinit(&mut self, handle: i32) -> Result<(), Error>;
    fn read<'a>(&mut self, handle: i32, data: &mut [u8]) -> Result<(), Error>;
    fn write<'a>(&mut self, handle: i32, data: &[u8]) -> Result<(), Error>;
    fn transfer<'a>(
        &mut self,
        handle: i32,
        read: &mut [u8],
        write: &[u8],
    ) -> Result<(), Error>;
    fn transfer_inplace<'a>(
        &mut self,
        handle: i32,
        data: &mut [u8],
    ) -> Result<(), Error>;
}
Expand description

SPI context abstraction.

This hides runtime implementation details to simplify implementing I2C contexts. Hopefully one day generation is improved so we don’t need this any more

Required Methods§

Source

fn init( &mut self, dev: u32, baud: u32, mosi: i32, miso: i32, sck: i32, cs: i32, ) -> Result<i32, Error>

Source

fn deinit(&mut self, handle: i32) -> Result<(), Error>

Source

fn read<'a>(&mut self, handle: i32, data: &mut [u8]) -> Result<(), Error>

Source

fn write<'a>(&mut self, handle: i32, data: &[u8]) -> Result<(), Error>

Source

fn transfer<'a>( &mut self, handle: i32, read: &mut [u8], write: &[u8], ) -> Result<(), Error>

Source

fn transfer_inplace<'a>( &mut self, handle: i32, data: &mut [u8], ) -> Result<(), Error>

Implementors§