@@ -92,7 +92,6 @@ class Mode(CV):
9292 """Options for ``mode``"""
9393 pass #pylint: disable=unnecessary-pass
9494
95- # attribute name, value, string, lsb value
9695#pylint: disable=no-member
9796Mode .add_values ((
9897 ('IDLE' , 0 , "Idle" , None ),
@@ -154,22 +153,26 @@ class DPS310:
154153
155154 _temp_ratebits = RWBits (3 , _DPS310_TMPCFG , 4 )
156155 _temp_osbits = RWBits (4 , _DPS310_TMPCFG , 0 )
157- _temp_src_bit = RWBit (_DPS310_TMPCFG , 7 )
156+
157+ _temp_measurement_src_bit = RWBit (_DPS310_TMPCFG , 7 )
158+
158159 _temp_config = RWBits (8 , _DPS310_TMPCFG , 0 )
159160
160- _shiftbit = RWBit (_DPS310_CFGREG , 2 )
161+ _pressure_shiftbit = RWBit (_DPS310_CFGREG , 2 )
162+
163+ _temp_shiftbit = RWBit (_DPS310_CFGREG , 3 )
161164
162165 _coefficients_ready = RWBit (_DPS310_MEASCFG , 7 )
163166 _sensor_ready = RWBit (_DPS310_MEASCFG , 6 )
164167 _temp_ready = RWBit (_DPS310_MEASCFG , 5 )
165168 _pressure_ready = RWBit (_DPS310_MEASCFG , 4 )
166169
167- _raw_pressure = ROBits (24 , _DPS310_PRSB2 , 0 , 3 )
168- _raw_temperature = ROBits (24 , _DPS310_TMPB2 , 0 , 3 )
170+ _raw_pressure = ROBits (24 , _DPS310_PRSB2 , 0 , 3 , lsb_first = False )
171+ _raw_temperature = ROBits (24 , _DPS310_TMPB2 , 0 , 3 , lsb_first = False )
172+
173+ _calib_coeff_temp_src_bit = ROBit (_DPS310_TMPCOEFSRCE , 7 )
169174
170- _coeff_temp_src_bit = ROBit (_DPS310_TMPCOEFSRCE , 7 )
171175
172-
173176 def __init__ (self , i2c_bus , address = _DPS310_DEFAULT_ADDRESS ):
174177 self .i2c_device = i2c_device .I2CDevice (i2c_bus , address )
175178
@@ -180,7 +183,7 @@ def __init__(self, i2c_bus, address=_DPS310_DEFAULT_ADDRESS):
180183
181184 def initialize (self ):
182185 """Reset the sensor to the default state"""
183- print ("called initialize" )
186+ # print("called initialize")
184187 self ._init_values ()
185188 self .reset ()
186189 # wait for hardware reset to finish
@@ -223,20 +226,18 @@ def _init_values(self):
223226 @property
224227 def pressure (self ):
225228 """Returns the current pressure reading in kPA"""
226- raw_temperature = self .twosComplement (self ._raw_temperature , 24 )
227- raw_pressure = self .twosComplement (self ._raw_pressure , 24 )
228229
230+ temp_reading = self ._raw_temperature
231+ raw_temperature = self .twosComplement (temp_reading , 24 )
232+ pressure_reading = self ._raw_pressure
233+ raw_pressure = self .twosComplement (pressure_reading , 24 )
229234 _scaled_rawtemp = raw_temperature / self ._temp_scale
230235
231- # print("raw_temperature", raw_temperature)
232- # print("self._temp_scale", self._temp_scale)
233- # print("_scaled_rawtemp:", _scaled_rawtemp)
234- # print("self._c1, self._c0:", self._c1, self._c0)
235-
236- # print("self._c1 + self._c0:", self._c1 + self._c0)
237236 _temperature = _scaled_rawtemp * self ._c1 + self ._c0 / 2.0
238- # print("Temp: ", _temperature)
237+
239238 p_red = raw_pressure / self ._pressure_scale
239+
240+
240241 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 ))
241242
242243 final_pressure = pres_calc / 100
@@ -254,6 +255,15 @@ def sensor_ready(self):
254255 """Identifies the sensorhas measurements ready"""
255256 return self ._sensor_ready
256257
258+ @property
259+ def temperature_ready (self ):
260+ """Returns true if there is a temperature reading ready"""
261+ return self ._temp_ready
262+
263+ @property
264+ def pressure_ready (self ):
265+ return self ._pressure_ready
266+
257267 @property
258268 def mode (self ):
259269 """An example"""
@@ -265,29 +275,31 @@ def mode(self, value):
265275 raise AttributeError ("mode must be an `Mode`" )
266276
267277 self ._mode_bits = value
278+ ################# PRESSURE CONFIG ########################################
268279
269280 def pressure_configuration (self , rate , oversample ):
270281 """Configure the pressure rate and oversample count"""
271282 self ._pressure_ratebits = rate
272283 self ._pressure_osbits = oversample
273284
274- self ._shiftbit = (oversample > Samples .COUNT_8 )
285+ self ._pressure_shiftbit = (oversample > Samples .COUNT_8 )
275286
276287 self ._pressure_scale = self ._oversample_scalefactor [oversample ]
277-
288+ ################# TEMP CONFIG ############################################
278289 def temperature_configuration (self , rate , oversample ):
279290 """Configure the temperature rate and oversample count"""
280291
281292 self ._temp_ratebits = rate
282293 self ._temp_osbits = oversample
283294 self ._temp_scale = self ._oversample_scalefactor [oversample ]
295+ # print(" ***** setting temp shiftbit *******")
296+ self ._temp_shiftbit = (oversample > Samples .COUNT_8 ) # 0x9
297+ # print(" ***** getting temp coeff source *******")
284298
285- self ._shiftbit = (oversample > Samples .COUNT_8 ) # 0x9
286- # _shiftbit = RWBit(_DPS310_CFGREG, 2)
287-
288- coeff_src = self ._coeff_temp_src_bit # 0x28
299+ coeff_src = self ._calib_coeff_temp_src_bit # 0x28
289300
290- self ._temp_src_bit = coeff_src # 0x7
301+ self ._temp_measurement_src_bit = coeff_src # 0x7
302+ #############################################################################
291303
292304 def twosComplement (self , val , bits ):
293305 if (val & (1 << (bits - 1 ))):
0 commit comments