From e8fa1c067e150a5ef58ea053fc49e5afa46e81cd Mon Sep 17 00:00:00 2001 From: Ciprian Manea Date: Sun, 4 Aug 2019 11:08:54 +0300 Subject: [PATCH 1/1] use generic variables; handle pms5003.ReadTimeoutError --- examples/all-in-one.py | 48 +++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/examples/all-in-one.py b/examples/all-in-one.py index ca0760b..bfefe7a 100755 --- a/examples/all-in-one.py +++ b/examples/all-in-one.py @@ -130,7 +130,7 @@ try: # One mode for each variable if mode == 0: - variable = "temperature" + # variable = "temperature" unit = "C" cpu_temp = get_cpu_temperature() # Smooth out with some averaging to decrease jitter @@ -138,70 +138,74 @@ try: avg_cpu_temp = sum(cpu_temps) / float(len(cpu_temps)) raw_temp = bme280.get_temperature() data = raw_temp - ((avg_cpu_temp - raw_temp) / factor) - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 1: - variable = "pressure" + # variable = "pressure" unit = "hPa" data = bme280.get_pressure() - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 2: - variable = "humidity" + # variable = "humidity" unit = "%" data = bme280.get_humidity() - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 3: - variable = "light" + # variable = "light" unit = "Lux" if proximity < 10: data = ltr559.get_lux() else: data = 1 - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 4: - variable = "oxidised" + # variable = "oxidised" unit = "kO" data = gas.read_all() data = data.oxidising / 1000 - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 5: - variable = "reduced" + # variable = "reduced" unit = "kO" data = gas.read_all() data = data.reducing / 1000 - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 6: - variable = "nh3" + # variable = "nh3" unit = "kO" data = gas.read_all() data = data.nh3 / 1000 - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 7: - variable = "pm1" + #variable = "pm1" unit = "ug/m3" - data = pms5003.read() - data = data.pm_ug_per_m3(1.0) - display_text(variable, data, unit) + try: + data = pms5003.read() + except pms5003.ReadTimeoutError: + pass + else: + data = data.pm_ug_per_m3(1.0) + display_text(variables[mode], data, unit) if mode == 8: - variable = "pm25" + # variable = "pm25" unit = "ug/m3" data = pms5003.read() data = data.pm_ug_per_m3(2.5) - display_text(variable, data, unit) + display_text(variables[mode], data, unit) if mode == 9: - variable = "pm10" + # variable = "pm10" unit = "ug/m3" data = pms5003.read() data = data.pm_ug_per_m3(10) - display_text(variable, data, unit) + display_text(variables[mode], data, unit) # Exit cleanly except KeyboardInterrupt: -- 2.30.2