diff options
author | JF <jf@codingfield.com> | 2020-07-11 21:09:34 +0200 |
---|---|---|
committer | JF <jf@codingfield.com> | 2020-07-11 21:09:34 +0200 |
commit | 64c14274fc2f025fc48d3df47a1640f08eb968cd (patch) | |
tree | 262cf8b4e84c556748f42bbf778b48a68210921d /src/SystemTask/SystemTask.cpp | |
parent | 0bcaf9c22d6183ba8072e10abb9da7aea578b8db (diff) | |
parent | 6309719a62436fd746a7a8b228205e93b419ca26 (diff) |
Merge branch 'develop'
# Conflicts:
# CMakeLists.txt
Diffstat (limited to 'src/SystemTask/SystemTask.cpp')
-rw-r--r-- | src/SystemTask/SystemTask.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/SystemTask/SystemTask.cpp b/src/SystemTask/SystemTask.cpp index 61b3c638..39e9751b 100644 --- a/src/SystemTask/SystemTask.cpp +++ b/src/SystemTask/SystemTask.cpp @@ -120,15 +120,15 @@ void SystemTask::Work() { isSleeping = true; break; case Messages::OnNewTime: - xTimerReset(idleTimer, 0); + ReloadIdleTimer(); displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::UpdateDateTime); break; case Messages::OnNewNotification: - xTimerReset(idleTimer, 0); + if(isSleeping) GoToRunning(); displayApp->PushMessage(Pinetime::Applications::DisplayApp::Messages::NewNotification); break; case Messages::BleConnected: - xTimerReset(idleTimer, 0); + ReloadIdleTimer(); isBleDiscoveryTimerRunning = true; bleDiscoveryTimer = 5; break; @@ -145,10 +145,10 @@ void SystemTask::Work() { NVIC_SystemReset(); break; case Messages::OnTouchEvent: - xTimerReset(idleTimer, 0); + ReloadIdleTimer(); break; case Messages::OnButtonEvent: - xTimerReset(idleTimer, 0); + ReloadIdleTimer(); break; default: break; } @@ -169,6 +169,8 @@ void SystemTask::Work() { dateTimeController.UpdateTime(systick_counter); batteryController.Update(); + monitor.Process(); + if(!nrf_gpio_pin_read(pinButton)) watchdog.Kick(); } @@ -215,3 +217,8 @@ void SystemTask::OnIdle() { NRF_LOG_INFO("Idle timeout -> Going to sleep") PushMessage(Messages::GoToSleep); } + +void SystemTask::ReloadIdleTimer() const { + if(isSleeping) return; + xTimerReset(idleTimer, 0); +} |