pub trait _embedded_hal_spi_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§

source

type Error

An enumeration of SPI errors

Required Methods§

source

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.

source

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

Sends a word to the slave

Implementations on Foreign Types§

source§

impl<H, SPI, SCLKPIN, MOSIPIN, MISOPIN, CSPIN> FullDuplex<u8> for Spi<H, SPI, SCLKPIN, MOSIPIN, MISOPIN, CSPIN>
where SPI: SpiOps<H, SCLKPIN, MOSIPIN, MISOPIN, CSPIN>, SCLKPIN: PinOps, MOSIPIN: PinOps, MISOPIN: PinOps, CSPIN: PinOps,

FullDuplex trait implementation, allowing this struct to be provided to drivers that require it for operation. Only 8-bit word size is supported for now.

source§

fn send( &mut self, byte: u8 ) -> Result<(), Error<<Spi<H, SPI, SCLKPIN, MOSIPIN, MISOPIN, CSPIN> as FullDuplex<u8>>::Error>>

Sets up the device for transmission and sends the data

source§

fn read( &mut self ) -> Result<u8, Error<<Spi<H, SPI, SCLKPIN, MOSIPIN, MISOPIN, CSPIN> as FullDuplex<u8>>::Error>>

Reads and returns the response in the data register

§

type Error = Infallible

Implementors§