TimerController: Make TimerController reusable
TimerController instance was moved to DisplayApp.
This commit is contained in:
@@ -57,6 +57,11 @@ namespace {
|
||||
inline bool in_isr() {
|
||||
return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0;
|
||||
}
|
||||
|
||||
void TimerCallback(TimerHandle_t xTimer) {
|
||||
auto* dispApp = static_cast<DisplayApp*>(pvTimerGetTimerID(xTimer));
|
||||
dispApp->PushMessage(Display::Messages::TimerDone);
|
||||
}
|
||||
}
|
||||
|
||||
DisplayApp::DisplayApp(Drivers::St7789& lcd,
|
||||
@@ -70,7 +75,6 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd,
|
||||
Controllers::Settings& settingsController,
|
||||
Pinetime::Controllers::MotorController& motorController,
|
||||
Pinetime::Controllers::MotionController& motionController,
|
||||
Pinetime::Controllers::TimerController& timerController,
|
||||
Pinetime::Controllers::AlarmController& alarmController,
|
||||
Pinetime::Controllers::BrightnessController& brightnessController,
|
||||
Pinetime::Controllers::TouchHandler& touchHandler,
|
||||
@@ -86,12 +90,12 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd,
|
||||
settingsController {settingsController},
|
||||
motorController {motorController},
|
||||
motionController {motionController},
|
||||
timerController {timerController},
|
||||
alarmController {alarmController},
|
||||
brightnessController {brightnessController},
|
||||
touchHandler {touchHandler},
|
||||
filesystem {filesystem},
|
||||
lvgl {lcd, filesystem} {
|
||||
lvgl {lcd, filesystem},
|
||||
timerController(this, TimerCallback) {
|
||||
}
|
||||
|
||||
void DisplayApp::Start(System::BootErrors error) {
|
||||
@@ -238,6 +242,9 @@ void DisplayApp::Refresh() {
|
||||
LoadNewScreen(Apps::NotificationsPreview, DisplayApp::FullRefreshDirections::Down);
|
||||
break;
|
||||
case Messages::TimerDone:
|
||||
if (state != States::Running) {
|
||||
PushMessageToSystemTask(System::Messages::GoToRunning);
|
||||
}
|
||||
if (currentApp == Apps::Timer) {
|
||||
lv_disp_trig_activity(nullptr);
|
||||
auto* timer = static_cast<Screens::Timer*>(currentScreen.get());
|
||||
|
@@ -61,7 +61,6 @@ namespace Pinetime {
|
||||
Controllers::Settings& settingsController,
|
||||
Pinetime::Controllers::MotorController& motorController,
|
||||
Pinetime::Controllers::MotionController& motionController,
|
||||
Pinetime::Controllers::TimerController& timerController,
|
||||
Pinetime::Controllers::AlarmController& alarmController,
|
||||
Pinetime::Controllers::BrightnessController& brightnessController,
|
||||
Pinetime::Controllers::TouchHandler& touchHandler,
|
||||
@@ -88,7 +87,6 @@ namespace Pinetime {
|
||||
Pinetime::Controllers::Settings& settingsController;
|
||||
Pinetime::Controllers::MotorController& motorController;
|
||||
Pinetime::Controllers::MotionController& motionController;
|
||||
Pinetime::Controllers::TimerController& timerController;
|
||||
Pinetime::Controllers::AlarmController& alarmController;
|
||||
Pinetime::Controllers::BrightnessController& brightnessController;
|
||||
Pinetime::Controllers::TouchHandler& touchHandler;
|
||||
@@ -96,6 +94,7 @@ namespace Pinetime {
|
||||
|
||||
Pinetime::Controllers::FirmwareValidator validator;
|
||||
Pinetime::Components::LittleVgl lvgl;
|
||||
Pinetime::Controllers::TimerController timerController;
|
||||
|
||||
TaskHandle_t taskHandle;
|
||||
|
||||
|
@@ -21,7 +21,6 @@ DisplayApp::DisplayApp(Drivers::St7789& lcd,
|
||||
Controllers::Settings& /*settingsController*/,
|
||||
Pinetime::Controllers::MotorController& /*motorController*/,
|
||||
Pinetime::Controllers::MotionController& /*motionController*/,
|
||||
Pinetime::Controllers::TimerController& /*timerController*/,
|
||||
Pinetime::Controllers::AlarmController& /*alarmController*/,
|
||||
Pinetime::Controllers::BrightnessController& /*brightnessController*/,
|
||||
Pinetime::Controllers::TouchHandler& /*touchHandler*/,
|
||||
|
@@ -31,7 +31,6 @@ namespace Pinetime {
|
||||
class MotionController;
|
||||
class TouchHandler;
|
||||
class MotorController;
|
||||
class TimerController;
|
||||
class AlarmController;
|
||||
class BrightnessController;
|
||||
class FS;
|
||||
@@ -55,7 +54,6 @@ namespace Pinetime {
|
||||
Controllers::Settings& settingsController,
|
||||
Pinetime::Controllers::MotorController& motorController,
|
||||
Pinetime::Controllers::MotionController& motionController,
|
||||
Pinetime::Controllers::TimerController& timerController,
|
||||
Pinetime::Controllers::AlarmController& alarmController,
|
||||
Pinetime::Controllers::BrightnessController& brightnessController,
|
||||
Pinetime::Controllers::TouchHandler& touchHandler,
|
||||
|
Reference in New Issue
Block a user