stm32f4xx_hal/i2c/
hal_1.rs

1impl<I2C: super::Instance> embedded_hal::i2c::ErrorType for super::I2c<I2C> {
2    type Error = super::Error;
3}
4
5mod blocking {
6    use super::super::{I2c, Instance};
7    use embedded_hal::i2c::{Operation, SevenBitAddress, TenBitAddress};
8
9    impl<I2C: Instance> embedded_hal::i2c::I2c for I2c<I2C> {
10        fn read(&mut self, addr: SevenBitAddress, buffer: &mut [u8]) -> Result<(), Self::Error> {
11            self.read(addr, buffer)
12        }
13
14        fn write(&mut self, addr: SevenBitAddress, bytes: &[u8]) -> Result<(), Self::Error> {
15            self.write(addr, bytes)
16        }
17
18        fn write_read(
19            &mut self,
20            addr: SevenBitAddress,
21            bytes: &[u8],
22            buffer: &mut [u8],
23        ) -> Result<(), Self::Error> {
24            self.write_read(addr, bytes, buffer)
25        }
26
27        fn transaction(
28            &mut self,
29            addr: SevenBitAddress,
30            operations: &mut [Operation<'_>],
31        ) -> Result<(), Self::Error> {
32            self.transaction_slice(addr, operations)
33        }
34    }
35
36    impl<I2C: Instance> embedded_hal::i2c::I2c<TenBitAddress> for I2c<I2C> {
37        fn read(&mut self, addr: TenBitAddress, buffer: &mut [u8]) -> Result<(), Self::Error> {
38            self.read(addr, buffer)
39        }
40
41        fn write(&mut self, addr: TenBitAddress, bytes: &[u8]) -> Result<(), Self::Error> {
42            self.write(addr, bytes)
43        }
44
45        fn write_read(
46            &mut self,
47            addr: TenBitAddress,
48            bytes: &[u8],
49            buffer: &mut [u8],
50        ) -> Result<(), Self::Error> {
51            self.write_read(addr, bytes, buffer)
52        }
53
54        fn transaction(
55            &mut self,
56            addr: TenBitAddress,
57            operations: &mut [Operation<'_>],
58        ) -> Result<(), Self::Error> {
59            self.transaction_slice(addr, operations)
60        }
61    }
62}