summaryrefslogtreecommitdiff
path: root/src/systemtask/SystemTask.h
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2021-07-30 18:43:44 (GMT)
committerJF <JF002@users.noreply.github.com>2022-05-08 11:24:15 (GMT)
commitae2b9d30d625dfc67ece652d12b7781b7bbeb5ee (patch)
treeaf627f25a4d7941f419c59dc96eae91fec04bd5e /src/systemtask/SystemTask.h
parentbeddfc346ddd98256017053518d86100f9538250 (diff)
Simplify systemtask states
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;