35
35
from adafruit_register .i2c_bits import RWBits , ROBits
36
36
from adafruit_register .i2c_bit import RWBit , ROBit
37
37
38
+ try :
39
+ from busio import I2C
40
+ except ImportError :
41
+ pass
42
+
38
43
__version__ = "0.0.0-auto.0"
39
44
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MCP9600.git"
40
45
@@ -202,7 +207,13 @@ class MCP9600:
202
207
203
208
types = ("K" , "J" , "T" , "N" , "S" , "E" , "B" , "R" )
204
209
205
- def __init__ (self , i2c , address = _DEFAULT_ADDRESS , tctype = "K" , tcfilter = 0 ):
210
+ def __init__ (
211
+ self ,
212
+ i2c : I2C ,
213
+ address : int = _DEFAULT_ADDRESS ,
214
+ tctype : str = "K" ,
215
+ tcfilter : int = 0 ,
216
+ ) -> None :
206
217
self .buf = bytearray (3 )
207
218
self .i2c_device = I2CDevice (i2c , address )
208
219
self .type = tctype
@@ -224,14 +235,14 @@ def __init__(self, i2c, address=_DEFAULT_ADDRESS, tctype="K", tcfilter=0):
224
235
def alert_config (
225
236
self ,
226
237
* ,
227
- alert_number ,
228
- alert_temp_source ,
229
- alert_temp_limit ,
230
- alert_hysteresis ,
231
- alert_temp_direction ,
232
- alert_mode ,
233
- alert_state
234
- ):
238
+ alert_number : int ,
239
+ alert_temp_source : int ,
240
+ alert_temp_limit : float ,
241
+ alert_hysteresis : float ,
242
+ alert_temp_direction : int ,
243
+ alert_mode : int ,
244
+ alert_state : int
245
+ ) -> None :
235
246
"""Configure a specified alert pin. Alert is enabled by default when alert is configured.
236
247
To disable an alert pin, use :meth:`alert_disable`.
237
248
@@ -296,7 +307,7 @@ def alert_config(
296
307
setattr (self , "_alert_%d_state" % alert_number , alert_state )
297
308
setattr (self , "_alert_%d_enable" % alert_number , True )
298
309
299
- def alert_disable (self , alert_number ) :
310
+ def alert_disable (self , alert_number : int ) -> None :
300
311
"""Configuring an alert using :meth:`alert_config` enables the specified alert by default.
301
312
Use :meth:`alert_disable` to disable an alert pin.
302
313
@@ -307,7 +318,9 @@ def alert_disable(self, alert_number):
307
318
raise ValueError ("Alert pin number must be 1-4." )
308
319
setattr (self , "_alert_%d_enable" % alert_number , False )
309
320
310
- def alert_interrupt_clear (self , alert_number , interrupt_clear = True ):
321
+ def alert_interrupt_clear (
322
+ self , alert_number : int , interrupt_clear : bool = True
323
+ ) -> None :
311
324
"""Turns off the alert flag in the MCP9600, and clears the pin state (not used if the alert
312
325
is in comparator mode). Required when ``alert_mode`` is ``INTERRUPT``.
313
326
@@ -320,13 +333,13 @@ def alert_interrupt_clear(self, alert_number, interrupt_clear=True):
320
333
setattr (self , "_alert_%d_interrupt_clear" % alert_number , interrupt_clear )
321
334
322
335
@property
323
- def version (self ):
336
+ def version (self ) -> int :
324
337
""" MCP9600 chip version """
325
338
data = self ._read_register (_REGISTER_VERSION , 2 )
326
339
return unpack (">xH" , data )[0 ]
327
340
328
341
@property
329
- def ambient_temperature (self ):
342
+ def ambient_temperature (self ) -> float :
330
343
""" Cold junction/ambient/room temperature in Celsius """
331
344
data = self ._read_register (_REGISTER_COLD_JUNCTION , 2 )
332
345
value = unpack (">xH" , data )[0 ] * 0.0625
@@ -335,7 +348,7 @@ def ambient_temperature(self):
335
348
return value
336
349
337
350
@property
338
- def temperature (self ):
351
+ def temperature (self ) -> float :
339
352
""" Hot junction temperature in Celsius """
340
353
data = self ._read_register (_REGISTER_HOT_JUNCTION , 2 )
341
354
value = unpack (">xH" , data )[0 ] * 0.0625
@@ -344,15 +357,15 @@ def temperature(self):
344
357
return value
345
358
346
359
@property
347
- def delta_temperature (self ):
360
+ def delta_temperature (self ) -> float :
348
361
""" Delta temperature in Celsius """
349
362
data = self ._read_register (_REGISTER_DELTA_TEMP , 2 )
350
363
value = unpack (">xH" , data )[0 ] * 0.0625
351
364
if data [1 ] & 0x80 :
352
365
value -= 4096
353
366
return value
354
367
355
- def _read_register (self , reg , count = 1 ) :
368
+ def _read_register (self , reg : int , count : int = 1 ) -> bytearray :
356
369
self .buf [0 ] = reg
357
370
with self .i2c_device as i2c :
358
371
i2c .write_then_readinto (self .buf , self .buf , out_end = count , in_start = 1 )
0 commit comments