Merge pull request #2712 from sgoll/i2c-dev-transaction

Forward transaction() from blocking I2cDevice to underlying bus
This commit is contained in:
Dario Nieuwenhuis 2024-03-20 12:30:20 +00:00 committed by GitHub
commit b8731ab31f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -67,9 +67,11 @@ where
} }
fn transaction<'a>(&mut self, address: u8, operations: &mut [Operation<'a>]) -> Result<(), Self::Error> { fn transaction<'a>(&mut self, address: u8, operations: &mut [Operation<'a>]) -> Result<(), Self::Error> {
let _ = address; self.bus.lock(|bus| {
let _ = operations; bus.borrow_mut()
todo!() .transaction(address, operations)
.map_err(I2cDeviceError::I2c)
})
} }
} }
@ -171,8 +173,10 @@ where
} }
fn transaction<'a>(&mut self, address: u8, operations: &mut [Operation<'a>]) -> Result<(), Self::Error> { fn transaction<'a>(&mut self, address: u8, operations: &mut [Operation<'a>]) -> Result<(), Self::Error> {
let _ = address; self.bus.lock(|bus| {
let _ = operations; let mut bus = bus.borrow_mut();
todo!() bus.set_config(&self.config).map_err(|_| I2cDeviceError::Config)?;
bus.transaction(address, operations).map_err(I2cDeviceError::I2c)
})
} }
} }