3535from adafruit_register .i2c_bits import RWBits , ROBits
3636from adafruit_register .i2c_bit import RWBit , ROBit
3737
38+ try :
39+ # Used only for typing
40+ import typing # pylint: disable=unused-import
41+ from busio import I2C
42+ except ImportError :
43+ pass
44+
3845__version__ = "0.0.0-auto.0"
3946__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MCP9600.git"
4047
@@ -202,7 +209,13 @@ class MCP9600:
202209
203210 types = ("K" , "J" , "T" , "N" , "S" , "E" , "B" , "R" )
204211
205- def __init__ (self , i2c , address = _DEFAULT_ADDRESS , tctype = "K" , tcfilter = 0 ):
212+ def __init__ (
213+ self ,
214+ i2c : I2C ,
215+ address : int = _DEFAULT_ADDRESS ,
216+ tctype : str = "K" ,
217+ tcfilter : int = 0 ,
218+ ) -> None :
206219 self .buf = bytearray (3 )
207220 self .i2c_device = I2CDevice (i2c , address )
208221 self .type = tctype
@@ -224,14 +237,14 @@ def __init__(self, i2c, address=_DEFAULT_ADDRESS, tctype="K", tcfilter=0):
224237 def alert_config (
225238 self ,
226239 * ,
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- ):
240+ alert_number : int ,
241+ alert_temp_source : int ,
242+ alert_temp_limit : float ,
243+ alert_hysteresis : float ,
244+ alert_temp_direction : int ,
245+ alert_mode : int ,
246+ alert_state : int
247+ ) -> None :
235248 """Configure a specified alert pin. Alert is enabled by default when alert is configured.
236249 To disable an alert pin, use :meth:`alert_disable`.
237250
@@ -296,7 +309,7 @@ def alert_config(
296309 setattr (self , "_alert_%d_state" % alert_number , alert_state )
297310 setattr (self , "_alert_%d_enable" % alert_number , True )
298311
299- def alert_disable (self , alert_number ) :
312+ def alert_disable (self , alert_number : int ) -> None :
300313 """Configuring an alert using :meth:`alert_config` enables the specified alert by default.
301314 Use :meth:`alert_disable` to disable an alert pin.
302315
@@ -307,7 +320,9 @@ def alert_disable(self, alert_number):
307320 raise ValueError ("Alert pin number must be 1-4." )
308321 setattr (self , "_alert_%d_enable" % alert_number , False )
309322
310- def alert_interrupt_clear (self , alert_number , interrupt_clear = True ):
323+ def alert_interrupt_clear (
324+ self , alert_number : int , interrupt_clear : bool = True
325+ ) -> None :
311326 """Turns off the alert flag in the MCP9600, and clears the pin state (not used if the alert
312327 is in comparator mode). Required when ``alert_mode`` is ``INTERRUPT``.
313328
@@ -320,13 +335,13 @@ def alert_interrupt_clear(self, alert_number, interrupt_clear=True):
320335 setattr (self , "_alert_%d_interrupt_clear" % alert_number , interrupt_clear )
321336
322337 @property
323- def version (self ):
338+ def version (self ) -> int :
324339 """ MCP9600 chip version """
325340 data = self ._read_register (_REGISTER_VERSION , 2 )
326341 return unpack (">xH" , data )[0 ]
327342
328343 @property
329- def ambient_temperature (self ):
344+ def ambient_temperature (self ) -> float :
330345 """ Cold junction/ambient/room temperature in Celsius """
331346 data = self ._read_register (_REGISTER_COLD_JUNCTION , 2 )
332347 value = unpack (">xH" , data )[0 ] * 0.0625
@@ -335,7 +350,7 @@ def ambient_temperature(self):
335350 return value
336351
337352 @property
338- def temperature (self ):
353+ def temperature (self ) -> float :
339354 """ Hot junction temperature in Celsius """
340355 data = self ._read_register (_REGISTER_HOT_JUNCTION , 2 )
341356 value = unpack (">xH" , data )[0 ] * 0.0625
@@ -344,15 +359,15 @@ def temperature(self):
344359 return value
345360
346361 @property
347- def delta_temperature (self ):
362+ def delta_temperature (self ) -> float :
348363 """ Delta temperature in Celsius """
349364 data = self ._read_register (_REGISTER_DELTA_TEMP , 2 )
350365 value = unpack (">xH" , data )[0 ] * 0.0625
351366 if data [1 ] & 0x80 :
352367 value -= 4096
353368 return value
354369
355- def _read_register (self , reg , count = 1 ) :
370+ def _read_register (self , reg : int , count : int = 1 ) -> bytearray :
356371 self .buf [0 ] = reg
357372 with self .i2c_device as i2c :
358373 i2c .write_then_readinto (self .buf , self .buf , out_end = count , in_start = 1 )
0 commit comments