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> {
let _ = address;
let _ = operations;
todo!()
self.bus.lock(|bus| {
bus.borrow_mut()
.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> {
let _ = address;
let _ = operations;
todo!()
self.bus.lock(|bus| {
let mut bus = bus.borrow_mut();
bus.set_config(&self.config).map_err(|_| I2cDeviceError::Config)?;
bus.transaction(address, operations).map_err(I2cDeviceError::I2c)
})
}
}