Skip to content

Commit 2638333

Browse files
authored
Merge pull request #20 from jposada202020/type_annotations
type_annotations
2 parents b946cfa + 43cf358 commit 2638333

File tree

1 file changed

+19
-10
lines changed

1 file changed

+19
-10
lines changed

adafruit_lsm303dlh_mag.py

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,17 @@
3232
https://github.com/adafruit/Adafruit_CircuitPython_BusDevice
3333
"""
3434

35+
try:
36+
from typing import Tuple
37+
from busio import I2C
38+
except ImportError:
39+
pass
40+
3541
try:
3642
import struct
3743
except ImportError:
3844
import ustruct as struct
45+
3946
from micropython import const
4047
from adafruit_bus_device.i2c_device import I2CDevice
4148

@@ -125,7 +132,7 @@ class LSM303DLH_Mag:
125132
# thread safe!
126133
_BUFFER = bytearray(6)
127134

128-
def __init__(self, i2c):
135+
def __init__(self, i2c: I2C) -> None:
129136
self._mag_device = I2CDevice(i2c, _ADDRESS_MAG)
130137
self._write_u8(
131138
self._mag_device, _REG_MAG_MR_REG_M, 0x00
@@ -136,7 +143,7 @@ def __init__(self, i2c):
136143
self._mag_rate = MAGRATE_0_7
137144

138145
@property
139-
def _raw_magnetic(self):
146+
def _raw_magnetic(self) -> Tuple[int, int, int]:
140147
"""The raw magnetometer sensor values.
141148
A 3-tuple of X, Y, Z axis values that are 16-bit signed integers.
142149
"""
@@ -145,7 +152,7 @@ def _raw_magnetic(self):
145152
return (raw_values[0], raw_values[2], raw_values[1])
146153

147154
@property
148-
def magnetic(self):
155+
def magnetic(self) -> Tuple[float, float, float]:
149156
"""The processed magnetometer sensor values.
150157
A 3-tuple of X, Y, Z axis values in microteslas that are signed floats.
151158
"""
@@ -157,12 +164,12 @@ def magnetic(self):
157164
)
158165

159166
@property
160-
def mag_gain(self):
167+
def mag_gain(self) -> int:
161168
"""The magnetometer's gain."""
162169
return self._mag_gain
163170

164171
@mag_gain.setter
165-
def mag_gain(self, value):
172+
def mag_gain(self, value: int) -> None:
166173
assert value in (
167174
MAGGAIN_1_3,
168175
MAGGAIN_1_9,
@@ -198,12 +205,12 @@ def mag_gain(self, value):
198205
self._lsm303mag_gauss_lsb_z = 205.0
199206

200207
@property
201-
def mag_rate(self):
208+
def mag_rate(self) -> int:
202209
"""The magnetometer update rate."""
203210
return self._mag_rate
204211

205212
@mag_rate.setter
206-
def mag_rate(self, value):
213+
def mag_rate(self, value: int) -> None:
207214
assert value in (
208215
MAGRATE_0_7,
209216
MAGRATE_1_5,
@@ -219,20 +226,22 @@ def mag_rate(self, value):
219226
reg_m = ((value & 0x07) << 2) & 0xFF
220227
self._write_u8(self._mag_device, _REG_MAG_CRA_REG_M, reg_m)
221228

222-
def _read_u8(self, device, address):
229+
def _read_u8(self, device: I2CDevice, address: int) -> int:
223230
with device as i2c:
224231
self._BUFFER[0] = address & 0xFF
225232
i2c.write_then_readinto(self._BUFFER, self._BUFFER, out_end=1, in_end=1)
226233
return self._BUFFER[0]
227234

228-
def _write_u8(self, device, address, val):
235+
def _write_u8(self, device: I2CDevice, address: int, val: int) -> None:
229236
with device as i2c:
230237
self._BUFFER[0] = address & 0xFF
231238
self._BUFFER[1] = val & 0xFF
232239
i2c.write(self._BUFFER, end=2)
233240

234241
@staticmethod
235-
def _read_bytes(device, address, count, buf):
242+
def _read_bytes(
243+
device: I2CDevice, address: int, count: int, buf: bytearray
244+
) -> None:
236245
with device as i2c:
237246
buf[0] = address & 0xFF
238247
i2c.write_then_readinto(buf, buf, out_end=1, in_end=count)

0 commit comments

Comments
 (0)