@@ -120,7 +120,7 @@ class Adafruit_BME680:
120
120
:param int refresh_rate: Maximum number of readings per second. Faster property reads
121
121
will be from the previous reading."""
122
122
123
- def __init__ (self , * , refresh_rate = 10 ):
123
+ def __init__ (self , * , refresh_rate : int = 10 ) -> None :
124
124
"""Check the BME680 was found, read the coefficients and enable the sensor for continuous
125
125
reads."""
126
126
self ._write (_BME680_REG_SOFTRESET , [0xB6 ])
@@ -160,62 +160,62 @@ def __init__(self, *, refresh_rate=10):
160
160
self ._min_refresh_time = 1 / refresh_rate
161
161
162
162
@property
163
- def pressure_oversample (self ):
163
+ def pressure_oversample (self ) -> int :
164
164
"""The oversampling for pressure sensor"""
165
165
return _BME680_SAMPLERATES [self ._pressure_oversample ]
166
166
167
167
@pressure_oversample .setter
168
- def pressure_oversample (self , sample_rate ) :
168
+ def pressure_oversample (self , sample_rate : int ) -> None :
169
169
if sample_rate in _BME680_SAMPLERATES :
170
170
self ._pressure_oversample = _BME680_SAMPLERATES .index (sample_rate )
171
171
else :
172
172
raise RuntimeError ("Invalid oversample" )
173
173
174
174
@property
175
- def humidity_oversample (self ):
175
+ def humidity_oversample (self ) -> int :
176
176
"""The oversampling for humidity sensor"""
177
177
return _BME680_SAMPLERATES [self ._humidity_oversample ]
178
178
179
179
@humidity_oversample .setter
180
- def humidity_oversample (self , sample_rate ) :
180
+ def humidity_oversample (self , sample_rate : int ) -> None :
181
181
if sample_rate in _BME680_SAMPLERATES :
182
182
self ._humidity_oversample = _BME680_SAMPLERATES .index (sample_rate )
183
183
else :
184
184
raise RuntimeError ("Invalid oversample" )
185
185
186
186
@property
187
- def temperature_oversample (self ):
187
+ def temperature_oversample (self ) -> int :
188
188
"""The oversampling for temperature sensor"""
189
189
return _BME680_SAMPLERATES [self ._temp_oversample ]
190
190
191
191
@temperature_oversample .setter
192
- def temperature_oversample (self , sample_rate ) :
192
+ def temperature_oversample (self , sample_rate : int ) -> None :
193
193
if sample_rate in _BME680_SAMPLERATES :
194
194
self ._temp_oversample = _BME680_SAMPLERATES .index (sample_rate )
195
195
else :
196
196
raise RuntimeError ("Invalid oversample" )
197
197
198
198
@property
199
- def filter_size (self ):
199
+ def filter_size (self ) -> int :
200
200
"""The filter size for the built in IIR filter"""
201
201
return _BME680_FILTERSIZES [self ._filter ]
202
202
203
203
@filter_size .setter
204
- def filter_size (self , size ) :
204
+ def filter_size (self , size : int ) -> None :
205
205
if size in _BME680_FILTERSIZES :
206
206
self ._filter = _BME680_FILTERSIZES .index (size )
207
207
else :
208
208
raise RuntimeError ("Invalid size" )
209
209
210
210
@property
211
- def temperature (self ):
211
+ def temperature (self ) -> float :
212
212
"""The compensated temperature in degrees Celsius."""
213
213
self ._perform_reading ()
214
214
calc_temp = ((self ._t_fine * 5 ) + 128 ) / 256
215
215
return calc_temp / 100
216
216
217
217
@property
218
- def pressure (self ):
218
+ def pressure (self ) -> float :
219
219
"""The barometric pressure in hectoPascals"""
220
220
self ._perform_reading ()
221
221
var1 = (self ._t_fine / 2 ) - 64000
@@ -242,12 +242,12 @@ def pressure(self):
242
242
return calc_pres / 100
243
243
244
244
@property
245
- def relative_humidity (self ):
245
+ def relative_humidity (self ) -> float :
246
246
"""The relative humidity in RH %"""
247
247
return self .humidity
248
248
249
249
@property
250
- def humidity (self ):
250
+ def humidity (self ) -> float :
251
251
"""The relative humidity in RH %"""
252
252
self ._perform_reading ()
253
253
temp_scaled = ((self ._t_fine * 5 ) + 128 ) / 256
@@ -284,14 +284,14 @@ def humidity(self):
284
284
return calc_hum
285
285
286
286
@property
287
- def altitude (self ):
287
+ def altitude (self ) -> float :
288
288
"""The altitude based on current :attr:`pressure` vs the sea level pressure
289
289
(:attr:`sea_level_pressure`) - which you must enter ahead of time)"""
290
290
pressure = self .pressure # in Si units for hPascal
291
291
return 44330 * (1.0 - math .pow (pressure / self .sea_level_pressure , 0.1903 ))
292
292
293
293
@property
294
- def gas (self ):
294
+ def gas (self ) -> int :
295
295
"""The gas resistance in ohms"""
296
296
self ._perform_reading ()
297
297
if self ._chip_variant == 0x01 :
@@ -311,7 +311,7 @@ def gas(self):
311
311
calc_gas_res = (var3 + (var2 / 2 )) / var2
312
312
return int (calc_gas_res )
313
313
314
- def _perform_reading (self ):
314
+ def _perform_reading (self ) -> None :
315
315
"""Perform a single-shot reading from the sensor and fill internal data structure for
316
316
calculations"""
317
317
if time .monotonic () - self ._last_reading < self ._min_refresh_time :
@@ -357,7 +357,7 @@ def _perform_reading(self):
357
357
var3 = (var3 * self ._temp_calibration [2 ] * 16 ) / 16384
358
358
self ._t_fine = int (var2 + var3 )
359
359
360
- def _read_calibration (self ):
360
+ def _read_calibration (self ) -> None :
361
361
"""Read & save the calibration coefficients"""
362
362
coeff = self ._read (_BME680_BME680_COEFF_ADDR1 , 25 )
363
363
coeff += self ._read (_BME680_BME680_COEFF_ADDR2 , 16 )
@@ -381,14 +381,14 @@ def _read_calibration(self):
381
381
self ._heat_val = self ._read_byte (0x00 )
382
382
self ._sw_err = (self ._read_byte (0x04 ) & 0xF0 ) / 16
383
383
384
- def _read_byte (self , register ) :
384
+ def _read_byte (self , register : int ) -> int :
385
385
"""Read a byte register value and return it"""
386
386
return self ._read (register , 1 )[0 ]
387
387
388
- def _read (self , register , length ) :
388
+ def _read (self , register : int , length : int ) -> None :
389
389
raise NotImplementedError ()
390
390
391
- def _write (self , register , values ):
391
+ def _write (self , register : int , values ) -> None :
392
392
raise NotImplementedError ()
393
393
394
394
0 commit comments