Skip to content

Commit 76cf6f3

Browse files
committed
linting
1 parent e1e42b1 commit 76cf6f3

File tree

1 file changed

+42
-45
lines changed

1 file changed

+42
-45
lines changed

adafruit_dps310.py

Lines changed: 42 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
3434
**Hardware:**
3535
36-
.. todo:: Update the PID for the below and add links to any specific hardware product page(s), or category page(s)
37-
* Adafruit's DPS310 Breakout: https://adafruit.com/product/44XX
36+
* Adafruit's DPS310 Breakout: https://www.adafruit.com/product/4494
3837
3938
**Software and Dependencies:**
4039
@@ -49,8 +48,7 @@
4948
# Common imports; remove if unused or pylint will complain
5049
from time import sleep
5150
import adafruit_bus_device.i2c_device as i2c_device
52-
from adafruit_register.i2c_struct import UnaryStruct, ROUnaryStruct, Struct
53-
from adafruit_register.i2c_struct_array import StructArray
51+
from adafruit_register.i2c_struct import UnaryStruct, ROUnaryStruct
5452
from adafruit_register.i2c_bit import RWBit, ROBit
5553
from adafruit_register.i2c_bits import RWBits, ROBits
5654

@@ -68,6 +66,8 @@
6866
_DPS310_TMPCOEFSRCE = 0x28 # Temperature calibration src
6967

7068
#pylint: enable=bad-whitespace
69+
#pylint: disable=no-member,unnecessary-pass
70+
7171
class CV:
7272
"""struct helper"""
7373

@@ -92,7 +92,6 @@ class Mode(CV):
9292
"""Options for ``mode``"""
9393
pass #pylint: disable=unnecessary-pass
9494

95-
#pylint: disable=no-member
9695
Mode.add_values((
9796
('IDLE', 0, "Idle", None),
9897
('ONE_PRESSURE', 1, "One-Shot Pressure", None),
@@ -131,8 +130,9 @@ class Samples(CV):
131130
('COUNT_64', 6, 64, None),
132131
('COUNT_128', 7, 128, None),
133132
))
134-
133+
#pylint: enable=unnecessary-pass
135134
class DPS310:
135+
#pylint: disable=too-many-instance-attributes
136136
"""Library for the DPS310 Precision Barometric Pressure Sensor.
137137
138138
:param ~busio.I2C i2c_bus: The I2C bus the DPS310 is connected to.
@@ -178,13 +178,27 @@ def __init__(self, i2c_bus, address=_DPS310_DEFAULT_ADDRESS):
178178

179179
if self._device_id != _DPS310_DEVICE_ID:
180180
raise RuntimeError("Failed to find DPS310 - check your wiring!")
181-
181+
self._pressure_scale = None
182+
self._temp_scale = None
183+
self._c0 = None
184+
self._c1 = None
185+
self._c00 = None
186+
self._c00 = None
187+
self._c10 = None
188+
self._c10 = None
189+
self._c01 = None
190+
self._c11 = None
191+
self._c20 = None
192+
self._c21 = None
193+
self._c30 = None
194+
self._oversample_scalefactor = (524288, 1572864, 3670016, 7864320, 253952,
195+
516096, 1040384, 2088960)
182196
self.initialize()
183197

184198
def initialize(self):
185199
"""Reset the sensor to the default state"""
186-
# print("called initialize")
187-
self._init_values()
200+
201+
188202
self.reset()
189203
# wait for hardware reset to finish
190204
sleep(0.010)
@@ -194,51 +208,32 @@ def initialize(self):
194208
self.mode = Mode.CONT_PRESTEMP
195209

196210
# wait until we have at least one good measurement
197-
tmprdy = self._temp_ready
198-
prsrdy = self._pressure_ready
199-
while (tmprdy is False) or (prsrdy is False):
211+
while (self._temp_ready is False) or (self._pressure_ready is False):
200212
sleep(0.001)
201-
tmprdy = self._temp_ready
202-
prsrdy = self._pressure_ready
203213

204214
def reset(self):
205215
"""Perform a soft-reset on the sensor"""
206216
self._reset = 0x89
207217
while not self._sensor_ready:
208218
sleep(0.001)
209219

210-
def _init_values(self):
211-
self._pressure_scale = None
212-
self._temp_scale = None
213-
self._c0 = None
214-
self._c1 = None
215-
self._c00 = None
216-
self._c00 = None
217-
self._c10 = None
218-
self._c10 = None
219-
self._c01 = None
220-
self._c11 = None
221-
self._c20 = None
222-
self._c21 = None
223-
self._c30 = None
224-
self._oversample_scalefactor = (524288, 1572864, 3670016, 7864320, 253952, 516096, 1040384, 2088960)
225-
226220
@property
227221
def pressure(self):
228222
"""Returns the current pressure reading in kPA"""
229223

230224
temp_reading = self._raw_temperature
231-
raw_temperature = self.twosComplement(temp_reading, 24)
225+
raw_temperature = self.twos_complement(temp_reading, 24)
232226
pressure_reading = self._raw_pressure
233-
raw_pressure = self.twosComplement(pressure_reading, 24)
227+
raw_pressure = self.twos_complement(pressure_reading, 24)
234228
_scaled_rawtemp = raw_temperature / self._temp_scale
235229

236230
_temperature = _scaled_rawtemp * self._c1 + self._c0 / 2.0
237231

238232
p_red = raw_pressure / self._pressure_scale
239233

240234

241-
pres_calc = self._c00 + p_red * (self._c10 + p_red * (self._c20 + p_red * self._c30)) + _scaled_rawtemp * (self._c01 + p_red * (self._c11 + p_red * self._c21))
235+
pres_calc = (self._c00 + p_red * (self._c10 + p_red * (self._c20 + p_red * self._c30)) +
236+
_scaled_rawtemp * (self._c01 + p_red * (self._c11 + p_red * self._c21)))
242237

243238
final_pressure = pres_calc / 100
244239
return final_pressure
@@ -262,6 +257,7 @@ def temperature_ready(self):
262257

263258
@property
264259
def pressure_ready(self):
260+
"""Returns true if pressure readings are ready"""
265261
return self._pressure_ready
266262

267263
@property
@@ -271,11 +267,11 @@ def mode(self):
271267

272268
@mode.setter
273269
def mode(self, value):
270+
"""Set the mode"""
274271
if not Mode.is_valid(value):
275272
raise AttributeError("mode must be an `Mode`")
276273

277274
self._mode_bits = value
278-
################# PRESSURE CONFIG ########################################
279275

280276
def pressure_configuration(self, rate, oversample):
281277
"""Configure the pressure rate and oversample count"""
@@ -292,8 +288,9 @@ def temperature_configuration(self, rate, oversample):
292288
self._temp_shiftbit = (oversample > Samples.COUNT_8)
293289
self._temp_measurement_src_bit = self._calib_coeff_temp_src_bit
294290

295-
def twosComplement(self, val, bits):
296-
if (val & (1 << (bits - 1))):
291+
@staticmethod
292+
def _twos_complement(val, bits):
293+
if val & (1 << (bits - 1)):
297294
val -= (1 << bits)
298295

299296
return val
@@ -316,18 +313,18 @@ def _read_calibration(self):
316313
coeffs[offset] = buffer[1]
317314

318315
self._c0 = (coeffs[0] << 4) | ((coeffs[1] >> 4) & 0x0F)
319-
self._c0 = self.twosComplement(self._c0, 12)
316+
self._c0 = self.twos_complement(self._c0, 12)
320317

321-
self._c1 = self.twosComplement(((coeffs[1] & 0x0F) << 8) | coeffs[2], 12)
318+
self._c1 = self.twos_complement(((coeffs[1] & 0x0F) << 8) | coeffs[2], 12)
322319

323320
self._c00 = (coeffs[3] << 12) | (coeffs[4] << 4) | ((coeffs[5] >> 4) & 0x0F)
324-
self._c00 = self.twosComplement(self._c00, 20)
321+
self._c00 = self.twos_complement(self._c00, 20)
325322

326323
self._c10 = ((coeffs[5] & 0x0F) << 16) | (coeffs[6] << 8) |coeffs[7]
327-
self._c10 = self.twosComplement(self._c10, 20)
324+
self._c10 = self.twos_complement(self._c10, 20)
328325

329-
self._c01 = self.twosComplement((coeffs[8] << 8) | coeffs[9], 16)
330-
self._c11 = self.twosComplement((coeffs[10] << 8) | coeffs[11], 16)
331-
self._c20 = self.twosComplement((coeffs[12] << 8) | coeffs[13], 16)
332-
self._c21 = self.twosComplement((coeffs[14] << 8) | coeffs[15], 16)
333-
self._c30 = self.twosComplement((coeffs[16] << 8) | coeffs[17], 16)
326+
self._c01 = self.twos_complement((coeffs[8] << 8) | coeffs[9], 16)
327+
self._c11 = self.twos_complement((coeffs[10] << 8) | coeffs[11], 16)
328+
self._c20 = self.twos_complement((coeffs[12] << 8) | coeffs[13], 16)
329+
self._c21 = self.twos_complement((coeffs[14] << 8) | coeffs[15], 16)
330+
self._c30 = self.twos_complement((coeffs[16] << 8) | coeffs[17], 16)

0 commit comments

Comments
 (0)