diff --git a/adafruit_us100.py b/adafruit_us100.py index 0ee2f1a..9a8adee 100644 --- a/adafruit_us100.py +++ b/adafruit_us100.py @@ -25,15 +25,21 @@ import time +try: + from typing import Optional + from busio import UART +except ImportError: + pass + class US100: """Control a US-100 ultrasonic range sensor.""" - def __init__(self, uart): + def __init__(self, uart: UART) -> None: self._uart = uart @property - def distance(self): + def distance(self) -> Optional[float]: """Return the distance measured by the sensor in cm. This is the function that will be called most often in user code. If no signal is received, return ``None``. This can happen when the @@ -45,7 +51,7 @@ def distance(self): for the sensor to handle. In my experience, the sensor can not detect objects over 460 cm away. :return: Distance in centimeters. - :rtype: float + :rtype: float or None """ for _ in range(2): # Attempt to read twice. self._uart.write(bytes([0x55])) @@ -67,7 +73,7 @@ def distance(self): return dist @property - def temperature(self): + def temperature(self) -> Optional[int]: """Return the on-chip temperature, in Celsius""" for _ in range(2): # Attempt to read twice. self._uart.write(bytes([0x50]))