pub trait FullDuplex<Word: Copy = u8>: ErrorType {
    fn read(&mut self) -> Result<Word, Self::Error>;
    fn write(&mut self, word: Word) -> Result<(), 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 write call.

  • read calls only return the data received with the last write call. Previously received data is discarded

  • Data is only guaranteed to be clocked out when the read call succeeds. The slave select line shouldn’t be released before that.

  • 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 Methods

Reads the word stored in the shift register

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

Writes a word to the slave

Implementations on Foreign Types

Implementors