summaryrefslogtreecommitdiff
path: root/src/DisplayApp/Screens/SystemInfo.cpp
diff options
context:
space:
mode:
authorAvamander <avamander@gmail.com>2020-10-02 18:46:41 (GMT)
committerAvamander <avamander@gmail.com>2020-10-02 18:46:41 (GMT)
commite3fb2f0b8974f3e9a124d27f4b568e754ccfb782 (patch)
treebc43f58bca6920bfb5a78f3cf26d0ec5e8c0d5a0 /src/DisplayApp/Screens/SystemInfo.cpp
parent30c261028e27dab0e30aec19b9c21c37cc74e92b (diff)
Renamed DisplayApp/ to displayapp/
Diffstat (limited to 'src/DisplayApp/Screens/SystemInfo.cpp')
-rw-r--r--src/DisplayApp/Screens/SystemInfo.cpp116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/DisplayApp/Screens/SystemInfo.cpp b/src/DisplayApp/Screens/SystemInfo.cpp
deleted file mode 100644
index fcafcf7..0000000
--- a/src/DisplayApp/Screens/SystemInfo.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-#include <libs/lvgl/lvgl.h>
-#include <DisplayApp/DisplayApp.h>
-#include <functional>
-#include "SystemInfo.h"
-#include "../../Version.h"
-#include "Tile.h"
-
-using namespace Pinetime::Applications::Screens;
-
-SystemInfo::SystemInfo(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}, bleController{bleController}, watchdog{watchdog},
- screens{app, {
- [this]() -> std::unique_ptr<Screen> { return CreateScreen1(); },
- [this]() -> std::unique_ptr<Screen> { return CreateScreen2(); },
- [this]() -> std::unique_ptr<Screen> { return CreateScreen3(); }
- }
- } {}
-
-
-SystemInfo::~SystemInfo() {
- lv_obj_clean(lv_scr_act());
-}
-
-bool SystemInfo::Refresh() {
- screens.Refresh();
- return running;
-}
-
-bool SystemInfo::OnButtonPushed() {
- running = false;
- return true;
-}
-
-bool SystemInfo::OnTouchEvent(Pinetime::Applications::TouchEvents event) {
- return screens.OnTouchEvent(event);
-}
-
-std::unique_ptr<Screen> SystemInfo::CreateScreen1() {
- auto batteryPercentF = batteryController.PercentRemaining();
- uint16_t batteryPercent = 0;
- if(batteryPercentF > 100.0f) batteryPercent = 100;
- else if(batteryPercentF < 0.0f) batteryPercent = 0;
-
- uint8_t brightness = 0;
- switch(brightnessController.Level()) {
- case Controllers::BrightnessController::Levels::Off: brightness = 0; break;
- case Controllers::BrightnessController::Levels::Low: brightness = 1; break;
- case Controllers::BrightnessController::Levels::Medium: brightness = 2; break;
- case Controllers::BrightnessController::Levels::High: brightness = 3; break;
- }
- auto resetReason = [this]() {
- switch (watchdog.ResetReason()) {
- case Drivers::Watchdog::ResetReasons::Watchdog: return "wtdg";
- case Drivers::Watchdog::ResetReasons::HardReset: return "hardr";
- case Drivers::Watchdog::ResetReasons::NFC: return "nfc";
- case Drivers::Watchdog::ResetReasons::SoftReset: return "softr";
- case Drivers::Watchdog::ResetReasons::CpuLockup: return "cpulock";
- case Drivers::Watchdog::ResetReasons::SystemOff: return "off";
- case Drivers::Watchdog::ResetReasons::LpComp: return "lpcomp";
- case Drivers::Watchdog::ResetReasons::DebugInterface: return "dbg";
- case Drivers::Watchdog::ResetReasons::ResetPin: return "rst";
- default: return "?";
- }
- }();
-
- // uptime
- static constexpr uint32_t secondsInADay = 60*60*24;
- static constexpr uint32_t secondsInAnHour = 60*60;
- static constexpr uint32_t secondsInAMinute = 60;
- uint32_t uptimeSeconds = dateTimeController.Uptime().count();
- uint32_t uptimeDays = (uptimeSeconds / secondsInADay);
- uptimeSeconds = uptimeSeconds % secondsInADay;
- uint32_t uptimeHours = uptimeSeconds / secondsInAnHour;
- uptimeSeconds = uptimeSeconds % secondsInAnHour;
- uint32_t uptimeMinutes = uptimeSeconds / secondsInAMinute;
- uptimeSeconds = uptimeSeconds % secondsInAMinute;
- // TODO handle more than 100 days of uptime
-
- sprintf(t1, "Pinetime\n"
- "Version:%ld.%ld.%ld\n"
- "Build: %s\n"
- " %s\n"
- "Date: %02d/%02d/%04d\n"
- "Time: %02d:%02d:%02d\n"
- "Uptime: %02lud %02lu:%02lu:%02lu\n"
- "Battery: %d%%\n"
- "Backlight: %d/3\n"
- "Last reset: %s\n",
- Version::Major(), Version::Minor(), Version::Patch(),
- __DATE__, __TIME__,
- dateTimeController.Day(), static_cast<uint8_t>(dateTimeController.Month()), dateTimeController.Year(),
- dateTimeController.Hours(), dateTimeController.Minutes(), dateTimeController.Seconds(),
- uptimeDays, uptimeHours, uptimeMinutes, uptimeSeconds,
- batteryPercent, brightness, resetReason);
-
- return std::unique_ptr<Screen>(new Screens::Label(app, t1));
-}
-
-std::unique_ptr<Screen> SystemInfo::CreateScreen2() {
- 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]);
- return std::unique_ptr<Screen>(new Screens::Label(app, t2));
-}
-
-std::unique_ptr<Screen> SystemInfo::CreateScreen3() {
- strncpy(t3, "Hello from\nthe developper!", 27);
- return std::unique_ptr<Screen>(new Screens::Label(app, t3));
-}