diff options
author | JF <jf@codingfield.com> | 2020-06-08 21:51:34 +0200 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-06-08 21:51:34 +0200 |
commit | 47851fb3b476268d967738f09f9da812e0fc575f (patch) | |
tree | b243cae75725ac388bf9bd944c1f8d4126bb22a8 /src/DisplayApp | |
parent | 9115c49bba366698c79b3fc07a991bee1c0cd4ca (diff) |
Display BLE MAC address in sysinfo Screen.
Diffstat (limited to 'src/DisplayApp')
-rw-r--r-- | src/DisplayApp/DisplayApp.cpp | 2 | ||||
-rw-r--r-- | src/DisplayApp/Screens/ScreenList.cpp | 18 | ||||
-rw-r--r-- | src/DisplayApp/Screens/ScreenList.h | 8 |
3 files changed, 20 insertions, 8 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index 01c3aa96..8e35ef55 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -185,7 +185,7 @@ void DisplayApp::RunningState() { onClockApp = true; break; // case Apps::Test: currentScreen.reset(new Screens::Message(this)); break; - case Apps::SysInfo: currentScreen.reset(new Screens::ScreenList(this, dateTimeController, batteryController, brightnessController, watchdog)); break; + case Apps::SysInfo: currentScreen.reset(new Screens::ScreenList(this, dateTimeController, batteryController, brightnessController, bleController, watchdog)); break; case Apps::Meter: currentScreen.reset(new Screens::Meter(this)); break; case Apps::Gauge: currentScreen.reset(new Screens::Gauge(this)); break; case Apps::Brightness : currentScreen.reset(new Screens::Brightness(this, brightnessController)); break; diff --git a/src/DisplayApp/Screens/ScreenList.cpp b/src/DisplayApp/Screens/ScreenList.cpp index 4599a384..48f71649 100644 --- a/src/DisplayApp/Screens/ScreenList.cpp +++ b/src/DisplayApp/Screens/ScreenList.cpp @@ -8,10 +8,15 @@ using namespace Pinetime::Applications::Screens; // move operation. // It should accept many type of "sub screen" (it only supports Label for now). // The number of sub screen it supports must be dynamic. -ScreenList::ScreenList(Pinetime::Applications::DisplayApp *app, Pinetime::Controllers::DateTime &dateTimeController, - Pinetime::Controllers::Battery& batteryController, Pinetime::Controllers::BrightnessController& brightnessController, Pinetime::Drivers::WatchdogView& watchdog) : +ScreenList::ScreenList(Pinetime::Applications::DisplayApp *app, + Pinetime::Controllers::DateTime &dateTimeController, + Pinetime::Controllers::Battery& batteryController, + Pinetime::Controllers::BrightnessController& brightnessController, + Pinetime::Controllers::Ble& bleController, + Pinetime::Drivers::WatchdogView& watchdog) : Screen(app), - dateTimeController{dateTimeController}, batteryController{batteryController}, brightnessController{brightnessController}, watchdog{watchdog} { + dateTimeController{dateTimeController}, batteryController{batteryController}, + brightnessController{brightnessController}, bleController{bleController}, watchdog{watchdog} { screens.reserve(3); // TODO all of this is far too heavy (string processing). This should be improved. @@ -75,10 +80,13 @@ ScreenList::ScreenList(Pinetime::Applications::DisplayApp *app, Pinetime::Contro screens.emplace_back(t1); - strncpy(t2, "Hello from\nthe developper!", 27); + auto& bleAddr = bleController.Address(); + sprintf(t2, "BLE MAC: \n %2x:%2x:%2x:%2x:%2x:%2x", + bleAddr[5], bleAddr[4], bleAddr[3], bleAddr[2], bleAddr[1], bleAddr[0]); screens.emplace_back(t2); - strncpy(t3, "Place holder\nin case we need\nmore room!", 40); + strncpy(t3, "Hello from\nthe developper!", 27); + screens.emplace_back(t3); auto &screen = screens[screenIndex]; diff --git a/src/DisplayApp/Screens/ScreenList.h b/src/DisplayApp/Screens/ScreenList.h index ad093d35..b0ee016b 100644 --- a/src/DisplayApp/Screens/ScreenList.h +++ b/src/DisplayApp/Screens/ScreenList.h @@ -1,6 +1,7 @@ #pragma once #include <vector> +#include <Components/Ble/NimbleController.h> #include "Screen.h" #include "Label.h" @@ -13,6 +14,7 @@ namespace Pinetime { Pinetime::Controllers::DateTime& dateTimeController, Pinetime::Controllers::Battery& batteryController, Pinetime::Controllers::BrightnessController& brightnessController, + Pinetime::Controllers::Ble& bleController, Pinetime::Drivers::WatchdogView& watchdog); ~ScreenList() override; bool Refresh() override; @@ -27,11 +29,13 @@ namespace Pinetime { Pinetime::Controllers::DateTime& dateTimeController; Pinetime::Controllers::Battery& batteryController; Pinetime::Controllers::BrightnessController& brightnessController; + Pinetime::Controllers::Ble& bleController; Pinetime::Drivers::WatchdogView& watchdog; + char t1[200]; - char t2[30]; - char t3[42]; + char t2[200]; + char t3[30]; }; } } |