Simplify systemtask states

This commit is contained in:
Riku Isokoski
2021-07-30 21:43:44 +03:00
committed by JF
parent beddfc346d
commit ae2b9d30d6
2 changed files with 34 additions and 37 deletions

View File

@@ -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;