pub struct I2cDevice<I2C> {
pub i2c: I2C,
pub address: u8,
}Expand description
Helper struct for I2C operations.
Fields§
§i2c: I2CThe I2C bus.
address: u8The device address.
Implementations§
Source§impl<I2C, E> I2cDevice<I2C>where
I2C: I2c<Error = E>,
impl<I2C, E> I2cDevice<I2C>where
I2C: I2c<Error = E>,
Sourcepub fn write_read(&mut self, write: &[u8], read: &mut [u8]) -> Result<(), E>
pub fn write_read(&mut self, write: &[u8], read: &mut [u8]) -> Result<(), E>
Write bytes and then read bytes (Repeated Start).
Sourcepub fn write_reg(&mut self, reg: u8, value: u8) -> Result<(), E>
pub fn write_reg(&mut self, reg: u8, value: u8) -> Result<(), E>
Write a byte to an 8-bit register.
Sourcepub fn read_regs(&mut self, reg: u8, buf: &mut [u8]) -> Result<(), E>
pub fn read_regs(&mut self, reg: u8, buf: &mut [u8]) -> Result<(), E>
Read multiple bytes starting from an 8-bit register.
Sourcepub fn write_reg16_u8(&mut self, reg: u16, value: u8) -> Result<(), E>
pub fn write_reg16_u8(&mut self, reg: u16, value: u8) -> Result<(), E>
Write a byte to a 16-bit register (Big Endian address).
Sourcepub fn write_reg16_u16(&mut self, reg: u16, value: u16) -> Result<(), E>
pub fn write_reg16_u16(&mut self, reg: u16, value: u16) -> Result<(), E>
Write a 16-bit value to a 16-bit register (Big Endian address and value).
Sourcepub fn write_reg16_u32(&mut self, reg: u16, value: u32) -> Result<(), E>
pub fn write_reg16_u32(&mut self, reg: u16, value: u32) -> Result<(), E>
Write a 32-bit value to a 16-bit register (Big Endian address and value).
Sourcepub fn read_reg16_u8(&mut self, reg: u16) -> Result<u8, E>
pub fn read_reg16_u8(&mut self, reg: u16) -> Result<u8, E>
Read a byte from a 16-bit register (Big Endian address).
Sourcepub fn read_reg16_u16(&mut self, reg: u16) -> Result<u16, E>
pub fn read_reg16_u16(&mut self, reg: u16) -> Result<u16, E>
Read a 16-bit value from a 16-bit register (Big Endian address and value).
Auto Trait Implementations§
impl<I2C> Freeze for I2cDevice<I2C>where
I2C: Freeze,
impl<I2C> RefUnwindSafe for I2cDevice<I2C>where
I2C: RefUnwindSafe,
impl<I2C> Send for I2cDevice<I2C>where
I2C: Send,
impl<I2C> Sync for I2cDevice<I2C>where
I2C: Sync,
impl<I2C> Unpin for I2cDevice<I2C>where
I2C: Unpin,
impl<I2C> UnwindSafe for I2cDevice<I2C>where
I2C: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more