diff options
Diffstat (limited to 'src/displayapp/DisplayApp.h')
-rw-r--r-- | src/displayapp/DisplayApp.h | 138 |
1 files changed, 70 insertions, 68 deletions
diff --git a/src/displayapp/DisplayApp.h b/src/displayapp/DisplayApp.h index 85aee0fe..75e52755 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" @@ -35,74 +36,75 @@ namespace Pinetime { }; namespace Applications { class DisplayApp { - public: - enum class States {Idle, Running}; - enum class FullRefreshDirections { None, Up, Down, Left, Right, LeftAnim, RightAnim }; - enum class TouchModes { Gestures, Polling }; - - DisplayApp(Drivers::St7789 &lcd, Components::LittleVgl &lvgl, Drivers::Cst816S &, - Controllers::Battery &batteryController, Controllers::Ble &bleController, - Controllers::DateTime &dateTimeController, Drivers::WatchdogView &watchdog, - System::SystemTask &systemTask, - Pinetime::Controllers::NotificationManager& notificationManager, - Pinetime::Controllers::HeartRateController& heartRateController, - Controllers::Settings &settingsController, - Pinetime::Controllers::MotionController& motionController - ); - void Start(); - void PushMessage(Display::Messages msg); - - void StartApp(Apps app, DisplayApp::FullRefreshDirections direction); - - void SetFullRefresh(FullRefreshDirections direction); - void SetTouchMode(TouchModes mode); - - private: - - Pinetime::Drivers::St7789& lcd; - Pinetime::Components::LittleVgl& lvgl; - Pinetime::Drivers::Cst816S& touchPanel; - Pinetime::Controllers::Battery &batteryController; - Pinetime::Controllers::Ble &bleController; - Pinetime::Controllers::DateTime& dateTimeController; - Pinetime::Drivers::WatchdogView& watchdog; - Pinetime::System::SystemTask& systemTask; - Pinetime::Controllers::NotificationManager& notificationManager; - Pinetime::Controllers::HeartRateController& heartRateController; - Pinetime::Controllers::Settings& settingsController; - Pinetime::Controllers::MotionController& motionController; - - Pinetime::Controllers::FirmwareValidator validator; - Controllers::BrightnessController brightnessController; - - TaskHandle_t taskHandle; - - States state = States::Running; - QueueHandle_t msgQueue; - - static constexpr uint8_t queueSize = 10; - static constexpr uint8_t itemSize = 1; - - std::unique_ptr<Screens::Screen> currentScreen; - - Apps currentApp = Apps::None; - Apps returnToApp = Apps::None; - FullRefreshDirections returnDirection = FullRefreshDirections::None; - TouchEvents returnTouchEvent = TouchEvents::None; - - TouchModes touchMode = TouchModes::Gestures; - - TouchEvents OnTouchEvent(); - void RunningState(); - void IdleState(); - static void Process(void* instance); - void InitHw(); - void Refresh(); - void returnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent); - void LoadApp(Apps app, DisplayApp::FullRefreshDirections direction); - + public: + enum class States { Idle, Running }; + enum class FullRefreshDirections { None, Up, Down, Left, Right, LeftAnim, RightAnim }; + enum class TouchModes { Gestures, Polling }; + + DisplayApp(Drivers::St7789& lcd, + Components::LittleVgl& lvgl, + Drivers::Cst816S&, + Controllers::Battery& batteryController, + Controllers::Ble& bleController, + Controllers::DateTime& dateTimeController, + Drivers::WatchdogView& watchdog, + System::SystemTask& systemTask, + 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); + + void StartApp(Apps app, DisplayApp::FullRefreshDirections direction); + + void SetFullRefresh(FullRefreshDirections direction); + void SetTouchMode(TouchModes mode); + + private: + Pinetime::Drivers::St7789& lcd; + Pinetime::Components::LittleVgl& lvgl; + Pinetime::Drivers::Cst816S& touchPanel; + Pinetime::Controllers::Battery& batteryController; + Pinetime::Controllers::Ble& bleController; + Pinetime::Controllers::DateTime& dateTimeController; + Pinetime::Drivers::WatchdogView& watchdog; + Pinetime::System::SystemTask& systemTask; + Pinetime::Controllers::NotificationManager& notificationManager; + Pinetime::Controllers::HeartRateController& heartRateController; + Pinetime::Controllers::Settings& settingsController; + Pinetime::Controllers::MotorController& motorController; + Pinetime::Controllers::MotionController& motionController; + + Pinetime::Controllers::FirmwareValidator validator; + Controllers::BrightnessController brightnessController; + + TaskHandle_t taskHandle; + + States state = States::Running; + QueueHandle_t msgQueue; + + static constexpr uint8_t queueSize = 10; + static constexpr uint8_t itemSize = 1; + + std::unique_ptr<Screens::Screen> currentScreen; + + Apps currentApp = Apps::None; + Apps returnToApp = Apps::None; + FullRefreshDirections returnDirection = FullRefreshDirections::None; + TouchEvents returnTouchEvent = TouchEvents::None; + + TouchModes touchMode = TouchModes::Gestures; + + TouchEvents OnTouchEvent(); + void RunningState(); + void IdleState(); + static void Process(void* instance); + void InitHw(); + void Refresh(); + void returnApp(Apps app, DisplayApp::FullRefreshDirections direction, TouchEvents touchEvent); + void LoadApp(Apps app, DisplayApp::FullRefreshDirections direction); }; } } - - |