diff options
| author | Joaquim <joaquim.org@gmail.com> | 2021-04-05 15:22:10 +0100 |
|---|---|---|
| committer | Joaquim <joaquim.org@gmail.com> | 2021-04-05 15:22:10 +0100 |
| commit | 365e68e6cc3c9f893e7582d26a1805d6d51ef294 (patch) | |
| tree | 9eff0e7f277419d4b551413be2d498602fcbcbe2 /src/systemtask | |
| parent | 96961709f3a659fd89ccbb8a13813ed9f3c586eb (diff) | |
Fix wake up lock in twi
optimize battery code
Diffstat (limited to 'src/systemtask')
| -rw-r--r-- | src/systemtask/SystemTask.cpp | 26 | ||||
| -rw-r--r-- | src/systemtask/SystemTask.h | 2 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/systemtask/SystemTask.cpp b/src/systemtask/SystemTask.cpp index 43e6f082..57d7fb17 100644 --- a/src/systemtask/SystemTask.cpp +++ b/src/systemtask/SystemTask.cpp @@ -167,6 +167,21 @@ void SystemTask::Work() { isSleeping = false; isWakingUp = false; break; + case Messages::TouchWakeUp: { + auto touchInfo = touchPanel.GetTouchInfo(); + if( touchInfo.isTouch and + ( + ( touchInfo.gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap and + settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::DoubleTap + ) or + ( touchInfo.gesture == Pinetime::Drivers::Cst816S::Gestures::SingleTap and + settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::SingleTap + ) + ) + ) { + GoToRunning(); + } + } break; case Messages::GoToSleep: isGoingToSleep = true; NRF_LOG_INFO("[systemtask] Going to sleep"); @@ -276,16 +291,7 @@ void SystemTask::OnTouchEvent() { } else if(!isWakingUp) { if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::None or settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::RaiseWrist ) return; - - if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::SingleTap ) { - GoToRunning(); - } else if( settingsController.getWakeUpMode() == Pinetime::Controllers::Settings::WakeUpMode::DoubleTap ) { - - auto info = touchPanel.GetTouchInfo(); - if( info.isTouch and info.gesture == Pinetime::Drivers::Cst816S::Gestures::DoubleTap ) { - GoToRunning(); - } - } + PushMessage(Messages::TouchWakeUp); } } diff --git a/src/systemtask/SystemTask.h b/src/systemtask/SystemTask.h index fda951bd..9d0b41ad 100644 --- a/src/systemtask/SystemTask.h +++ b/src/systemtask/SystemTask.h @@ -37,7 +37,7 @@ namespace Pinetime { namespace System { class SystemTask { public: - enum class Messages {GoToSleep, GoToRunning, OnNewTime, OnNewNotification, OnNewCall, BleConnected, UpdateTimeOut, + enum class Messages {GoToSleep, GoToRunning, TouchWakeUp, OnNewTime, OnNewNotification, OnNewCall, BleConnected, UpdateTimeOut, BleFirmwareUpdateStarted, BleFirmwareUpdateFinished, OnTouchEvent, OnButtonEvent, OnDisplayTaskSleeping, EnableSleeping, DisableSleeping }; |
