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 c5b0379..1a50f09 100644
--- a/src/systemtask/SystemTask.h
+++ b/src/systemtask/SystemTask.h
@@ -53,6 +53,7 @@ namespace Pinetime {
namespace System {
class SystemTask {
public:
+ enum 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 == Sleeping || state == WakingUp;
}
private:
@@ -110,10 +111,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;
@@ -139,6 +136,8 @@ namespace Pinetime {
TimerHandle_t idleTimer;
TimerHandle_t measureBatteryTimer;
bool doNotGoToSleep = false;
+ bool isDimmed = false;
+ SystemTaskState state = Running;
void HandleButtonAction(Controllers::ButtonActions action);
bool fastWakeUpDone = false;