From 6e03b47eb32615a91ee23133196e56554845570a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Fran=C3=A7ois=20Milants?= Date: Thu, 18 May 2023 15:49:14 +0200 Subject: [PATCH] Power optimization - Increase SystemTask Period Increase the SystemTask period also when the notification mode is set to Sleep (as it also disables the motion-based wake options). --- src/systemtask/SystemTask.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 67b1dbba..899a94e9 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -509,8 +509,9 @@ TickType_t SystemTask::GetQueueTimeout() const { // By default, the timeout on the queue is 100ms. // It's extended to 4s in sleep mode, when no motion based wake up option is enabled. TickType_t timeout = pdMS_TO_TICKS(100); - if (state == SystemTaskState::Sleeping && !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) && - !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake)) { + if (state == SystemTaskState::Sleeping && ((!settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist) && + !settingsController.isWakeUpModeOn(Pinetime::Controllers::Settings::WakeUpMode::Shake)) || + settingsController.GetNotificationStatus() == Controllers::Settings::Notification::Sleep)) { timeout = pdMS_TO_TICKS(4000); } return timeout;