diff options
author | Jean-François Milants <jf@codingfield.com> | 2021-07-13 20:54:49 +0200 |
---|---|---|
committer | Jean-François Milants <jf@codingfield.com> | 2021-07-13 20:54:49 +0200 |
commit | a07b6382aef3c30d8ea8f28fcc3cc880d7afd747 (patch) | |
tree | f696104f71f7facf07d4fac971fc2663f32b0212 /src/displayapp/DisplayApp.cpp | |
parent | d15509f14e4cbc0de6c7d51cd2eb0953eef7537a (diff) | |
parent | a5616b0bc8ea385c3c70ae700498c8abe07f647b (diff) |
Merge branch 'develop' of github.com:JF002/Pinetime into develop
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r-- | src/displayapp/DisplayApp.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp index 04ebd2d3..6d66afe5 100644 --- a/src/displayapp/DisplayApp.cpp +++ b/src/displayapp/DisplayApp.cpp @@ -114,6 +114,7 @@ uint32_t count = 0; bool toggle = true; void DisplayApp::Refresh() { TickType_t queueTimeout; + TickType_t delta; switch (state) { case States::Idle: IdleState(); @@ -121,7 +122,11 @@ void DisplayApp::Refresh() { break; case States::Running: RunningState(); - queueTimeout = 20; + delta = xTaskGetTickCount() - lastWakeTime; + if (delta > 20) { + delta = 20; + } + queueTimeout = 20 - delta; break; default: queueTimeout = portMAX_DELAY; @@ -129,7 +134,9 @@ void DisplayApp::Refresh() { } Messages msg; - if (xQueueReceive(msgQueue, &msg, queueTimeout)) { + bool messageReceived = xQueueReceive(msgQueue, &msg, queueTimeout); + lastWakeTime = xTaskGetTickCount(); + if (messageReceived) { switch (msg) { case Messages::GoToSleep: brightnessController.Backup(); |