20
20
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
21
# THE SOFTWARE.
22
22
23
- import ustruct
23
+ try :
24
+ import struct
25
+ except ImportError :
26
+ import ustruct as struct
24
27
25
28
class Struct :
26
29
"""
@@ -34,17 +37,17 @@ class Struct:
34
37
"""
35
38
def __init__ (self , register_address , struct_format ):
36
39
self .format = struct_format
37
- self .buffer = bytearray (1 + ustruct .calcsize (self .format ))
40
+ self .buffer = bytearray (1 + struct .calcsize (self .format ))
38
41
self .buffer [0 ] = register_address
39
42
40
43
def __get__ (self , obj , objtype = None ):
41
44
with obj .i2c_device :
42
45
obj .i2c_device .write (self .buffer , end = 1 , stop = False )
43
46
obj .i2c_device .read_into (self .buffer , start = 1 )
44
- return ustruct .unpack_from (self .format , memoryview (self .buffer )[1 :])
47
+ return struct .unpack_from (self .format , memoryview (self .buffer )[1 :])
45
48
46
49
def __set__ (self , obj , value ):
47
- ustruct .pack_into (self .format , self .buffer , 1 , * value )
50
+ struct .pack_into (self .format , self .buffer , 1 , * value )
48
51
with obj .i2c_device :
49
52
obj .i2c_device .write (self .buffer )
50
53
@@ -60,16 +63,16 @@ class UnaryStruct:
60
63
"""
61
64
def __init__ (self , register_address , struct_format ):
62
65
self .format = struct_format
63
- self .buffer = bytearray (1 + ustruct .calcsize (self .format ))
66
+ self .buffer = bytearray (1 + struct .calcsize (self .format ))
64
67
self .buffer [0 ] = register_address
65
68
66
69
def __get__ (self , obj , objtype = None ):
67
70
with obj .i2c_device :
68
71
obj .i2c_device .write (self .buffer , end = 1 , stop = False )
69
72
obj .i2c_device .read_into (self .buffer , start = 1 )
70
- return ustruct .unpack_from (self .format , memoryview (self .buffer )[1 :])[0 ]
73
+ return struct .unpack_from (self .format , memoryview (self .buffer )[1 :])[0 ]
71
74
72
75
def __set__ (self , obj , value ):
73
- ustruct .pack_into (self .format , self .buffer , 1 , value )
76
+ struct .pack_into (self .format , self .buffer , 1 , value )
74
77
with obj .i2c_device :
75
78
obj .i2c_device .write (self .buffer )
0 commit comments