diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/components/heartrate/Ppg.cpp | 10 | ||||
-rw-r--r-- | src/components/heartrate/Ppg.h | 6 | ||||
-rw-r--r-- | src/displayapp/DisplayApp.cpp | 45 | ||||
-rw-r--r-- | src/displayapp/DisplayApp.h | 5 | ||||
-rw-r--r-- | src/displayapp/DisplayAppRecovery.cpp | 8 | ||||
-rw-r--r-- | src/displayapp/DisplayAppRecovery.h | 2 | ||||
-rw-r--r-- | src/displayapp/fonts/README.md | 6 | ||||
-rw-r--r-- | src/displayapp/screens/Navigation.cpp | 2 | ||||
-rw-r--r-- | src/displayapp/screens/StopWatch.cpp | 3 | ||||
-rw-r--r-- | src/displayapp/screens/SystemInfo.cpp | 6 | ||||
-rw-r--r-- | src/displayapp/screens/WatchFaceDigital.cpp | 17 | ||||
-rw-r--r-- | src/displayapp/screens/settings/QuickSettings.cpp | 3 | ||||
-rw-r--r-- | src/displayapp/screens/settings/QuickSettings.h | 3 | ||||
m--------- | src/libs/lvgl | 0 | ||||
-rw-r--r-- | src/logging/NrfLogger.cpp | 5 | ||||
-rw-r--r-- | src/systemtask/SystemTask.cpp | 1 |
16 files changed, 70 insertions, 52 deletions
diff --git a/src/components/heartrate/Ppg.cpp b/src/components/heartrate/Ppg.cpp index 578e2895..da0789e0 100644 --- a/src/components/heartrate/Ppg.cpp +++ b/src/components/heartrate/Ppg.cpp @@ -11,7 +11,7 @@ using namespace Pinetime::Controllers; /** Original implementation from wasp-os : https://github.com/daniel-thompson/wasp-os/blob/master/wasp/ppg.py */ namespace { - int Compare(int* d1, int* d2, size_t count) { + int Compare(int8_t* d1, int8_t* d2, size_t count) { int e = 0; for (size_t i = 0; i < count; i++) { auto d = d1[i] - d2[i]; @@ -20,11 +20,11 @@ namespace { return e; } - int CompareShift(int* d, int shift, size_t count) { + int CompareShift(int8_t* d, int shift, size_t count) { return Compare(d + shift, d, count - shift); } - int Trough(int* d, size_t size, float mn, float mx) { + int Trough(int8_t* d, size_t size, uint8_t mn, uint8_t mx) { auto z2 = CompareShift(d, mn - 2, size); auto z1 = CompareShift(d, mn - 1, size); for (int i = mn; i < mx + 1; i++) { @@ -45,13 +45,13 @@ Ppg::Ppg(float spl) lpf {0.11595249, 0.23190498, 0.11595249, -0.72168143, 0.18549138} { } -int Ppg::Preprocess(float spl) { +int8_t Ppg::Preprocess(float spl) { spl -= offset; spl = hpf.Step(spl); spl = agc.Step(spl); spl = lpf.Step(spl); - auto spl_int = static_cast<int>(spl); + auto spl_int = static_cast<int8_t>(spl); if (dataIndex < 200) data[dataIndex++] = spl_int; diff --git a/src/components/heartrate/Ppg.h b/src/components/heartrate/Ppg.h index 6a2fcf18..ee07dfcf 100644 --- a/src/components/heartrate/Ppg.h +++ b/src/components/heartrate/Ppg.h @@ -10,14 +10,14 @@ namespace Pinetime { public: explicit Ppg(float spl); - int Preprocess(float spl); + int8_t Preprocess(float spl); float HeartRate(); void SetOffset(uint16_t i); void Reset(); private: - std::array<int, 200> data; + std::array<int8_t, 200> data; size_t dataIndex = 0; float offset; Biquad hpf; @@ -27,4 +27,4 @@ namespace Pinetime { float ProcessHeartRate(); }; } -}
\ No newline at end of file +} diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 3e25ec83..cc1f6b6c 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -7,6 +7,7 @@ #include "components/datetime/DateTimeController.h" #include "components/ble/NotificationManager.h" #include "components/motion/MotionController.h" +#include "components/motor/MotorController.h" #include "displayapp/screens/ApplicationList.h" #include "displayapp/screens/Brightness.h" #include "displayapp/screens/Clock.h" @@ -53,6 +54,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, Pinetime::Controllers::NotificationManager& notificationManager, Pinetime::Controllers::HeartRateController& heartRateController, Controllers::Settings& settingsController, + Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController) : lcd {lcd}, lvgl {lvgl}, @@ -65,6 +67,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, notificationManager {notificationManager}, heartRateController {heartRateController}, settingsController {settingsController}, + motorController {motorController}, motionController {motionController} { msgQueue = xQueueCreate(queueSize, itemSize); // Start clock when smartwatch boots @@ -72,8 +75,9 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, } void DisplayApp::Start() { - if (pdPASS != xTaskCreate(DisplayApp::Process, "displayapp", 800, this, 0, &taskHandle)) + if (pdPASS != xTaskCreate(DisplayApp::Process, "displayapp", 800, this, 0, &taskHandle)) { APP_ERROR_HANDLER(NRF_ERROR_NO_MEM); + } } void DisplayApp::Process(void* instance) { @@ -84,7 +88,7 @@ void DisplayApp::Process(void* instance) { // Send a dummy notification to unlock the lvgl display driver for the first iteration xTaskNotifyGive(xTaskGetCurrentTaskHandle()); - while (1) { + while (true) { app->Refresh(); } } @@ -212,7 +216,7 @@ void DisplayApp::StartApp(Apps app, DisplayApp::FullRefreshDirections direction) LoadApp(app, direction); } -void DisplayApp::returnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent) { +void DisplayApp::ReturnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent) { returnToApp = app; returnDirection = direction; returnTouchEvent = touchEvent; @@ -223,12 +227,12 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) SetFullRefresh(direction); // default return to launcher - returnApp(Apps::Launcher, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Launcher, FullRefreshDirections::Down, TouchEvents::SwipeDown); switch (app) { case Apps::Launcher: currentScreen = std::make_unique<Screens::ApplicationList>(this, settingsController, batteryController, dateTimeController); - returnApp(Apps::Clock, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Clock, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::None: case Apps::Clock: @@ -244,7 +248,7 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) case Apps::FirmwareValidation: currentScreen = std::make_unique<Screens::FirmwareValidation>(this, validator); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::FirmwareUpdate: currentScreen = std::make_unique<Screens::FirmwareUpdate>(this, bleController); @@ -253,39 +257,39 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) case Apps::Notifications: currentScreen = std::make_unique<Screens::Notifications>( this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Normal); - returnApp(Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp); + ReturnApp(Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp); break; case Apps::NotificationsPreview: currentScreen = std::make_unique<Screens::Notifications>( this, notificationManager, systemTask.nimble().alertService(), Screens::Notifications::Modes::Preview); - returnApp(Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp); + ReturnApp(Apps::Clock, FullRefreshDirections::Up, TouchEvents::SwipeUp); break; // Settings case Apps::QuickSettings: - currentScreen = - std::make_unique<Screens::QuickSettings>(this, batteryController, dateTimeController, brightnessController, settingsController); - returnApp(Apps::Clock, FullRefreshDirections::LeftAnim, TouchEvents::SwipeLeft); + currentScreen = std::make_unique<Screens::QuickSettings>( + this, batteryController, dateTimeController, brightnessController, motorController, settingsController); + ReturnApp(Apps::Clock, FullRefreshDirections::LeftAnim, TouchEvents::SwipeLeft); break; case Apps::Settings: currentScreen = std::make_unique<Screens::Settings>(this, settingsController); - returnApp(Apps::QuickSettings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::QuickSettings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SettingWatchFace: currentScreen = std::make_unique<Screens::SettingWatchFace>(this, settingsController); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SettingTimeFormat: currentScreen = std::make_unique<Screens::SettingTimeFormat>(this, settingsController); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SettingWakeUp: currentScreen = std::make_unique<Screens::SettingWakeUp>(this, settingsController); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SettingDisplay: currentScreen = std::make_unique<Screens::SettingDisplay>(this, settingsController); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SettingSteps: currentScreen = std::make_unique<Screens::SettingSteps>(this, settingsController); @@ -293,18 +297,18 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction) break; case Apps::BatteryInfo: currentScreen = std::make_unique<Screens::BatteryInfo>(this, batteryController); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; case Apps::SysInfo: currentScreen = std::make_unique<Screens::SystemInfo>(this, dateTimeController, batteryController, brightnessController, bleController, watchdog); - returnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); + ReturnApp(Apps::Settings, FullRefreshDirections::Down, TouchEvents::SwipeDown); break; // case Apps::FlashLight: currentScreen = std::make_unique<Screens::FlashLight>(this, systemTask, brightnessController); - returnApp(Apps::Clock, FullRefreshDirections::Down, TouchEvents::None); + ReturnApp(Apps::Clock, FullRefreshDirections::Down, TouchEvents::None); break; case Apps::StopWatch: currentScreen = std::make_unique<Screens::StopWatch>(this); @@ -355,8 +359,9 @@ TouchEvents DisplayApp::OnTouchEvent() { if (info.isTouch) { switch (info.gesture) { case Pinetime::Drivers::Cst816S::Gestures::SingleTap: - if (touchMode == TouchModes::Gestures) + if (touchMode == TouchModes::Gestures) { lvgl.SetNewTapEvent(info.x, info.y); + } return TouchEvents::Tap; case Pinetime::Drivers::Cst816S::Gestures::LongPress: return TouchEvents::LongTap; diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index ff5ddac8..ffe27cf1 100644 --- a/src/displayapp/DisplayApp.h +++ b/src/displayapp/DisplayApp.h @@ -8,6 +8,7 @@ #include "LittleVgl.h" #include "TouchEvents.h" #include "components/brightness/BrightnessController.h" +#include "components/motor/MotorController.h" #include "components/firmwarevalidator/FirmwareValidator.h" #include "components/settings/Settings.h" #include "displayapp/screens/Screen.h" @@ -51,6 +52,7 @@ namespace Pinetime { Pinetime::Controllers::NotificationManager& notificationManager, Pinetime::Controllers::HeartRateController& heartRateController, Controllers::Settings& settingsController, + Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController); void Start(); void PushMessage(Display::Messages msg); @@ -72,6 +74,7 @@ namespace Pinetime { Pinetime::Controllers::NotificationManager& notificationManager; Pinetime::Controllers::HeartRateController& heartRateController; Pinetime::Controllers::Settings& settingsController; + Pinetime::Controllers::MotorController& motorController; Pinetime::Controllers::MotionController& motionController; Pinetime::Controllers::FirmwareValidator validator; @@ -100,7 +103,7 @@ namespace Pinetime { static void Process(void* instance); void InitHw(); void Refresh(); - void returnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent); + void ReturnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent); void LoadApp(Apps app, DisplayApp::FullRefreshDirections direction); }; } diff --git a/src/displayapp/DisplayAppRecovery.cpp b/src/displayapp/DisplayAppRecovery.cpp index 5c7dd03d..a132a47c 100644 --- a/src/displayapp/DisplayAppRecovery.cpp +++ b/src/displayapp/DisplayAppRecovery.cpp @@ -18,6 +18,7 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd, Pinetime::Controllers::NotificationManager& notificationManager, Pinetime::Controllers::HeartRateController& heartRateController, Pinetime::Controllers::Settings& settingsController, + Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController) : lcd {lcd}, bleController {bleController} { msgQueue = xQueueCreate(queueSize, itemSize); @@ -36,7 +37,7 @@ void DisplayApp::Process(void* instance) { xTaskNotifyGive(xTaskGetCurrentTaskHandle()); app->InitHw(); - while (1) { + while (true) { app->Refresh(); } } @@ -50,10 +51,11 @@ void DisplayApp::Refresh() { if (xQueueReceive(msgQueue, &msg, 200)) { switch (msg) { case Display::Messages::UpdateBleConnection: - if (bleController.IsConnected()) + if (bleController.IsConnected()) { DisplayLogo(colorBlue); - else + } else { DisplayLogo(colorWhite); + } break; case Display::Messages::BleFirmwareUpdateStarted: DisplayLogo(colorGreen); diff --git a/src/displayapp/DisplayAppRecovery.h b/src/displayapp/DisplayAppRecovery.h index 025be6c0..30b8e0a1 100644 --- a/src/displayapp/DisplayAppRecovery.h +++ b/src/displayapp/DisplayAppRecovery.h @@ -17,6 +17,7 @@ #include <drivers/Watchdog.h> #include <components/heartrate/HeartRateController.h> #include <components/motion/MotionController.h> +#include <components/motor/MotorController.h> #include <components/settings/Settings.h> #include "TouchEvents.h" #include "Apps.h" @@ -41,6 +42,7 @@ namespace Pinetime { Pinetime::Controllers::NotificationManager& notificationManager, Pinetime::Controllers::HeartRateController& heartRateController, Pinetime::Controllers::Settings& settingsController, + Pinetime::Controllers::MotorController& motorController, Pinetime::Controllers::MotionController& motionController); void Start(); void PushMessage(Pinetime::Applications::Display::Messages msg); diff --git a/src/displayapp/fonts/README.md b/src/displayapp/fonts/README.md index 494654cd..f43e9c52 100644 --- a/src/displayapp/fonts/README.md +++ b/src/displayapp/fonts/README.md @@ -22,10 +22,10 @@ Add new symbols: readme updated with newest range list) * Convert this hex value into a UTF-8 code using [this site](http://www.ltg.ed.ac.uk/~richard/utf-8.cgi?input=f185&mode=hex) -* Define the new symbols in `src/DisplayApp/Screens/Symbols.h`: +* Define the new symbols in `src/displayapp/screens/Symbols.h`: ``` -static constex char* newSymbol = "\xEF\x86\x85"; +static constexpr const char* newSymbol = "\xEF\x86\x85"; ``` #### Navigation font @@ -41,4 +41,4 @@ ttf file : navigation.ttf name : lv_font_navi_80 size : 80px Bpp : 2 bit-per-pix $lv_font_conv --font navigation.ttf -r '0xe900-0xe929' --size 80 --format lvgl --bpp 2 --no-prefilter -o lv_font_navi_80.c -#### I use the method above to create the other ttf
\ No newline at end of file +#### I use the method above to create the other ttf diff --git a/src/displayapp/screens/Navigation.cpp b/src/displayapp/screens/Navigation.cpp index fe9b5a83..b5ce8b83 100644 --- a/src/displayapp/screens/Navigation.cpp +++ b/src/displayapp/screens/Navigation.cpp @@ -40,7 +40,7 @@ Navigation::Navigation(Pinetime::Applications::DisplayApp* app, Pinetime::Contro txtNarrative = lv_label_create(lv_scr_act(), nullptr); lv_label_set_long_mode(txtNarrative, LV_LABEL_LONG_BREAK); lv_obj_set_width(txtNarrative, LV_HOR_RES); - lv_label_set_text(txtNarrative, "Welcome to navigation!"); + lv_label_set_text(txtNarrative, "Navigation"); lv_label_set_align(txtNarrative, LV_LABEL_ALIGN_CENTER); lv_obj_align(txtNarrative, nullptr, LV_ALIGN_CENTER, 0, 10); diff --git a/src/displayapp/screens/StopWatch.cpp b/src/displayapp/screens/StopWatch.cpp index e06981af..d7cd20c3 100644 --- a/src/displayapp/screens/StopWatch.cpp +++ b/src/displayapp/screens/StopWatch.cpp @@ -115,8 +115,9 @@ bool StopWatch::Refresh() { // Init state when an user first opens the app // and when a stop/reset button is pressed case States::Init: { - if (btnStopLap) { + if (btnStopLap != nullptr) { lv_obj_del(btnStopLap); + btnStopLap = nullptr; } // The initial default value lv_label_set_text(time, "00:00"); diff --git a/src/displayapp/screens/SystemInfo.cpp b/src/displayapp/screens/SystemInfo.cpp index f6e8d61a..ab349d7b 100644 --- a/src/displayapp/screens/SystemInfo.cpp +++ b/src/displayapp/screens/SystemInfo.cpp @@ -70,8 +70,8 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen1() { "#FFFF00 InfiniTime#\n\n" "#444444 Version# %ld.%ld.%ld\n\n" "#444444 Build date#\n" - "\t%s\n" - "\t%s\n", + "%s\n" + "%s\n", Version::Major(), Version::Minor(), Version::Patch(), @@ -242,4 +242,4 @@ std::unique_ptr<Screen> SystemInfo::CreateScreen5() { lv_label_set_align(label, LV_LABEL_ALIGN_CENTER); lv_obj_align(label, lv_scr_act(), LV_ALIGN_CENTER, 0, 0); return std::unique_ptr<Screen>(new Screens::Label(4, 5, app, label)); -}
\ No newline at end of file +} diff --git a/src/displayapp/screens/WatchFaceDigital.cpp b/src/displayapp/screens/WatchFaceDigital.cpp index bf078d03..f1285eaf 100644 --- a/src/displayapp/screens/WatchFaceDigital.cpp +++ b/src/displayapp/screens/WatchFaceDigital.cpp @@ -88,14 +88,9 @@ WatchFaceDigital::WatchFaceDigital(DisplayApp* app, heartbeatValue = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(heartbeatValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xCE1B1B)); - lv_label_set_text(heartbeatValue, "---"); + lv_label_set_text(heartbeatValue, ""); lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0); - heartbeatBpm = lv_label_create(lv_scr_act(), nullptr); - lv_obj_set_style_local_text_color(heartbeatBpm, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xCE1B1B)); - lv_label_set_text(heartbeatBpm, "BPM"); - lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0); - stepValue = lv_label_create(lv_scr_act(), nullptr); lv_obj_set_style_local_text_color(stepValue, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x00FFE7)); lv_label_set_text(stepValue, "0"); @@ -226,14 +221,16 @@ bool WatchFaceDigital::Refresh() { heartbeat = heartRateController.HeartRate(); heartbeatRunning = heartRateController.State() != Controllers::HeartRateController::States::Stopped; if (heartbeat.IsUpdated() || heartbeatRunning.IsUpdated()) { - if (heartbeatRunning.Get()) + if (heartbeatRunning.Get()) { + lv_obj_set_style_local_text_color(heartbeatIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xCE1B1B)); lv_label_set_text_fmt(heartbeatValue, "%d", heartbeat.Get()); - else - lv_label_set_text_static(heartbeatValue, "---"); + } else { + lv_obj_set_style_local_text_color(heartbeatIcon, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0x1B1B1B)); + lv_label_set_text_static(heartbeatValue, ""); + } lv_obj_align(heartbeatIcon, lv_scr_act(), LV_ALIGN_IN_BOTTOM_LEFT, 5, -2); lv_obj_align(heartbeatValue, heartbeatIcon, LV_ALIGN_OUT_RIGHT_MID, 5, 0); - lv_obj_align(heartbeatBpm, heartbeatValue, LV_ALIGN_OUT_RIGHT_MID, 5, 0); } stepCount = motionController.NbSteps(); diff --git a/src/displayapp/screens/settings/QuickSettings.cpp b/src/displayapp/screens/settings/QuickSettings.cpp index d19e4222..3994794d 100644 --- a/src/displayapp/screens/settings/QuickSettings.cpp +++ b/src/displayapp/screens/settings/QuickSettings.cpp @@ -21,11 +21,13 @@ QuickSettings::QuickSettings(Pinetime::Applications::DisplayApp* app, Pinetime::Controllers::Battery& batteryController, Controllers::DateTime& dateTimeController, Controllers::BrightnessController& brightness, + Controllers::MotorController& motorController, Pinetime::Controllers::Settings& settingsController) : Screen(app), batteryController {batteryController}, dateTimeController {dateTimeController}, brightness {brightness}, + motorController{motorController}, settingsController {settingsController} { // Time @@ -138,6 +140,7 @@ void QuickSettings::OnButtonEvent(lv_obj_t* object, lv_event_t event) { if (lv_obj_get_state(btn3, LV_BTN_PART_MAIN) & LV_STATE_CHECKED) { settingsController.SetVibrationStatus(Controllers::Settings::Vibration::ON); + motorController.SetDuration(35); lv_label_set_text_static(btn3_lvl, Symbols::notificationsOn); } else { settingsController.SetVibrationStatus(Controllers::Settings::Vibration::OFF); diff --git a/src/displayapp/screens/settings/QuickSettings.h b/src/displayapp/screens/settings/QuickSettings.h index 8d04bec3..a14f46bf 100644 --- a/src/displayapp/screens/settings/QuickSettings.h +++ b/src/displayapp/screens/settings/QuickSettings.h @@ -7,6 +7,7 @@ #include <lvgl/lvgl.h> #include "components/datetime/DateTimeController.h" #include "components/brightness/BrightnessController.h" +#include "components/motor/MotorController.h" #include "components/settings/Settings.h" #include "components/battery/BatteryController.h" @@ -21,6 +22,7 @@ namespace Pinetime { Pinetime::Controllers::Battery& batteryController, Controllers::DateTime& dateTimeController, Controllers::BrightnessController& brightness, + Controllers::MotorController& motorController, Pinetime::Controllers::Settings& settingsController); ~QuickSettings() override; @@ -36,6 +38,7 @@ namespace Pinetime { Pinetime::Controllers::Battery& batteryController; Controllers::DateTime& dateTimeController; Controllers::BrightnessController& brightness; + Controllers::MotorController& motorController; Controllers::Settings& settingsController; lv_task_t* taskUpdate; diff --git a/src/libs/lvgl b/src/libs/lvgl -Subproject 1b6501dc3babf39538f4a02aa9fb14c2aaebca2 +Subproject 23430cf20e32294549fff9b2879a9466dacc19b diff --git a/src/logging/NrfLogger.cpp b/src/logging/NrfLogger.cpp index 70a00e61..1c048f2c 100644 --- a/src/logging/NrfLogger.cpp +++ b/src/logging/NrfLogger.cpp @@ -12,8 +12,9 @@ void NrfLogger::Init() { NRF_LOG_DEFAULT_BACKENDS_INIT(); - if (pdPASS != xTaskCreate(NrfLogger::Process, "LOGGER", 200, this, 0, &m_logger_thread)) + if (pdPASS != xTaskCreate(NrfLogger::Process, "LOGGER", 200, this, 0, &m_logger_thread)) { APP_ERROR_HANDLER(NRF_ERROR_NO_MEM); + } } void NrfLogger::Process(void*) { @@ -21,7 +22,7 @@ void NrfLogger::Process(void*) { // Suppress endless loop diagnostic #pragma clang diagnostic push #pragma ide diagnostic ignored "EndlessLoop" - while (1) { + while (true) { NRF_LOG_FLUSH(); vTaskDelay(100); // Not good for power consumption, it will wake up every 100ms... } diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 5b03fbbb..6d695e2c 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -115,6 +115,7 @@ void SystemTask::Work() { notificationManager, heartRateController, settingsController, + motorController, motionController); displayApp->Start(); |