Description
I have a simple program which cycles through three screens, displaying the next each time I click the hardware button. When I test it and cycle through the screens, I get to the 3rd screen a 2nd time and the cycling stops. The automatic sleep continues to work, but the screens will not cycle anymore. I think I’m running into a memory problem and it’s likely due to the way I am handling progressing from one screen to the next.
What MCU/Processor/Board and compiler are you using?
Zephyr on a PineTime_DevKit0 board with PineTime DK using VS Code and the nRF Connect Visual Studio add-in.
What LVGL version are you using?
8.3
What do you want to achieve?
Cycling between screens.
What have you tried so far?
Calling lv_obj_clean(lv_scr_act());
between screen initializations which build the screens which look like this:
lv_obj_t *settings_label;
settings_label = lv_label_create(lv_scr_act());
lv_label_set_text(settings_label, Settings);
lv_obj_align(settings_label, LV_ALIGN_TOP_MID, 0, 0);
I have looked at examples, the best of which is the Infinitime software for the PineTime but I see that uses a separate thread for lvgl, is using a 7.* version of lvgl, and makes use of lv_task_handler(), which I don’t see in the 8.* documentation.
There is not much Zephyr specific documentation on the site.