1
0
mirror of https://github.com/cmur2/python-bme680.git synced 2024-12-22 12:54:29 +01:00

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`.
This commit is contained in:
Dave Arter 2017-10-18 13:10:17 +01:00 committed by GitHub
parent 44208f5dae
commit 35b26a1529

View File

@ -182,7 +182,7 @@ class BME680(BME680Data):
raise ValueError("Profile '{}' should be between {} and {}".format(nb_profile, NBCONV_MIN, NBCONV_MAX)) raise ValueError("Profile '{}' should be between {} and {}".format(nb_profile, NBCONV_MIN, NBCONV_MAX))
self.gas_settings.heatr_temp = value self.gas_settings.heatr_temp = value
temp = self._calc_heater_resistance(self.gas_settings.heatr_temp) temp = int(self._calc_heater_resistance(self.gas_settings.heatr_temp))
self._set_regs(RES_HEAT0_ADDR + nb_profile, temp) self._set_regs(RES_HEAT0_ADDR + nb_profile, temp)
def set_gas_heater_duration(self, value, nb_profile=0): def set_gas_heater_duration(self, value, nb_profile=0):