It can happen if the drawing or refreshing of the screen is very very slow.
15 sec means it has 150 ms for each “round”. Can you measure the run time of lv_task_handler?
Other question, where/how do call lv_tick_inc?
The lv_tick_inc is called inside the lv_tick_handler() which is Initialized by tick.attach_ms(LVGL_TICK_PERIOD, lv_tick_handler); The tick period is 60.
I’ve measured the time it takes inside the lv_task_handler() like this:
digitalWrite(test, LOW);
lv_task_handler();
digitalWrite(test, HIGH);
and it is about 150ms.
I then change the size of the gauge from:
lv_obj_set_size(gauge1, 250, 250);
to
lv_obj_set_size(gauge1, 50, 50);
The time inside the lv_task_handler is now 7.2ms and the needle moves a lot faster but the gauge is now tiny compare to what I had before.
Is there a way of having large gauge and needle and make it the needle move faster ?