Fixed graphing problem for PMS5003 results
[EVA-2020-02-2.git] / examples / all-in-one.py
index 85a9a155ce8e7c12860f64c3e394cc0bfabe056b..03e4d5880d186e4cede2112ac836119b593b72f6 100755 (executable)
@@ -5,7 +5,12 @@ import colorsys
 import os
 import sys
 import ST7735
 import os
 import sys
 import ST7735
-import ltr559
+try:
+    # Transitional fix for breaking change in LTR559
+    from ltr559 import LTR559
+    ltr559 = LTR559()
+except ImportError:
+    import ltr559
 
 from bme280 import BME280
 from pms5003 import PMS5003, ReadTimeoutError as pmsReadTimeoutError
 
 from bme280 import BME280
 from pms5003 import PMS5003, ReadTimeoutError as pmsReadTimeoutError
@@ -102,7 +107,7 @@ factor = 0.8
 cpu_temps = [get_cpu_temperature()] * 5
 
 delay = 0.5  # Debounce the proximity tap
 cpu_temps = [get_cpu_temperature()] * 5
 
 delay = 0.5  # Debounce the proximity tap
-mode = 0  # The starting mode
+mode = 0     # The starting mode
 last_page = 0
 light = 1
 
 last_page = 0
 light = 1
 
@@ -194,9 +199,9 @@ try:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
-                pass
+                logging.warn("Failed to read PMS5003")
             else:
             else:
-                data = data.pm_ug_per_m3(1.0)
+                data = float(data.pm_ug_per_m3(1.0))
                 display_text(variables[mode], data, unit)
 
         if mode == 8:
                 display_text(variables[mode], data, unit)
 
         if mode == 8:
@@ -205,9 +210,9 @@ try:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
-                pass
+                logging.warn("Failed to read PMS5003")
             else:
             else:
-                data = data.pm_ug_per_m3(2.5)
+                data = float(data.pm_ug_per_m3(2.5))
                 display_text(variables[mode], data, unit)
 
         if mode == 9:
                 display_text(variables[mode], data, unit)
 
         if mode == 9:
@@ -216,9 +221,9 @@ try:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
             try:
                 data = pms5003.read()
             except pmsReadTimeoutError:
-                pass
+                logging.warn("Failed to read PMS5003")
             else:
             else:
-                data = data.pm_ug_per_m3(10)
+                data = float(data.pm_ug_per_m3(10))
                 display_text(variables[mode], data, unit)
 
 # Exit cleanly
                 display_text(variables[mode], data, unit)
 
 # Exit cleanly