summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemtask/SystemTask.h')
-rw-r--r--src/systemtask/SystemTask.h9
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;