Let lvgl control queueTimeout

This commit is contained in:
Riku Isokoski 2021-08-29 12:40:48 +03:00
parent 6c023785e5
commit e57ff28231
2 changed files with 4 additions and 22 deletions

View file

@ -141,19 +141,15 @@ uint32_t count = 0;
bool toggle = true;
void DisplayApp::Refresh() {
TickType_t queueTimeout;
TickType_t delta;
switch (state) {
case States::Idle:
IdleState();
queueTimeout = portMAX_DELAY;
break;
case States::Running:
RunningState();
delta = xTaskGetTickCount() - lastWakeTime;
if (delta > LV_DISP_DEF_REFR_PERIOD) {
delta = LV_DISP_DEF_REFR_PERIOD;
if (!currentScreen->IsRunning()) {
LoadApp(returnToApp, returnDirection);
}
queueTimeout = LV_DISP_DEF_REFR_PERIOD - delta;
queueTimeout = lv_task_handler();
break;
default:
queueTimeout = portMAX_DELAY;
@ -161,9 +157,7 @@ void DisplayApp::Refresh() {
}
Messages msg;
bool messageReceived = xQueueReceive(msgQueue, &msg, queueTimeout);
lastWakeTime = xTaskGetTickCount();
if (messageReceived) {
if (xQueueReceive(msgQueue, &msg, queueTimeout)) {
switch (msg) {
case Messages::DimScreen:
// Backup brightness is the brightness to return to after dimming or sleeping
@ -275,13 +269,6 @@ void DisplayApp::Refresh() {
}
}
void DisplayApp::RunningState() {
if (!currentScreen->IsRunning()) {
LoadApp(returnToApp, returnDirection);
}
lv_task_handler();
}
void DisplayApp::StartApp(Apps app, DisplayApp::FullRefreshDirections direction) {
nextApp = app;
nextDirection = direction;
@ -423,9 +410,6 @@ void DisplayApp::LoadApp(Apps app, DisplayApp::FullRefreshDirections direction)
currentApp = app;
}
void DisplayApp::IdleState() {
}
void DisplayApp::PushMessage(Messages msg) {
if (in_isr()) {
BaseType_t xHigherPriorityTaskWoken;

View file

@ -103,8 +103,6 @@ namespace Pinetime {
TouchEvents returnTouchEvent = TouchEvents::None;
TouchEvents GetGesture();
void RunningState();
void IdleState();
static void Process(void* instance);
void InitHw();
void Refresh();