pub trait FullDuplex<Word> {
    type Error;

    // Required methods
    fn read(&mut self) -> Result<Word, Error<Self::Error>>;
    fn send(&mut self, word: Word) -> Result<(), Error<Self::Error>>;
}
Expand description

Full duplex (master mode)

Notes

  • It’s the task of the user of this interface to manage the slave select lines

  • Due to how full duplex SPI works each read call must be preceded by a send call.

  • Some SPIs can work with 8-bit and 16-bit words. You can overload this trait with different Word types to allow operation in both modes.

Required Associated Types§

type Error

An enumeration of SPI errors

Required Methods§

fn read(&mut self) -> Result<Word, Error<Self::Error>>

Reads the word stored in the shift register

NOTE A word must be sent to the slave before attempting to call this method.

fn send(&mut self, word: Word) -> Result<(), Error<Self::Error>>

Sends a word to the slave

Implementors§

source§

impl<SPI: SpiRegs, SCK: SpiSck, MISO: SpiMiso, MOSI: SpiMosi> FullDuplex<u8> for Spi<SPI, SCK, MISO, MOSI>

§

type Error = Error