From 6ed4ade9d72ff676c00be74ce1340799ee9b6975 Mon Sep 17 00:00:00 2001 From: Phil Howard Date: Tue, 17 Oct 2017 12:45:28 +0100 Subject: [PATCH] Tweaked polling, tweaked pressure scale --- bme680/__init__.py | 2 +- livetest.py | 26 ++++++++++++++------------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/bme680/__init__.py b/bme680/__init__.py index 3235910..4eca6cb 100644 --- a/bme680/__init__.py +++ b/bme680/__init__.py @@ -256,7 +256,7 @@ class BME680(BME680Data): self.data.temperature = temperature / 100.0 self.ambient_temperature = temperature # Saved for heater calc - self.data.pressure = self._calc_pressure(adc_pres) / 1000.0 + self.data.pressure = self._calc_pressure(adc_pres) / 100.0 self.data.humidity = self._calc_humidity(adc_hum) / 1000.0 self.data.gas_resistance = self._calc_gas_resistance(adc_gas_res, gas_range) return True diff --git a/livetest.py b/livetest.py index 286fc0f..b0086b9 100644 --- a/livetest.py +++ b/livetest.py @@ -3,6 +3,7 @@ import time sensor = bme680.BME680() +print("Calibration data:") for name in dir(sensor.calibration_data): if not name.startswith('_'): value = getattr(sensor.calibration_data, name) @@ -15,10 +16,8 @@ sensor.set_pressure_oversample(bme680.OS_4X) sensor.set_temperature_oversample(bme680.OS_8X) sensor.set_filter(bme680.FILTER_SIZE_3) sensor.set_gas_status(bme680.ENABLE_GAS_MEAS) -sensor.set_power_mode(bme680.FORCED_MODE) - -sensor.get_sensor_data() +print("\n\nInitial reading:") for name in dir(sensor.data): value = getattr(sensor.data, name) if not name.startswith('_'): @@ -33,19 +32,22 @@ sensor.select_gas_heater_profile(0) # sensor.set_gas_heater_profile(200, 150, nb_profile=1) # sensor.select_gas_heater_profile(1) +sensor.set_power_mode(bme680.FORCED_MODE) + +print("\n\nPolling:") try: while True: - sensor.set_power_mode(bme680.FORCED_MODE) - sensor.get_sensor_data() + if sensor.get_sensor_data(): - if sensor.data.heat_stable: - print("{}".format(sensor.data.gas_resistance)) + output = "{0:.2f} degC {1:.2f} hPa {2:.3f} %rH".format(sensor.data.temperature, sensor.data.pressure, sensor.data.humidity) + + if sensor.data.heat_stable: + print("{0} {1} ohms".format(output, sensor.data.gas_resistance)) + else: + print(output) + + sensor.set_power_mode(bme680.FORCED_MODE) - print("{} {} {}".format(sensor.data.temperature, sensor.data.pressure, sensor.data.humidity)) - #for name in dir(sensor.data): - # value = getattr(sensor.data, name) - # if not name.startswith('_'): - # print("{}: {}".format(name, value)) time.sleep(1) except KeyboardInterrupt: