Skip to content

Commit 35b26a1

Browse files
authored
Ensure set_gas_heater_temperature calls _set_regs with int
When running the `examples/read-all.py` script I was seeing a crash because the value passed to `write_i2c_block_data` wasn't being converted to an int: ``` File "/home/pi/tmp/bme680/library/bme680/__init__.py", line 281, in _set_regs self._i2c.write_i2c_block_data(self.i2c_addr, register, value) TypeError: Third argument must be a list of at least one, but not more than 32 integers ``` This commit ensures `set_gas_heater_temperature` converts the temperature to an int before it's passed to `self._set_regs`.
1 parent 44208f5 commit 35b26a1

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

library/bme680/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ def set_gas_heater_temperature(self, value, nb_profile=0):
182182
raise ValueError("Profile '{}' should be between {} and {}".format(nb_profile, NBCONV_MIN, NBCONV_MAX))
183183

184184
self.gas_settings.heatr_temp = value
185-
temp = self._calc_heater_resistance(self.gas_settings.heatr_temp)
185+
temp = int(self._calc_heater_resistance(self.gas_settings.heatr_temp))
186186
self._set_regs(RES_HEAT0_ADDR + nb_profile, temp)
187187

188188
def set_gas_heater_duration(self, value, nb_profile=0):

0 commit comments

Comments
 (0)