pub trait _embedded_hal_spi_FullDuplex<Word> {
type Error;
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 asend
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.
Associated Types
type Error
type Error
An enumeration of SPI errors
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.
Implementors
impl<C> FullDuplex<<C as AnyConfig>::Word> for Spi<C, Duplex> where
C: ValidConfig,
<C as AnyConfig>::Size: AtomicSize,
<C as AnyConfig>::Word: PrimInt,
<C as AnyConfig>::Word: AsPrimitive<u32>,
u32: AsPrimitive<<C as AnyConfig>::Word>,
impl<C> FullDuplex<<C as AnyConfig>::Word> for Spi<C, Duplex> where
C: ValidConfig,
<C as AnyConfig>::Size: AtomicSize,
<C as AnyConfig>::Word: PrimInt,
<C as AnyConfig>::Word: AsPrimitive<u32>,
u32: AsPrimitive<<C as AnyConfig>::Word>,
Implement spi::FullDuplex
for Spi
structs with AtomicSize
spi::FullDuplex
is only implemented when the Spi
struct has Duplex
Capability
and the transaction Length
is <= 4
bytes. When the
Length
is <= 4
, the Word
is a primitive integer, with a size that
depends on the Length
(u8
, u16
or u32
).