Skip to content

Commit 755d8cd

Browse files
committed
Add Missing Type Annotations
1 parent f148ac2 commit 755d8cd

File tree

1 file changed

+31
-19
lines changed

1 file changed

+31
-19
lines changed

adafruit_l3gd20.py

Lines changed: 31 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,13 @@
3636
from micropython import const
3737
from adafruit_register.i2c_struct import Struct
3838

39+
try:
40+
from typing import Tuple
41+
from digitalio import DigitalInOut
42+
from busio import I2C, SPI
43+
except ImportError:
44+
pass
45+
3946
__version__ = "0.0.0+auto.0"
4047
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_L3GD20.git"
4148

@@ -88,12 +95,13 @@ class L3GD20:
8895
Defaults to :const:`L3DS20_RATE_100HZ`
8996
"""
9097

91-
def __init__(self, rng=L3DS20_RANGE_250DPS, rate=L3DS20_RATE_100HZ):
98+
def __init__(
99+
self, rng: int = L3DS20_RANGE_250DPS, rate: int = L3DS20_RATE_100HZ
100+
) -> None:
92101
chip_id = self.read_register(_ID_REGISTER)
93102
if chip_id not in (_L3GD20_CHIP_ID, _L3GD20H_CHIP_ID):
94103
raise RuntimeError(
95-
"bad chip id (%x != %x or %x)"
96-
% (chip_id, _L3GD20_CHIP_ID, _L3GD20H_CHIP_ID)
104+
f"bad chip id ({chip_id:#x} != {_L3GD20_CHIP_ID:#x} or {_L3GD20H_CHIP_ID:#x})"
97105
)
98106

99107
if rng not in (L3DS20_RANGE_250DPS, L3DS20_RANGE_500DPS, L3DS20_RANGE_2000DPS):
@@ -185,7 +193,7 @@ def __init__(self, rng=L3DS20_RANGE_250DPS, rate=L3DS20_RATE_100HZ):
185193
# ------------------------------------------------------------------
186194

187195
@property
188-
def gyro(self):
196+
def gyro(self) -> Tuple[float, float, float]:
189197
"""
190198
x, y, z angular momentum tuple floats, rescaled appropriately for
191199
range selected in rad/s
@@ -233,8 +241,12 @@ class L3GD20_I2C(L3GD20):
233241
"""Gives the raw gyro readings, in units of rad/s."""
234242

235243
def __init__(
236-
self, i2c, rng=L3DS20_RANGE_250DPS, address=0x6B, rate=L3DS20_RATE_100HZ
237-
):
244+
self,
245+
i2c: I2C,
246+
rng: int = L3DS20_RANGE_250DPS,
247+
address: int = 0x6B,
248+
rate: int = L3DS20_RATE_100HZ,
249+
) -> None:
238250
from adafruit_bus_device import ( # pylint: disable=import-outside-toplevel
239251
i2c_device,
240252
)
@@ -243,7 +255,7 @@ def __init__(
243255
self.buffer = bytearray(2)
244256
super().__init__(rng, rate)
245257

246-
def write_register(self, register, value):
258+
def write_register(self, register: int, value: int) -> None:
247259
"""
248260
Update a register with a byte value
249261
@@ -255,7 +267,7 @@ def write_register(self, register, value):
255267
with self.i2c_device as i2c:
256268
i2c.write(self.buffer)
257269

258-
def read_register(self, register):
270+
def read_register(self, register: int) -> int:
259271
"""
260272
Returns a byte value from a register
261273
@@ -303,14 +315,14 @@ class L3GD20_SPI(L3GD20):
303315
304316
"""
305317

306-
def __init__(
318+
def __init__( # pylint: disable=too-many-arguments
307319
self,
308-
spi_busio,
309-
cs,
310-
rng=L3DS20_RANGE_250DPS,
311-
baudrate=100000,
312-
rate=L3DS20_RATE_100HZ,
313-
): # pylint: disable=too-many-arguments
320+
spi_busio: SPI,
321+
cs: DigitalInOut,
322+
rng: int = L3DS20_RANGE_250DPS,
323+
baudrate: int = 100000,
324+
rate: int = L3DS20_RATE_100HZ,
325+
) -> None:
314326
from adafruit_bus_device import ( # pylint: disable=import-outside-toplevel
315327
spi_device,
316328
)
@@ -320,7 +332,7 @@ def __init__(
320332
self._spi_bytearray6 = bytearray(6)
321333
super().__init__(rng, rate)
322334

323-
def write_register(self, register, value):
335+
def write_register(self, register: int, value: int) -> None:
324336
"""
325337
Low level register writing over SPI, writes one 8-bit value
326338
@@ -331,7 +343,7 @@ def write_register(self, register, value):
331343
with self._spi as spi:
332344
spi.write(bytes([register, value & 0xFF]))
333345

334-
def read_register(self, register):
346+
def read_register(self, register: int) -> int:
335347
"""
336348
Low level register reading over SPI, returns a list of values
337349
@@ -346,7 +358,7 @@ def read_register(self, register):
346358
# print("$%02X => %s" % (register, [hex(i) for i in self._spi_bytearray1]))
347359
return self._spi_bytearray1[0]
348360

349-
def read_bytes(self, register, buffer):
361+
def read_bytes(self, register: int, buffer: bytearray) -> None:
350362
"""
351363
Low level register stream reading over SPI, returns a list of values
352364
@@ -360,7 +372,7 @@ def read_bytes(self, register, buffer):
360372
spi.readinto(buffer)
361373

362374
@property
363-
def gyro_raw(self):
375+
def gyro_raw(self) -> Tuple[int, int, int]:
364376
"""Gives the dynamic rate raw gyro readings, in units rad/s."""
365377
buffer = self._spi_bytearray6
366378
self.read_bytes(_L3GD20_REGISTER_OUT_X_L_X40, buffer)

0 commit comments

Comments
 (0)