@@ -70,7 +70,7 @@ def __init__(self, i2c_bus, ambient_pressure=0, address=SCD30_DEFAULT_ADDR):
70
70
71
71
# cached readings
72
72
self ._temperature = None
73
- self ._relative_humitidy = None
73
+ self ._relative_humidity = None
74
74
self ._e_co2 = None
75
75
76
76
def reset (self ):
@@ -198,7 +198,7 @@ def relative_humidity(self):
198
198
**NOTE** Between measurements, the most recent reading will be cached and returned. """
199
199
if self .data_available :
200
200
self ._read_data ()
201
- return self ._relative_humitidy
201
+ return self ._relative_humidity
202
202
203
203
def _send_command (self , command , arguments = None ):
204
204
# if there is an argument, calculate the CRC and include it as well.
@@ -223,7 +223,10 @@ def _read_register(self, reg_addr):
223
223
self ._buffer [0 ] = reg_addr >> 8
224
224
self ._buffer [1 ] = reg_addr & 0xFF
225
225
with self .i2c_device as i2c :
226
- i2c .write_then_readinto (self ._buffer , self ._buffer , out_end = 2 , in_end = 2 )
226
+ i2c .write (self ._buffer , end = 2 )
227
+ # separate readinto because the SCD30 wants an i2c stop before the read (non-repeated start)
228
+ with self .i2c_device as i2c :
229
+ i2c .readinto (self ._buffer , end = 2 )
227
230
return unpack_from (">H" , self ._buffer )[0 ]
228
231
229
232
def _read_data (self ):
@@ -243,7 +246,7 @@ def _read_data(self):
243
246
244
247
self ._e_co2 = unpack (">f" , self ._buffer [0 :2 ] + self ._buffer [3 :5 ])[0 ]
245
248
self ._temperature = unpack (">f" , self ._buffer [6 :8 ] + self ._buffer [9 :11 ])[0 ]
246
- self ._relative_humitidy = unpack (
249
+ self ._relative_humidity = unpack (
247
250
">f" , self ._buffer [12 :14 ] + self ._buffer [15 :17 ]
248
251
)[0 ]
249
252
0 commit comments