LV_DISP_DEF_REFR_PERIOD timer does not work


I am setting LV_DISP_DEF_REFR_PERIOD to 30
I noticed that the lv_task_handler returns LV_NO_TASK_READY while I should expect it return 30 or less

If I create/use other timers, they return accordingly.

Is it expected to return 30 or LV_NO_TASK_READY ? on which case? could you clarify?

What LVGL version are you using?


If the performance monitor isn’t enabled, LVGL automatically suspends the display refresh task until an object is invalidated. This is done to allow you to detect that the system is idle and put the processor to sleep until input is received (e.g. a touch interrupt).

Unfortunately, the feature is incomplete (because I never finished it) and input devices don’t have a proper mechanism for being suspended, so if you register a touchscreen you will notice that lv_task_handler never returns that no task is ready.

1 Like