From db117163f2eda4c4a580062ae8403cac0e9f0a3a Mon Sep 17 00:00:00 2001
From: koalo <koalo@koalo.de>
Date: Thu, 22 Aug 2019 13:26:37 +0200
Subject: [PATCH] feat(bhi160): Toggle between sensors in app

---
 preload/apps/bhi160/__init__.py   | 22 +++++++++++++++++++---
 preload/apps/bhi160/metadata.json |  1 +
 2 files changed, 20 insertions(+), 3 deletions(-)
 create mode 100644 preload/apps/bhi160/metadata.json

diff --git a/preload/apps/bhi160/__init__.py b/preload/apps/bhi160/__init__.py
index 561c3e69..3632008c 100644
--- a/preload/apps/bhi160/__init__.py
+++ b/preload/apps/bhi160/__init__.py
@@ -1,13 +1,20 @@
 import bhi160
 import display
 import utime
+import buttons
 
 disp = display.open()
+sensor = 0
 
-bhi = bhi160.BHI160Accelerometer()
+sensors = [
+    {"sensor": bhi160.BHI160Orientation(), "name": "Orientation"},
+    {"sensor": bhi160.BHI160Accelerometer(), "name": "Accelerometer"},
+    {"sensor": bhi160.BHI160Gyroscope(), "name": "Gyroscope"},
+]
 
 while True:
-    samples = bhi.read()
+    # Read and print sample
+    samples = sensors[sensor]["sensor"].read()
     if len(samples) > 0:
         disp.clear()
         sample = samples[0]
@@ -20,11 +27,20 @@ while True:
         elif sample.status == 3:
             color = [0, 200, 0]
 
-        disp.print("Accelerometer", posy=0)
+        disp.print(sensors[sensor]["name"], posy=0)
         disp.print("X: %f" % sample.x, posy=20, fg=color)
         disp.print("Y: %f" % sample.y, posy=40, fg=color)
         disp.print("Z: %f" % sample.z, posy=60, fg=color)
 
         disp.update()
 
+    # Read button
+    v = buttons.read(buttons.BOTTOM_RIGHT)
+    if v == 0:
+        button_pressed = False
+
+    if not button_pressed and v & buttons.BOTTOM_RIGHT != 0:
+        button_pressed = True
+        sensor = (sensor + 1) % len(sensors)
+
     utime.sleep(0.1)
diff --git a/preload/apps/bhi160/metadata.json b/preload/apps/bhi160/metadata.json
new file mode 100644
index 00000000..e8a0a37a
--- /dev/null
+++ b/preload/apps/bhi160/metadata.json
@@ -0,0 +1 @@
+{"author": "card10badge team", "name": "BHI160", "description": "Read BHI160 sensor data", "category": "Hardware", "revision": 1}
-- 
GitLab