Skip to content

Commit 08a2f19

Browse files
authored
Merge pull request #18 from adafruit/pylint-update
Ran black, updated to pylint 2.x
2 parents 86a10a9 + a19ffd3 commit 08a2f19

File tree

6 files changed

+204
-171
lines changed

6 files changed

+204
-171
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
source actions-ci/install.sh
4141
- name: Pip install pylint, black, & Sphinx
4242
run: |
43-
pip install --force-reinstall pylint==1.9.2 black==19.10b0 Sphinx sphinx-rtd-theme
43+
pip install --force-reinstall pylint black==19.10b0 Sphinx sphinx-rtd-theme
4444
- name: Library version
4545
run: git describe --dirty --always --tags
4646
- name: PyLint

.pylintrc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ spelling-store-unknown-words=no
119119
[MISCELLANEOUS]
120120

121121
# List of note tags to take in consideration, separated by a comma.
122-
#notes=FIXME,XXX,TODO
122+
# notes=FIXME,XXX,TODO
123123
notes=FIXME,XXX
124124

125125

@@ -301,7 +301,7 @@ function-rgx=(([a-z][a-z0-9_]{2,30})|(_[a-z0-9_]*))$
301301

302302
# Good variable names which should always be accepted, separated by a comma
303303
# good-names=i,j,k,ex,Run,_
304-
good-names=r,g,b,i,j,k,n,ex,Run,_
304+
good-names=r,g,b,w,i,j,k,n,x,y,z,ex,ok,Run,_
305305

306306
# Include a hint for the correct naming format with invalid-name
307307
include-naming-hint=no
@@ -423,7 +423,7 @@ max-returns=6
423423
max-statements=50
424424

425425
# Minimum number of public methods for a class (see R0903).
426-
min-public-methods=2
426+
min-public-methods=1
427427

428428

429429
[EXCEPTIONS]

adafruit_lsm9ds0.py

Lines changed: 94 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -64,73 +64,73 @@
6464

6565
# Internal constants and register values:
6666
# pylint: disable=bad-whitespace
67-
_LSM9DS0_ADDRESS_ACCELMAG = const(0x1D) # 3B >> 1 = 7bit default
68-
_LSM9DS0_ADDRESS_GYRO = const(0x6B) # D6 >> 1 = 7bit default
69-
_LSM9DS0_XM_ID = const(0b01001001)
70-
_LSM9DS0_G_ID = const(0b11010100)
71-
_LSM9DS0_ACCEL_MG_LSB_2G = 0.061
72-
_LSM9DS0_ACCEL_MG_LSB_4G = 0.122
73-
_LSM9DS0_ACCEL_MG_LSB_6G = 0.183
74-
_LSM9DS0_ACCEL_MG_LSB_8G = 0.244
75-
_LSM9DS0_ACCEL_MG_LSB_16G = 0.732 # Is this right? Was expecting 0.488
76-
_LSM9DS0_MAG_MGAUSS_2GAUSS = 0.08
77-
_LSM9DS0_MAG_MGAUSS_4GAUSS = 0.16
78-
_LSM9DS0_MAG_MGAUSS_8GAUSS = 0.32
79-
_LSM9DS0_MAG_MGAUSS_12GAUSS = 0.48
80-
_LSM9DS0_GYRO_DPS_DIGIT_245DPS = 0.00875
81-
_LSM9DS0_GYRO_DPS_DIGIT_500DPS = 0.01750
82-
_LSM9DS0_GYRO_DPS_DIGIT_2000DPS = 0.07000
83-
_LSM9DS0_TEMP_LSB_DEGREE_CELSIUS = 8 # 1°C = 8, 25° = 200, etc.
84-
_LSM9DS0_REGISTER_WHO_AM_I_G = const(0x0F)
85-
_LSM9DS0_REGISTER_CTRL_REG1_G = const(0x20)
86-
_LSM9DS0_REGISTER_CTRL_REG3_G = const(0x22)
87-
_LSM9DS0_REGISTER_CTRL_REG4_G = const(0x23)
88-
_LSM9DS0_REGISTER_OUT_X_L_G = const(0x28)
89-
_LSM9DS0_REGISTER_OUT_X_H_G = const(0x29)
90-
_LSM9DS0_REGISTER_OUT_Y_L_G = const(0x2A)
91-
_LSM9DS0_REGISTER_OUT_Y_H_G = const(0x2B)
92-
_LSM9DS0_REGISTER_OUT_Z_L_G = const(0x2C)
93-
_LSM9DS0_REGISTER_OUT_Z_H_G = const(0x2D)
94-
_LSM9DS0_REGISTER_TEMP_OUT_L_XM = const(0x05)
95-
_LSM9DS0_REGISTER_TEMP_OUT_H_XM = const(0x06)
96-
_LSM9DS0_REGISTER_STATUS_REG_M = const(0x07)
97-
_LSM9DS0_REGISTER_OUT_X_L_M = const(0x08)
98-
_LSM9DS0_REGISTER_OUT_X_H_M = const(0x09)
99-
_LSM9DS0_REGISTER_OUT_Y_L_M = const(0x0A)
100-
_LSM9DS0_REGISTER_OUT_Y_H_M = const(0x0B)
101-
_LSM9DS0_REGISTER_OUT_Z_L_M = const(0x0C)
102-
_LSM9DS0_REGISTER_OUT_Z_H_M = const(0x0D)
103-
_LSM9DS0_REGISTER_WHO_AM_I_XM = const(0x0F)
104-
_LSM9DS0_REGISTER_INT_CTRL_REG_M = const(0x12)
105-
_LSM9DS0_REGISTER_INT_SRC_REG_M = const(0x13)
106-
_LSM9DS0_REGISTER_CTRL_REG1_XM = const(0x20)
107-
_LSM9DS0_REGISTER_CTRL_REG2_XM = const(0x21)
108-
_LSM9DS0_REGISTER_CTRL_REG5_XM = const(0x24)
109-
_LSM9DS0_REGISTER_CTRL_REG6_XM = const(0x25)
110-
_LSM9DS0_REGISTER_CTRL_REG7_XM = const(0x26)
111-
_LSM9DS0_REGISTER_OUT_X_L_A = const(0x28)
112-
_LSM9DS0_REGISTER_OUT_X_H_A = const(0x29)
113-
_LSM9DS0_REGISTER_OUT_Y_L_A = const(0x2A)
114-
_LSM9DS0_REGISTER_OUT_Y_H_A = const(0x2B)
115-
_LSM9DS0_REGISTER_OUT_Z_L_A = const(0x2C)
116-
_LSM9DS0_REGISTER_OUT_Z_H_A = const(0x2D)
117-
_GYROTYPE = True
118-
_XMTYPE = False
119-
_SENSORS_GRAVITY_STANDARD = 9.80665
67+
_LSM9DS0_ADDRESS_ACCELMAG = const(0x1D) # 3B >> 1 = 7bit default
68+
_LSM9DS0_ADDRESS_GYRO = const(0x6B) # D6 >> 1 = 7bit default
69+
_LSM9DS0_XM_ID = const(0b01001001)
70+
_LSM9DS0_G_ID = const(0b11010100)
71+
_LSM9DS0_ACCEL_MG_LSB_2G = 0.061
72+
_LSM9DS0_ACCEL_MG_LSB_4G = 0.122
73+
_LSM9DS0_ACCEL_MG_LSB_6G = 0.183
74+
_LSM9DS0_ACCEL_MG_LSB_8G = 0.244
75+
_LSM9DS0_ACCEL_MG_LSB_16G = 0.732 # Is this right? Was expecting 0.488
76+
_LSM9DS0_MAG_MGAUSS_2GAUSS = 0.08
77+
_LSM9DS0_MAG_MGAUSS_4GAUSS = 0.16
78+
_LSM9DS0_MAG_MGAUSS_8GAUSS = 0.32
79+
_LSM9DS0_MAG_MGAUSS_12GAUSS = 0.48
80+
_LSM9DS0_GYRO_DPS_DIGIT_245DPS = 0.00875
81+
_LSM9DS0_GYRO_DPS_DIGIT_500DPS = 0.01750
82+
_LSM9DS0_GYRO_DPS_DIGIT_2000DPS = 0.07000
83+
_LSM9DS0_TEMP_LSB_DEGREE_CELSIUS = 8 # 1°C = 8, 25° = 200, etc.
84+
_LSM9DS0_REGISTER_WHO_AM_I_G = const(0x0F)
85+
_LSM9DS0_REGISTER_CTRL_REG1_G = const(0x20)
86+
_LSM9DS0_REGISTER_CTRL_REG3_G = const(0x22)
87+
_LSM9DS0_REGISTER_CTRL_REG4_G = const(0x23)
88+
_LSM9DS0_REGISTER_OUT_X_L_G = const(0x28)
89+
_LSM9DS0_REGISTER_OUT_X_H_G = const(0x29)
90+
_LSM9DS0_REGISTER_OUT_Y_L_G = const(0x2A)
91+
_LSM9DS0_REGISTER_OUT_Y_H_G = const(0x2B)
92+
_LSM9DS0_REGISTER_OUT_Z_L_G = const(0x2C)
93+
_LSM9DS0_REGISTER_OUT_Z_H_G = const(0x2D)
94+
_LSM9DS0_REGISTER_TEMP_OUT_L_XM = const(0x05)
95+
_LSM9DS0_REGISTER_TEMP_OUT_H_XM = const(0x06)
96+
_LSM9DS0_REGISTER_STATUS_REG_M = const(0x07)
97+
_LSM9DS0_REGISTER_OUT_X_L_M = const(0x08)
98+
_LSM9DS0_REGISTER_OUT_X_H_M = const(0x09)
99+
_LSM9DS0_REGISTER_OUT_Y_L_M = const(0x0A)
100+
_LSM9DS0_REGISTER_OUT_Y_H_M = const(0x0B)
101+
_LSM9DS0_REGISTER_OUT_Z_L_M = const(0x0C)
102+
_LSM9DS0_REGISTER_OUT_Z_H_M = const(0x0D)
103+
_LSM9DS0_REGISTER_WHO_AM_I_XM = const(0x0F)
104+
_LSM9DS0_REGISTER_INT_CTRL_REG_M = const(0x12)
105+
_LSM9DS0_REGISTER_INT_SRC_REG_M = const(0x13)
106+
_LSM9DS0_REGISTER_CTRL_REG1_XM = const(0x20)
107+
_LSM9DS0_REGISTER_CTRL_REG2_XM = const(0x21)
108+
_LSM9DS0_REGISTER_CTRL_REG5_XM = const(0x24)
109+
_LSM9DS0_REGISTER_CTRL_REG6_XM = const(0x25)
110+
_LSM9DS0_REGISTER_CTRL_REG7_XM = const(0x26)
111+
_LSM9DS0_REGISTER_OUT_X_L_A = const(0x28)
112+
_LSM9DS0_REGISTER_OUT_X_H_A = const(0x29)
113+
_LSM9DS0_REGISTER_OUT_Y_L_A = const(0x2A)
114+
_LSM9DS0_REGISTER_OUT_Y_H_A = const(0x2B)
115+
_LSM9DS0_REGISTER_OUT_Z_L_A = const(0x2C)
116+
_LSM9DS0_REGISTER_OUT_Z_H_A = const(0x2D)
117+
_GYROTYPE = True
118+
_XMTYPE = False
119+
_SENSORS_GRAVITY_STANDARD = 9.80665
120120

121121
# User facing constants/module globals.
122-
ACCELRANGE_2G = (0b000 << 3)
123-
ACCELRANGE_4G = (0b001 << 3)
124-
ACCELRANGE_6G = (0b010 << 3)
125-
ACCELRANGE_8G = (0b011 << 3)
126-
ACCELRANGE_16G = (0b100 << 3)
127-
MAGGAIN_2GAUSS = (0b00 << 5) # +/- 2 gauss
128-
MAGGAIN_4GAUSS = (0b01 << 5) # +/- 4 gauss
129-
MAGGAIN_8GAUSS = (0b10 << 5) # +/- 8 gauss
130-
MAGGAIN_12GAUSS = (0b11 << 5) # +/- 12 gauss
131-
GYROSCALE_245DPS = (0b00 << 4) # +/- 245 degrees per second rotation
132-
GYROSCALE_500DPS = (0b01 << 4) # +/- 500 degrees per second rotation
133-
GYROSCALE_2000DPS = (0b10 << 4) # +/- 2000 degrees per second rotation
122+
ACCELRANGE_2G = 0b000 << 3
123+
ACCELRANGE_4G = 0b001 << 3
124+
ACCELRANGE_6G = 0b010 << 3
125+
ACCELRANGE_8G = 0b011 << 3
126+
ACCELRANGE_16G = 0b100 << 3
127+
MAGGAIN_2GAUSS = 0b00 << 5 # +/- 2 gauss
128+
MAGGAIN_4GAUSS = 0b01 << 5 # +/- 4 gauss
129+
MAGGAIN_8GAUSS = 0b10 << 5 # +/- 8 gauss
130+
MAGGAIN_12GAUSS = 0b11 << 5 # +/- 12 gauss
131+
GYROSCALE_245DPS = 0b00 << 4 # +/- 245 degrees per second rotation
132+
GYROSCALE_500DPS = 0b01 << 4 # +/- 500 degrees per second rotation
133+
GYROSCALE_2000DPS = 0b10 << 4 # +/- 2000 degrees per second rotation
134134
# pylint: enable=bad-whitespace
135135

136136

@@ -144,16 +144,19 @@ def _twos_comp(val, bits):
144144

145145
class LSM9DS0:
146146
"""Driver for the LSM9DS0 accelerometer, magnetometer, gyroscope."""
147+
147148
# Class-level buffer for reading and writing data with the sensor.
148149
# This reduces memory allocations but means the code is not re-entrant or
149150
# thread safe!
150151
_BUFFER = bytearray(6)
151152

152153
def __init__(self):
153154
# Check ID registers.
154-
if self._read_u8(_XMTYPE, _LSM9DS0_REGISTER_WHO_AM_I_XM) != _LSM9DS0_XM_ID or \
155-
self._read_u8(_GYROTYPE, _LSM9DS0_REGISTER_WHO_AM_I_G) != _LSM9DS0_G_ID:
156-
raise RuntimeError('Could not find LSM9DS0, check wiring!')
155+
if (
156+
self._read_u8(_XMTYPE, _LSM9DS0_REGISTER_WHO_AM_I_XM) != _LSM9DS0_XM_ID
157+
or self._read_u8(_GYROTYPE, _LSM9DS0_REGISTER_WHO_AM_I_G) != _LSM9DS0_G_ID
158+
):
159+
raise RuntimeError("Could not find LSM9DS0, check wiring!")
157160
# Enable the accelerometer continous
158161
self._write_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG1_XM, 0x67)
159162
self._write_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG5_XM, 0b11110000)
@@ -163,7 +166,7 @@ def __init__(self):
163166
self._write_u8(_GYROTYPE, _LSM9DS0_REGISTER_CTRL_REG1_G, 0x0F)
164167
# enable the temperature sensor (output rate same as the mag sensor)
165168
temp_reg = self._read_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG5_XM)
166-
self._write_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG5_XM, temp_reg | (1<<7))
169+
self._write_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG5_XM, temp_reg | (1 << 7))
167170
# Set default ranges for the various sensors
168171
self._accel_mg_lsb = None
169172
self._mag_mgauss_lsb = None
@@ -186,8 +189,13 @@ def accel_range(self):
186189

187190
@accel_range.setter
188191
def accel_range(self, val):
189-
assert val in (ACCELRANGE_2G, ACCELRANGE_4G, ACCELRANGE_6G,
190-
ACCELRANGE_8G, ACCELRANGE_16G)
192+
assert val in (
193+
ACCELRANGE_2G,
194+
ACCELRANGE_4G,
195+
ACCELRANGE_6G,
196+
ACCELRANGE_8G,
197+
ACCELRANGE_16G,
198+
)
191199
reg = self._read_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG2_XM)
192200
reg = (reg & ~(0b00111000)) & 0xFF
193201
reg |= val
@@ -216,8 +224,7 @@ def mag_gain(self):
216224

217225
@mag_gain.setter
218226
def mag_gain(self, val):
219-
assert val in (MAGGAIN_2GAUSS, MAGGAIN_4GAUSS, MAGGAIN_8GAUSS,
220-
MAGGAIN_12GAUSS)
227+
assert val in (MAGGAIN_2GAUSS, MAGGAIN_4GAUSS, MAGGAIN_8GAUSS, MAGGAIN_12GAUSS)
221228
reg = self._read_u8(_XMTYPE, _LSM9DS0_REGISTER_CTRL_REG6_XM)
222229
reg = (reg & ~(0b01100000)) & 0xFF
223230
reg |= val
@@ -262,9 +269,8 @@ def read_accel_raw(self):
262269
accelerometer property!
263270
"""
264271
# Read the accelerometer
265-
self._read_bytes(_XMTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_A, 6,
266-
self._BUFFER)
267-
raw_x, raw_y, raw_z = struct.unpack_from('<hhh', self._BUFFER[0:6])
272+
self._read_bytes(_XMTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_A, 6, self._BUFFER)
273+
raw_x, raw_y, raw_z = struct.unpack_from("<hhh", self._BUFFER[0:6])
268274
return (raw_x, raw_y, raw_z)
269275

270276
@property
@@ -273,7 +279,9 @@ def acceleration(self):
273279
m/s^2 values.
274280
"""
275281
raw = self.read_accel_raw()
276-
return (x * self._accel_mg_lsb / 1000.0 * _SENSORS_GRAVITY_STANDARD for x in raw)
282+
return (
283+
x * self._accel_mg_lsb / 1000.0 * _SENSORS_GRAVITY_STANDARD for x in raw
284+
)
277285

278286
def read_mag_raw(self):
279287
"""Read the raw magnetometer sensor values and return it as a
@@ -282,9 +290,8 @@ def read_mag_raw(self):
282290
magnetometer property!
283291
"""
284292
# Read the magnetometer
285-
self._read_bytes(_XMTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_M, 6,
286-
self._BUFFER)
287-
raw_x, raw_y, raw_z = struct.unpack_from('<hhh', self._BUFFER[0:6])
293+
self._read_bytes(_XMTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_M, 6, self._BUFFER)
294+
raw_x, raw_y, raw_z = struct.unpack_from("<hhh", self._BUFFER[0:6])
288295
return (raw_x, raw_y, raw_z)
289296

290297
@property
@@ -302,9 +309,8 @@ def read_gyro_raw(self):
302309
gyroscope property!
303310
"""
304311
# Read the gyroscope
305-
self._read_bytes(_GYROTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_G, 6,
306-
self._BUFFER)
307-
raw_x, raw_y, raw_z = struct.unpack_from('<hhh', self._BUFFER[0:6])
312+
self._read_bytes(_GYROTYPE, 0x80 | _LSM9DS0_REGISTER_OUT_X_L_G, 6, self._BUFFER)
313+
raw_x, raw_y, raw_z = struct.unpack_from("<hhh", self._BUFFER[0:6])
308314
return (raw_x, raw_y, raw_z)
309315

310316
@property
@@ -321,8 +327,9 @@ def read_temp_raw(self):
321327
want to use the temperature property!
322328
"""
323329
# Read temp sensor
324-
self._read_bytes(_XMTYPE, 0x80 | _LSM9DS0_REGISTER_TEMP_OUT_L_XM, 2,
325-
self._BUFFER)
330+
self._read_bytes(
331+
_XMTYPE, 0x80 | _LSM9DS0_REGISTER_TEMP_OUT_L_XM, 2, self._BUFFER
332+
)
326333
temp = ((self._BUFFER[1] << 8) | self._BUFFER[0]) >> 4
327334
return _twos_comp(temp, 12)
328335

@@ -331,7 +338,7 @@ def temperature(self):
331338
"""The temperature of the sensor in degrees Celsius."""
332339
# This is just a guess since the starting point (21C here) isn't documented :(
333340
temp = self.read_temp_raw()
334-
temp = 21.0 + temp/8
341+
temp = 21.0 + temp / 8
335342
return temp
336343

337344
def _read_u8(self, sensor_type, address):
@@ -393,6 +400,7 @@ def _write_u8(self, sensor_type, address, val):
393400

394401
class LSM9DS0_SPI(LSM9DS0):
395402
"""Driver for the LSM9DS0 connected over SPI."""
403+
396404
# pylint: disable=no-member
397405
def __init__(self, spi, xmcs, gcs):
398406
gcs.direction = Direction.OUTPUT

0 commit comments

Comments
 (0)