Skip to content

Commit 43a73d2

Browse files
committed
adds Type Annotations to address Issue #17
1 parent f30dc47 commit 43a73d2

File tree

1 file changed

+29
-16
lines changed

1 file changed

+29
-16
lines changed

adafruit_mcp9600.py

+29-16
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
from adafruit_register.i2c_bits import RWBits, ROBits
3636
from adafruit_register.i2c_bit import RWBit, ROBit
3737

38+
try:
39+
from busio import I2C
40+
except ImportError:
41+
pass
42+
3843
__version__ = "0.0.0-auto.0"
3944
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MCP9600.git"
4045

@@ -202,7 +207,13 @@ class MCP9600:
202207

203208
types = ("K", "J", "T", "N", "S", "E", "B", "R")
204209

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:
206217
self.buf = bytearray(3)
207218
self.i2c_device = I2CDevice(i2c, address)
208219
self.type = tctype
@@ -224,14 +235,14 @@ def __init__(self, i2c, address=_DEFAULT_ADDRESS, tctype="K", tcfilter=0):
224235
def alert_config(
225236
self,
226237
*,
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:
235246
"""Configure a specified alert pin. Alert is enabled by default when alert is configured.
236247
To disable an alert pin, use :meth:`alert_disable`.
237248
@@ -296,7 +307,7 @@ def alert_config(
296307
setattr(self, "_alert_%d_state" % alert_number, alert_state)
297308
setattr(self, "_alert_%d_enable" % alert_number, True)
298309

299-
def alert_disable(self, alert_number):
310+
def alert_disable(self, alert_number: int) -> None:
300311
"""Configuring an alert using :meth:`alert_config` enables the specified alert by default.
301312
Use :meth:`alert_disable` to disable an alert pin.
302313
@@ -307,7 +318,9 @@ def alert_disable(self, alert_number):
307318
raise ValueError("Alert pin number must be 1-4.")
308319
setattr(self, "_alert_%d_enable" % alert_number, False)
309320

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:
311324
"""Turns off the alert flag in the MCP9600, and clears the pin state (not used if the alert
312325
is in comparator mode). Required when ``alert_mode`` is ``INTERRUPT``.
313326
@@ -320,13 +333,13 @@ def alert_interrupt_clear(self, alert_number, interrupt_clear=True):
320333
setattr(self, "_alert_%d_interrupt_clear" % alert_number, interrupt_clear)
321334

322335
@property
323-
def version(self):
336+
def version(self) -> int:
324337
""" MCP9600 chip version """
325338
data = self._read_register(_REGISTER_VERSION, 2)
326339
return unpack(">xH", data)[0]
327340

328341
@property
329-
def ambient_temperature(self):
342+
def ambient_temperature(self) -> float:
330343
""" Cold junction/ambient/room temperature in Celsius """
331344
data = self._read_register(_REGISTER_COLD_JUNCTION, 2)
332345
value = unpack(">xH", data)[0] * 0.0625
@@ -335,7 +348,7 @@ def ambient_temperature(self):
335348
return value
336349

337350
@property
338-
def temperature(self):
351+
def temperature(self) -> float:
339352
""" Hot junction temperature in Celsius """
340353
data = self._read_register(_REGISTER_HOT_JUNCTION, 2)
341354
value = unpack(">xH", data)[0] * 0.0625
@@ -344,15 +357,15 @@ def temperature(self):
344357
return value
345358

346359
@property
347-
def delta_temperature(self):
360+
def delta_temperature(self) -> float:
348361
""" Delta temperature in Celsius """
349362
data = self._read_register(_REGISTER_DELTA_TEMP, 2)
350363
value = unpack(">xH", data)[0] * 0.0625
351364
if data[1] & 0x80:
352365
value -= 4096
353366
return value
354367

355-
def _read_register(self, reg, count=1):
368+
def _read_register(self, reg: int, count: int = 1) -> bytearray:
356369
self.buf[0] = reg
357370
with self.i2c_device as i2c:
358371
i2c.write_then_readinto(self.buf, self.buf, out_end=count, in_start=1)

0 commit comments

Comments
 (0)