I have a problem as below topic, but just a different point in my case.
above topic is that screen will be changed by click event.
In my case, screen cant not touch, and screen will be changed when receive trigger from other task such as message as below image
I debug and saw that _lv_area_is_in returned false at below
if(ain_p->x1 >= aholder_p->x1 && ain_p->y1 >= aholder_p->y1 && ain_p->x2 <= aholder_p->x2 &&
ain_p->y2 <= aholder_p->y2) {
is_in = true; // can not reach here
}
if(radius == 0) return is_in;
I also tested screen change with timer in main, but the same of problem.
How can I change screen manually( timer, message from other task) without click/press event
→ Nothing happens
â– Without touch screen
If I call directly lv_scr_load() or object setting such as lv_label_set_text() , there is nothing happens.
I attached my code. you can refer to littlevgl_guider.c, AppTask() { call_screen_2() }
( just screen_1 is displayed, screen_2 can not displayed )
I also used lv_event_send() to generate CLICKED event, then call lv_scr_load() , but the same phenomenon ( nothing happens )
( This app is using FreeRTOS, but only one task use LVGL.)
â– Support touch screen
Via touch, CLICKED event is generated, then call directly lv_scr_load() is OK.
I wonder,
is it that if lv_tick_inc(1) is not called, lv_scr_load() or lv_label_set_text() will have no effect even if lv_task_handler() is called in main loop ??
I am having a similar issue , one of my screen will render on a button click event and based on an enum (state value) change it will render another screen . I am using lvgl version 8.2 and couldn’t find a solution for it.
Nope , Do I have to call lv_tick_inc() prior to each and every lv_scr_load() …Then I will do it …
Other than that, is there any way to automatically move onto or render another screen after a certain time, like a time out event . It looks like we can do it with later versions but that’s not the case with version 8.2 .It seems like tasks stripped of some of its features.
Also it will be really helpful if you include a minimal sample code on how to include lv_tick_inc().