use crate::traits::I2cTransport;
use rppal::i2c::I2c;
impl I2cTransport for I2c {
type Error = rppal::i2c::Error;
fn write(&mut self, addr: &[u8; 2], bytes: &[u8]) -> Result<(), Self::Error> {
let mut buff: Vec<u8> = Vec::from(addr);
buff.extend_from_slice(bytes);
self.write(buff.as_slice())?;
Ok(())
}
fn read(&mut self, addr: &[u8; 2], buffer: &mut [u8]) -> Result<(), Self::Error> {
self.write(addr)?;
self.read(buffer)?;
Ok(())
}
}