summaryrefslogtreecommitdiff
path: root/src/displayapp/DisplayApp.cpp
diff options
context:
space:
mode:
authorKieran Cawthray <kieranc@gmail.com>2021-07-20 13:30:07 (GMT)
committerKieran Cawthray <kieranc@gmail.com>2021-07-20 13:30:07 (GMT)
commitdb784fc2fb4e9095f3c1a0168a4b6978e8bfa76d (patch)
tree84bbed8c3a9ae57ad2fdbe92b0f61e8eadbc5fbc /src/displayapp/DisplayApp.cpp
parent5c183bef8549368ca8709f98215d52f8e150ad57 (diff)
parent57b339707861c5688f5d432f1506a99df6bb0fce (diff)
Merge remote-tracking branch 'upstream/develop' into pinetimestyle-colorpicker
Diffstat (limited to 'src/displayapp/DisplayApp.cpp')
-rw-r--r--src/displayapp/DisplayApp.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/displayapp/DisplayApp.cpp b/src/displayapp/DisplayApp.cpp
index d81a799..eb3ebbc 100644
--- a/src/displayapp/DisplayApp.cpp
+++ b/src/displayapp/DisplayApp.cpp
@@ -44,6 +44,8 @@
#include "displayapp/screens/settings/SettingSteps.h"
#include "displayapp/screens/settings/SettingPineTimeStyle.h"
+#include "libs/lv_conf.h"
+
using namespace Pinetime::Applications;
using namespace Pinetime::Applications::Display;
@@ -115,6 +117,7 @@ uint32_t count = 0;
bool toggle = true;
void DisplayApp::Refresh() {
TickType_t queueTimeout;
+ TickType_t delta;
switch (state) {
case States::Idle:
IdleState();
@@ -122,7 +125,11 @@ void DisplayApp::Refresh() {
break;
case States::Running:
RunningState();
- queueTimeout = 20;
+ delta = xTaskGetTickCount() - lastWakeTime;
+ if (delta > LV_DISP_DEF_REFR_PERIOD) {
+ delta = LV_DISP_DEF_REFR_PERIOD;
+ }
+ queueTimeout = LV_DISP_DEF_REFR_PERIOD - delta;
break;
default:
queueTimeout = portMAX_DELAY;
@@ -130,7 +137,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();