stm32f4xx_hal/i2c/
hal_1.rs1impl<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}