From 7e8f17f0870951ecff729e7767598e172217d1ac Mon Sep 17 00:00:00 2001
From: schneider <schneider@blinkenlichts.net>
Date: Thu, 18 Jun 2020 23:17:33 +0200
Subject: [PATCH] feat(ble): Better bonding UI

---
 preload/apps/ble/__init__.py | 23 +++++++++++++++--------
 1 file changed, 15 insertions(+), 8 deletions(-)

diff --git a/preload/apps/ble/__init__.py b/preload/apps/ble/__init__.py
index 78fa5622..333e6905 100644
--- a/preload/apps/ble/__init__.py
+++ b/preload/apps/ble/__init__.py
@@ -108,8 +108,12 @@ while True:
         # print confirmation value
         compare_value = sys_ble.get_compare_value()
         disp.clear()
-        disp.print("confirm:", posy=0, fg=[0, 255, 255])
-        disp.print("%06d" % compare_value, posy=20, fg=[255, 0, 0])
+        disp.print("BLE: Bond?", posy=0, fg=[0, 0, 255])
+        disp.print("Code:", posy=20, fg=[0, 255, 255])
+        disp.print("   %06d" % compare_value, posy=40, fg=[255, 255, 255])
+        disp.print("Yes", posy=60, fg=[0, 255, 0])
+        disp.print("No", posx=120, posy=60, fg=[255, 0, 0])
+
         disp.update()
         state = 4
     elif state == 4:
@@ -117,15 +121,16 @@ while True:
         if ble_event == sys_ble.EVENT_PAIRING_FAILED:
             ble_event = None
             state = 6
-        if v & buttons.BOTTOM_RIGHT:
+        if v & buttons.BOTTOM_LEFT:
             sys_ble.confirm_compare_value(True)
             disp.clear()
-            disp.print("Wait", posy=0, fg=[0, 255, 255])
+            disp.print("BLE Bonding", posy=0, fg=[0, 0, 255])
+            disp.print("Please Wait", posy=40, fg=[255, 255, 255])
             disp.update()
             state = 5
-        elif v & buttons.BOTTOM_LEFT:
+        elif v & (buttons.BOTTOM_RIGHT | buttons.TOP_RIGHT):
             sys_ble.confirm_compare_value(False)
-            state = 1
+            state = 6
 
     elif state == 5:
         # Wait for pairing to complete
@@ -135,7 +140,8 @@ while True:
         elif ble_event == sys_ble.EVENT_PAIRING_COMPLETE:
             ble_event = None
             disp.clear()
-            disp.print("OK", posy=0, fg=[0, 255, 255])
+            disp.print("BLE Bonding", posy=0, fg=[0, 0, 255])
+            disp.print("  Success", posy=40, fg=[0, 255, 0])
             disp.update()
             time.sleep(5)
             state = 1
@@ -143,7 +149,8 @@ while True:
     elif state == 6:
         # display fail screen and wait 5 seconds
         disp.clear()
-        disp.print("Fail", posy=0, fg=[0, 255, 255])
+        disp.print("BLE Bonding", posy=0, fg=[0, 0, 255])
+        disp.print("   Fail", posy=40, fg=[255, 0, 0])
         disp.update()
         time.sleep(5)
         state = 1
-- 
GitLab