@@ -214,11 +214,11 @@ def _read_data(self) -> None:
214
214
"""Reads the temp/hum/co2 from the sensor and caches it"""
215
215
self ._send_command (_SCD4X_READMEASUREMENT , cmd_delay = 0.001 )
216
216
self ._read_reply (self ._buffer , 9 )
217
- self ._co2 = (self ._buffer [0 ] << 8 ) | self ._buffer [1 ]
217
+ self ._co2 = (self ._buffer [0 ] << 8 ) | self ._buffer [1 ] # CO2 = word[0]
218
218
temp = (self ._buffer [3 ] << 8 ) | self ._buffer [4 ]
219
- self ._temperature = - 45 + 175 * (temp / 65535 )
219
+ self ._temperature = - 45 + 175 * (temp / 65535 ) # T = -45 + 175 * (word[1] / 2**16 - 1)
220
220
humi = (self ._buffer [6 ] << 8 ) | self ._buffer [7 ]
221
- self ._relative_humidity = 100 * (humi / 65535 )
221
+ self ._relative_humidity = 100 * (humi / 65535 ) # RH = 100 * (word[2] / (2**16 - 1))
222
222
223
223
@property
224
224
def data_ready (self ) -> bool :
@@ -295,15 +295,15 @@ def temperature_offset(self) -> float:
295
295
self ._send_command (_SCD4X_GETTEMPOFFSET , cmd_delay = 0.001 )
296
296
self ._read_reply (self ._buffer , 3 )
297
297
temp = (self ._buffer [0 ] << 8 ) | self ._buffer [1 ]
298
- return temp * 175.0 / 65535
298
+ return temp * 175.0 / 65535 # T_offset = word[0] * (175 / (2**16 - 1))
299
299
300
300
@temperature_offset .setter
301
301
def temperature_offset (self , offset : Union [int , float ]) -> None :
302
302
if offset > 374 :
303
303
raise AttributeError (
304
304
"Offset value must be less than or equal to 374 degrees Celsius"
305
305
)
306
- temp = int (offset * 65535 / 175 )
306
+ temp = int (offset * 65535 / 175 ) # word[0] = T_offset * ((2**16 - 1) / 175)
307
307
self ._set_command_value (_SCD4X_SETTEMPOFFSET , temp )
308
308
309
309
@property
0 commit comments