stm32f4xx_hal/i2c/
hal_02.rs1mod blocking {
2 use super::super::{Error, I2c, Instance};
3 use embedded_hal_02::blocking::i2c::{Operation, Read, Transactional, Write, WriteRead};
4
5 impl<I2C: Instance> WriteRead for I2c<I2C> {
6 type Error = Error;
7
8 fn write_read(
9 &mut self,
10 addr: u8,
11 bytes: &[u8],
12 buffer: &mut [u8],
13 ) -> Result<(), Self::Error> {
14 self.write_read(addr, bytes, buffer)
15 }
16 }
17
18 impl<I2C: Instance> Write for I2c<I2C> {
19 type Error = Error;
20
21 fn write(&mut self, addr: u8, bytes: &[u8]) -> Result<(), Self::Error> {
22 self.write(addr, bytes)
23 }
24 }
25
26 impl<I2C: Instance> Read for I2c<I2C> {
27 type Error = Error;
28
29 fn read(&mut self, addr: u8, buffer: &mut [u8]) -> Result<(), Self::Error> {
30 self.read(addr, buffer)
31 }
32 }
33
34 impl<I2C: Instance> Transactional for I2c<I2C> {
35 type Error = Error;
36
37 fn exec(
38 &mut self,
39 address: u8,
40 operations: &mut [Operation<'_>],
41 ) -> Result<(), Self::Error> {
42 self.transaction_slice_hal_02(address, operations)
43 }
44 }
45}