33
33
from adafruit_register .i2c_struct_array import StructArray
34
34
from adafruit_register .i2c_bit import RWBit
35
35
36
+ try :
37
+ import typing # pylint: disable=unused-import
38
+ from busio import I2C
39
+ except ImportError :
40
+ pass
36
41
37
42
_DS1841_IVR = 0x00
38
43
_DS1841_CR0 = 0x02
@@ -72,7 +77,7 @@ class DS1841:
72
77
73
78
_lut = StructArray (_DS1841_LUT , ">B" , 72 )
74
79
75
- def __init__ (self , i2c_bus , address = _DS1841_DEFAULT_ADDRESS ):
80
+ def __init__ (self , i2c_bus : I2C , address : int = _DS1841_DEFAULT_ADDRESS ) -> None :
76
81
self .i2c_device = i2c_device .I2CDevice (i2c_bus , address )
77
82
78
83
self ._disable_save_to_eeprom = True # turn off eeprom updates to IV and CR0
@@ -85,28 +90,28 @@ def __init__(self, i2c_bus, address=_DS1841_DEFAULT_ADDRESS):
85
90
self ._update_mode = True
86
91
87
92
@property
88
- def wiper (self ):
93
+ def wiper (self ) -> int :
89
94
"""The value of the potentionmeter's wiper.
90
95
:param wiper_value: The value from 0-127 to set the wiper to.
91
96
"""
92
97
return self ._wiper_register
93
98
94
99
@wiper .setter
95
- def wiper (self , value ) :
100
+ def wiper (self , value : int ) -> None :
96
101
if value > 127 :
97
102
raise AttributeError ("wiper must be from 0-127" )
98
103
self ._wiper_register = value
99
104
100
105
@property
101
- def wiper_default (self ):
106
+ def wiper_default (self ) -> int :
102
107
"""Sets the wiper's default value and current value to the given value
103
108
:param new_default: The value from 0-127 to set as the wiper's default.
104
109
"""
105
110
106
111
return self ._initial_value_register
107
112
108
113
@wiper_default .setter
109
- def wiper_default (self , value ) :
114
+ def wiper_default (self , value : int ) -> None :
110
115
if value > 127 :
111
116
raise AttributeError ("initial_value must be from 0-127" )
112
117
self ._disable_save_to_eeprom = False
@@ -122,32 +127,32 @@ def wiper_default(self, value):
122
127
self ._update_mode = True
123
128
124
129
@property
125
- def temperature (self ):
126
- """The current temperature in degrees celcius """
130
+ def temperature (self ) -> int :
131
+ """The current temperature in degrees celsius """
127
132
return self ._temperature_register
128
133
129
134
@property
130
- def voltage (self ):
135
+ def voltage (self ) -> float :
131
136
"""The current voltage between VCC and GND"""
132
137
return self ._voltage_register * _DS1841_VCC_LSB
133
138
134
139
######## LUTS on LUTS on LUTS
135
140
@property
136
- def lut_mode_enabled (self ):
141
+ def lut_mode_enabled (self ) -> bool :
137
142
"""Enables LUT mode. LUT mode takes sets the value of the Wiper based on the entry in a
138
143
72-entry Look Up Table. The LUT entry is selected using the `lut_selection`
139
144
property to set an index from 0-71
140
145
"""
141
146
return self ._lut_mode_enabled
142
147
143
148
@lut_mode_enabled .setter
144
- def lut_mode_enabled (self , value ) :
149
+ def lut_mode_enabled (self , value : bool ) -> None :
145
150
self ._manual_lut_address = value
146
151
self ._update_mode = True
147
152
self ._manual_wiper_value = not value
148
153
self ._lut_mode_enabled = value
149
154
150
- def set_lut (self , index , value ) :
155
+ def set_lut (self , index : int , value : int ) -> None :
151
156
"""Set the value of an entry in the Look Up Table.
152
157
:param index: The index of the entry to set, from 0-71.
153
158
:param value: The value to set at the given index. The `wiper` will be set to this
@@ -160,7 +165,7 @@ def set_lut(self, index, value):
160
165
sleep (0.020 )
161
166
162
167
@property
163
- def lut_selection (self ):
168
+ def lut_selection (self ) -> int :
164
169
"""Choose the entry in the Look Up Table to use to set the wiper.
165
170
:param index: The index of the entry to use, from 0-71.
166
171
"""
@@ -171,7 +176,7 @@ def lut_selection(self):
171
176
return self ._lut_address - _DS1841_LUT
172
177
173
178
@lut_selection .setter
174
- def lut_selection (self , value ) :
179
+ def lut_selection (self , value : int ) -> None :
175
180
if value > 71 or value < 0 :
176
181
raise IndexError ("lut_selection value must be from 0-71" )
177
182
self ._lut_address = value + _DS1841_LUT
0 commit comments