diff options
Diffstat (limited to 'src/systemtask')
-rw-r--r-- | src/systemtask/Messages.h | 2 | ||||
-rw-r--r-- | src/systemtask/SystemTask.cpp | 20 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/systemtask/Messages.h b/src/systemtask/Messages.h index 5aa218d2..1a9ad542 100644 --- a/src/systemtask/Messages.h +++ b/src/systemtask/Messages.h @@ -20,6 +20,8 @@ namespace Pinetime { EnableSleeping, DisableSleeping, OnNewDay, + OnNewHour, + OnNewHalfHour, OnChargingEvent, SetOffAlarm, StopRinging, diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index e0a5907a..1e546e16 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -352,6 +352,26 @@ void SystemTask::Work() { // Remember we'll have to reset the counter next time we're awake stepCounterMustBeReset = true; break; + case Messages::OnNewHour: + using Pinetime::Controllers::AlarmController; + if (settingsController.GetChimesState() == 1 and alarmController.State() != AlarmController::AlarmState::Alerting) { + if (isSleeping && !isWakingUp) { + GoToRunning(); + displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock); + } + motorController.RunForDuration(35); + } + break; + case Messages::OnNewHalfHour: + using Pinetime::Controllers::AlarmController; + if (settingsController.GetChimesState() == 2 and alarmController.State() != AlarmController::AlarmState::Alerting) { + if (isSleeping && !isWakingUp) { + GoToRunning(); + displayApp.PushMessage(Pinetime::Applications::Display::Messages::Clock); + } + motorController.RunForDuration(35); + } + break; case Messages::OnChargingEvent: batteryController.ReadPowerState(); motorController.RunForDuration(15); |