@@ -4,20 +4,20 @@ impl<I2C: super::Instance> embedded_hal::i2c::ErrorType for super::I2c<I2C> {
4
4
5
5
mod blocking {
6
6
use super :: super :: { I2c , Instance } ;
7
- use embedded_hal:: i2c:: Operation ;
7
+ use embedded_hal:: i2c:: { Operation , SevenBitAddress , TenBitAddress } ;
8
8
9
9
impl < I2C : Instance > embedded_hal:: i2c:: I2c for I2c < I2C > {
10
- fn read ( & mut self , addr : u8 , buffer : & mut [ u8 ] ) -> Result < ( ) , Self :: Error > {
10
+ fn read ( & mut self , addr : SevenBitAddress , buffer : & mut [ u8 ] ) -> Result < ( ) , Self :: Error > {
11
11
self . read ( addr, buffer)
12
12
}
13
13
14
- fn write ( & mut self , addr : u8 , bytes : & [ u8 ] ) -> Result < ( ) , Self :: Error > {
14
+ fn write ( & mut self , addr : SevenBitAddress , bytes : & [ u8 ] ) -> Result < ( ) , Self :: Error > {
15
15
self . write ( addr, bytes)
16
16
}
17
17
18
18
fn write_read (
19
19
& mut self ,
20
- addr : u8 ,
20
+ addr : SevenBitAddress ,
21
21
bytes : & [ u8 ] ,
22
22
buffer : & mut [ u8 ] ,
23
23
) -> Result < ( ) , Self :: Error > {
@@ -26,7 +26,34 @@ mod blocking {
26
26
27
27
fn transaction (
28
28
& mut self ,
29
- addr : u8 ,
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 ,
30
57
operations : & mut [ Operation < ' _ > ] ,
31
58
) -> Result < ( ) , Self :: Error > {
32
59
self . transaction_slice ( addr, operations)
0 commit comments