diff options
| author | JF002 <JF002@users.noreply.github.com> | 2021-09-18 15:16:19 (GMT) |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-18 15:16:19 (GMT) |
| commit | 9cd0def3613aca24cc336bd2348ed2a73f5e637a (patch) | |
| tree | c2fa91e352127c09abd0f9b4959cd1f47d628ea8 /src/systemtask/SystemTask.cpp | |
| parent | 3eb73774a39e255cd4b5de76441a59f1525a989c (diff) | |
| parent | b9e56843a29672b2befa65bf036f6db21078291f (diff) | |
Merge pull request #662 from mruss77/basic-alarm-app
Basic alarm app
Diffstat (limited to 'src/systemtask/SystemTask.cpp')
| -rw-r--r-- | src/systemtask/SystemTask.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 0cbce6b..24ee4bd 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -64,6 +64,7 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi, Controllers::Ble& bleController, Controllers::DateTime& dateTimeController, Controllers::TimerController& timerController, + Controllers::AlarmController& alarmController, Drivers::Watchdog& watchdog, Pinetime::Controllers::NotificationManager& notificationManager, Pinetime::Controllers::MotorController& motorController, @@ -86,6 +87,7 @@ SystemTask::SystemTask(Drivers::SpiMaster& spi, bleController {bleController}, dateTimeController {dateTimeController}, timerController {timerController}, + alarmController {alarmController}, watchdog {watchdog}, notificationManager {notificationManager}, motorController {motorController}, @@ -139,6 +141,7 @@ void SystemTask::Work() { motionSensor.SoftReset(); timerController.Register(this); timerController.Init(); + alarmController.Init(this); // Reset the TWI device because the motion sensor chip most probably crashed it... twiMaster.Sleep(); @@ -278,6 +281,16 @@ void SystemTask::Work() { motorController.RunForDuration(35); displayApp.PushMessage(Pinetime::Applications::Display::Messages::TimerDone); break; + case Messages::SetOffAlarm: + if (isSleeping && !isWakingUp) { + GoToRunning(); + } + motorController.StartRinging(); + displayApp.PushMessage(Pinetime::Applications::Display::Messages::AlarmTriggered); + break; + case Messages::StopRinging: + motorController.StopRinging(); + break; case Messages::BleConnected: ReloadIdleTimer(); isBleDiscoveryTimerRunning = true; |
