diff options
Diffstat (limited to 'src/systemtask/SystemTask.h')
| -rw-r--r-- | src/systemtask/SystemTask.h | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index f59b2af..e884ca3 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -53,6 +53,7 @@ namespace Pinetime { namespace System { class SystemTask { public: + enum class SystemTaskState { Sleeping, Running, GoingToSleep, WakingUp }; SystemTask(Drivers::SpiMaster& spi, Drivers::St7789& lcd, Pinetime::Drivers::SpiNorFlash& spiNorFlash, @@ -91,7 +92,7 @@ namespace Pinetime { }; bool IsSleeping() const { - return isSleeping; + return state == SystemTaskState::Sleeping || state == SystemTaskState::WakingUp; } // For accelerator-based games @@ -119,10 +120,6 @@ namespace Pinetime { Pinetime::Controllers::TimerController& timerController; Pinetime::Controllers::AlarmController& alarmController; QueueHandle_t systemTasksMsgQueue; - std::atomic<bool> isSleeping {false}; - std::atomic<bool> isGoingToSleep {false}; - std::atomic<bool> isWakingUp {false}; - std::atomic<bool> isDimmed {false}; Pinetime::Drivers::Watchdog& watchdog; Pinetime::Controllers::NotificationManager& notificationManager; Pinetime::Controllers::MotorController& motorController; @@ -148,6 +145,8 @@ namespace Pinetime { TimerHandle_t idleTimer; TimerHandle_t measureBatteryTimer; bool doNotGoToSleep = false; + bool isDimmed = false; + SystemTaskState state = SystemTaskState::Running; void HandleButtonAction(Controllers::ButtonActions action); bool fastWakeUpDone = false; |
