From 9f5820da1d36a8c84455b1bc0458d34eb7dd9a70 Mon Sep 17 00:00:00 2001 From: Andres Vahter Date: Tue, 28 Nov 2023 10:36:39 +0200 Subject: rtic-sync Arbiter: impl more I2C trait fns For example embassy-stm32 I2C does not impl transaction yet but other fns are available. So it would be better to impl all of them here. --- rtic-sync/src/arbiter.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'rtic-sync/src') diff --git a/rtic-sync/src/arbiter.rs b/rtic-sync/src/arbiter.rs index 615a7ed..99d4174 100644 --- a/rtic-sync/src/arbiter.rs +++ b/rtic-sync/src/arbiter.rs @@ -352,6 +352,26 @@ pub mod i2c { BUS: I2c, A: AddressMode, { + async fn read(&mut self, address: A, read: &mut [u8]) -> Result<(), Self::Error> { + let mut bus = self.bus.access().await; + bus.read(address, read).await + } + + async fn write(&mut self, address: A, write: &[u8]) -> Result<(), Self::Error> { + let mut bus = self.bus.access().await; + bus.write(address, write).await + } + + async fn write_read( + &mut self, + address: A, + write: &[u8], + read: &mut [u8], + ) -> Result<(), Self::Error> { + let mut bus = self.bus.access().await; + bus.write_read(address, write, read).await + } + async fn transaction( &mut self, address: A, -- cgit v1.2.3