I am having a strange overlapping issue while trying to load a screen from another screen.
For example, let say in a task I am doing this:
lv_scr_load_anim(home_scr, LV_SCR_LOAD_ANIM_FADE_ON, 500, 10, 0);
//create another task to load the menu after some delay
task2 = lv_task_create(menu_scr_load, 3000, LV_TASK_PRIO_MID, NULL);
this works fine in the simulator, but when i ran it on my hardware, then 2 screens kinda overlap each other & creates a mess. Do i have to somehow manually clean the prev screen after/before loading a new screen?
This is just to simulate that screen loading works fine with my code, in reality it will be triggered by a hw input ofc.
I don’t know why but even after I have enabled logging from menuconfigm and set it to “Trace - Detailed information” I still couldn’t see any log related to lvgl. I had to enable “Print the log with ‘printf’” option. Also, the esp log is set to Verbose, but I don’t think it has any relation to lvgl’s logging.
But anyways, here’s what I found found interesting in the logs, I am going mad now that I haven’t checked the logs before
Warn: Couldn't allocate memory (lv_mem.c #199 lv_mem_alloc())
Warn: Couldn't allocate memory (lv_mem.c #306 lv_mem_realloc())
Error: _lv_mem_buf_get (lv_mem.c #511 _lv_mem_buf_get())
Error: Out of memory, can't allocate a new buffer (increase your LV_MEM_SIZE/heap size) (0x00000000) (lv_debug.c #127 lv_debug_log_error())