3
3
# SPDX-License-Identifier: MIT
4
4
from machine import I2C
5
5
from micropython import const
6
+ import time
6
7
7
8
try :
8
9
from typing import overload , Sequence
@@ -87,6 +88,7 @@ def readfrom_into(self, addr: int, buf: AnyWritableBuf, stop: bool = True) -> No
87
88
def writeto (self , addr : int , buf : AnyReadableBuf , stop : bool = True ) -> int :
88
89
self .select_channel (self ._chn )
89
90
result = self ._i2c .writeto (addr , buf , stop )
91
+ time .sleep_ms (100 )
90
92
self .release_channel (self ._chn )
91
93
return result
92
94
@@ -96,18 +98,20 @@ def writevto(self, addr: int, vector: Sequence[AnyReadableBuf], stop: bool = Tru
96
98
self .release_channel (self ._chn )
97
99
return result
98
100
99
- def readfrom_mem (self , addr : int , memaddr : int , nbytes : int ) -> bytes :
101
+ def readfrom_mem (self , addr : int , memaddr : int , nbytes : int , addrsize : int = 8 ) -> bytes :
100
102
self .select_channel (self ._chn )
101
- result = self ._i2c .readfrom_mem (addr , memaddr , nbytes )
103
+ result = self ._i2c .readfrom_mem (addr , memaddr , nbytes , addrsize = addrsize )
102
104
self .release_channel (self ._chn )
103
105
return result
104
106
105
- def readfrom_mem_into (self , addr : int , memaddr : int , buf : AnyWritableBuf ) -> None :
107
+ def readfrom_mem_into (
108
+ self , addr : int , memaddr : int , buf : AnyWritableBuf , addrsize : int = 8
109
+ ) -> None :
106
110
self .select_channel (self ._chn )
107
- self ._i2c .readfrom_mem_into (addr , memaddr , buf )
111
+ self ._i2c .readfrom_mem_into (addr , memaddr , buf , addrsize = addrsize )
108
112
self .release_channel (self ._chn )
109
113
110
- def writeto_mem (self , addr : int , memaddr : int , buf : AnyReadableBuf ) -> None :
114
+ def writeto_mem (self , addr : int , memaddr : int , buf : AnyReadableBuf , addrsize : int = 8 ) -> None :
111
115
self .select_channel (self ._chn )
112
- self ._i2c .writeto_mem (addr , memaddr , buf )
116
+ self ._i2c .writeto_mem (addr , memaddr , buf , addrsize = addrsize )
113
117
self .release_channel (self ._chn )
0 commit comments