summaryrefslogtreecommitdiff
path: root/src/DisplayApp
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2019-12-27 16:05:49 (GMT)
committerJF <jf@codingfield.com>2019-12-27 16:05:49 (GMT)
commit46eeefb53a1843908c3e7dbae56dbaa0a6d83bdd (patch)
tree2ce3c2e9c819cd84b42b3c6035890b1cdb7dd45e /src/DisplayApp
parent11aa5e3d880af978dc5c337357c3802355c799eb (diff)
Add BleController to manage the BLE connection status
Diffstat (limited to 'src/DisplayApp')
-rw-r--r--src/DisplayApp/DisplayApp.cpp15
-rw-r--r--src/DisplayApp/DisplayApp.h5
2 files changed, 16 insertions, 4 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp
index 1015393..f72f057 100644
--- a/src/DisplayApp/DisplayApp.cpp
+++ b/src/DisplayApp/DisplayApp.cpp
@@ -10,7 +10,9 @@
using namespace Pinetime::Applications;
-DisplayApp::DisplayApp(Pinetime::Controllers::Battery &batteryController) : batteryController{batteryController} {
+DisplayApp::DisplayApp(Pinetime::Controllers::Battery &batteryController, Pinetime::Controllers::Ble &bleController) :
+ batteryController{batteryController},
+ bleController{bleController} {
msgQueue = xQueueCreate(queueSize, itemSize);
}
@@ -66,8 +68,8 @@ void DisplayApp::InitHw() {
x = 181;
gfx->DrawChar(&largeFont, '0', &x, 78, 0xffff);
- gfx->DrawString(10, 0, 0xffff, "BLE", &smallFont, false);
- gfx->DrawString(20, 160, 0xffff, "FRIDAY 27 DEC 2019", &smallFont, false);
+ gfx->DrawString(10, 0, 0x0000, "BLE", &smallFont, false);
+ gfx->DrawString(20, 180, 0xffff, "FRIDAY 27 DEC 2019", &smallFont, false);
}
void DisplayApp::Refresh() {
@@ -133,6 +135,13 @@ void DisplayApp::RunningState() {
gfx->DrawString((240-108), 0, 0xffff, batteryChar, &smallFont, false);
}
+ bool newIsBleConnected = bleController.IsConnected();
+ if(newIsBleConnected != bleConnected) {
+ bleConnected = newIsBleConnected;
+ uint16_t color = (bleConnected) ? 0xffff : 0x0000;
+ gfx->DrawString(10, 0, color, "BLE", &smallFont, false);
+ }
+
auto raw = systick_counter / 1000;
auto currentDeltaSeconds = raw - deltaSeconds;
diff --git a/src/DisplayApp/DisplayApp.h b/src/DisplayApp/DisplayApp.h
index 4605cf1..3bc9f46 100644
--- a/src/DisplayApp/DisplayApp.h
+++ b/src/DisplayApp/DisplayApp.h
@@ -7,6 +7,7 @@
#include <bits/unique_ptr.h>
#include <queue.h>
#include <Components/Battery/BatteryController.h>
+#include <Components/Ble/BleController.h>
#include "lcdfont14.h"
extern const FONT_INFO lCD_70ptFontInfo;
@@ -17,7 +18,7 @@ namespace Pinetime {
public:
enum class States {Idle, Running};
enum class Messages : uint8_t {GoToSleep, GoToRunning} ;
- DisplayApp(Pinetime::Controllers::Battery& batteryController);
+ DisplayApp(Pinetime::Controllers::Battery& batteryController, Pinetime::Controllers::Ble& bleController);
void Start();
void Minutes(uint8_t m);
@@ -53,7 +54,9 @@ namespace Pinetime {
static constexpr uint8_t itemSize = 1;
Pinetime::Controllers::Battery &batteryController;
+ Pinetime::Controllers::Ble &bleController;
uint16_t battery = 0;
+ bool bleConnected = false;
};
}