pub trait Expander<I2C>where
I2C: I2c,{
// Required methods
fn write_byte(
&mut self,
register: Register,
data: u8,
) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>;
fn read_byte(
&mut self,
register: Register,
buffer: &mut u8,
) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>;
fn write_halfword(
&mut self,
register: Register,
data: u16,
) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>;
fn read_halfword(
&mut self,
register: Register,
buffer: &mut u16,
) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>;
}Expand description
Trait for standard IO expanders which are not Sync
Required Methods§
fn write_byte( &mut self, register: Register, data: u8, ) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>
fn read_byte( &mut self, register: Register, buffer: &mut u8, ) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>
fn write_halfword( &mut self, register: Register, data: u16, ) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>
fn read_halfword( &mut self, register: Register, buffer: &mut u16, ) -> Result<(), ExpanderError<<I2C as ErrorType>::Error>>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".