40
40
from adafruit_register .i2c_bits import RWBits
41
41
from adafruit_dps310 .basic import DPS310
42
42
43
+ try :
44
+ from typing import Iterable , Optional , Tuple , Union
45
+ except ImportError :
46
+ pass
47
+
43
48
# pylint: disable=no-member,unnecessary-pass
44
49
45
50
46
51
class CV :
47
52
"""struct helper"""
48
53
49
54
@classmethod
50
- def add_values (cls , value_tuples ):
55
+ def add_values (
56
+ cls , value_tuples : Iterable [Tuple [str , int , Union [str , int ], Optional [float ]]]
57
+ ):
51
58
"""Add CV values to the class"""
52
59
cls .string = {}
53
60
cls .lsb = {}
@@ -59,7 +66,7 @@ def add_values(cls, value_tuples):
59
66
cls .lsb [value ] = lsb
60
67
61
68
@classmethod
62
- def is_valid (cls , value ) :
69
+ def is_valid (cls , value : int ) -> bool :
63
70
"""Validate that a given value is a member"""
64
71
return value in cls .string
65
72
@@ -196,7 +203,7 @@ class DPS310_Advanced(DPS310):
196
203
_pressure_ratebits = RWBits (3 , _DPS310_PRSCFG , 4 )
197
204
_temp_ratebits = RWBits (3 , _DPS310_TMPCFG , 4 )
198
205
199
- def initialize (self ):
206
+ def initialize (self ) -> None :
200
207
"""Initialize the sensor to continuous measurement"""
201
208
202
209
self .reset ()
@@ -212,11 +219,11 @@ def initialize(self):
212
219
self .wait_pressure_ready ()
213
220
214
221
@property
215
- def temperature_ready (self ):
222
+ def temperature_ready (self ) -> bool :
216
223
"""Returns true if there is a temperature reading ready"""
217
224
return self ._temp_ready
218
225
219
- def wait_temperature_ready (self ):
226
+ def wait_temperature_ready (self ) -> None :
220
227
"""Wait until a temperature measurement is available.
221
228
222
229
To avoid waiting indefinitely this function raises an
@@ -233,11 +240,11 @@ def wait_temperature_ready(self):
233
240
sleep (0.001 )
234
241
235
242
@property
236
- def pressure_ready (self ):
243
+ def pressure_ready (self ) -> bool :
237
244
"""Returns true if pressure readings are ready"""
238
245
return self ._pressure_ready
239
246
240
- def wait_pressure_ready (self ):
247
+ def wait_pressure_ready (self ) -> None :
241
248
"""Wait until a pressure measurement is available
242
249
243
250
To avoid waiting indefinitely this function raises an
@@ -254,35 +261,35 @@ def wait_pressure_ready(self):
254
261
sleep (0.001 )
255
262
256
263
@property
257
- def mode (self ):
264
+ def mode (self ) -> int :
258
265
"""The measurement mode. Must be a `Mode`. See the `Mode` documentation for details"""
259
266
return self ._mode_bits
260
267
261
268
@mode .setter
262
- def mode (self , value ) :
269
+ def mode (self , value : int ) -> None :
263
270
if not Mode .is_valid (value ):
264
271
raise AttributeError ("mode must be an `Mode`" )
265
272
266
273
self ._mode_bits = value
267
274
268
275
@property
269
- def pressure_rate (self ):
276
+ def pressure_rate (self ) -> int :
270
277
"""Configure the pressure measurement rate. Must be a `Rate`"""
271
278
return self ._pressure_ratebits
272
279
273
280
@pressure_rate .setter
274
- def pressure_rate (self , value ) :
281
+ def pressure_rate (self , value : int ) -> None :
275
282
if not Rate .is_valid (value ):
276
283
raise AttributeError ("pressure_rate must be a Rate" )
277
284
self ._pressure_ratebits = value
278
285
279
286
@property
280
- def pressure_oversample_count (self ):
287
+ def pressure_oversample_count (self ) -> int :
281
288
"""The number of samples taken per pressure measurement. Must be a ``SampleCount``"""
282
289
return self ._pressure_osbits
283
290
284
291
@pressure_oversample_count .setter
285
- def pressure_oversample_count (self , value ) :
292
+ def pressure_oversample_count (self , value : int ) -> None :
286
293
if not SampleCount .is_valid (value ):
287
294
raise AttributeError ("pressure_oversample_count must be a SampleCount" )
288
295
@@ -291,23 +298,23 @@ def pressure_oversample_count(self, value):
291
298
self ._pressure_scale = self ._oversample_scalefactor [value ]
292
299
293
300
@property
294
- def temperature_rate (self ):
301
+ def temperature_rate (self ) -> int :
295
302
"""Configure the temperature measurement rate. Must be a `Rate`"""
296
303
return self ._temp_ratebits
297
304
298
305
@temperature_rate .setter
299
- def temperature_rate (self , value ) :
306
+ def temperature_rate (self , value : int ) -> None :
300
307
if not Rate .is_valid (value ):
301
308
raise AttributeError ("temperature_rate must be a Rate" )
302
309
self ._temp_ratebits = value
303
310
304
311
@property
305
- def temperature_oversample_count (self ):
312
+ def temperature_oversample_count (self ) -> int :
306
313
"""The number of samples taken per temperature measurement. Must be a ``SampleCount``"""
307
314
return self ._temp_osbits
308
315
309
316
@temperature_oversample_count .setter
310
- def temperature_oversample_count (self , value ) :
317
+ def temperature_oversample_count (self , value : int ) -> None :
311
318
if not SampleCount .is_valid (value ):
312
319
raise AttributeError ("temperature_oversample_count must be a SampleCount" )
313
320
0 commit comments