Delete this section if you read and applied the mentioned points.
Description
I have a devices which runs a project based on lvgl-V6.0.2 version, and now I update the lvgl library to V8.0.1 and run some demo on it(I display a image and run the docs example lv_example_btn_1()), and I found it has some problem. The image is shown successfully, but the button example, when I clicked the btn , the screen start flashing, and the botton effect seems not occur.
my disp is inited double buffering, is there double buffering has some different between V8.0.1 and V6.0.2
What MCU/Processor/Board and compiler are you using?
TI ARM335X
What do you want to achieve?
What have you tried so far?
I have checked the porting steps from my 6.0.2 version project, it has ported to the 8.0.1version succesfuly. the same initial, the same devices.
Code to reproduce
Add the relevant code snippets here.
The code block(s) should be between ```c and ``` tags:
/*You code here*/
Screenshot and/or video
If possible, add screenshots and/or videos about the current state.
/* Example for 3) also set disp_drv.full_refresh = 1 below*/
static lv_disp_draw_buf_t draw_buf_dsc_3;
static lv_color_t buf_3_1[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*A screen sized buffer*/
static lv_color_t buf_3_2[MY_DISP_HOR_RES * MY_DISP_VER_RES]; /*An other screen sized buffer*/
lv_disp_draw_buf_init(&draw_buf_dsc_3, buf_3_1, buf_3_2, MY_DISP_HOR_RES * MY_DISP_VER_RES); /*Initialize the display buffer*/
/*-----------------------------------
* Register the display in LVGL
*----------------------------------*/
static lv_disp_drv_t disp_drv; /*Descriptor of a display driver*/
lv_disp_drv_init(&disp_drv); /*Basic initialization*/
/*Set up the functions to access to your display*/
/*Set the resolution of the display*/
disp_drv.hor_res = MY_DISP_HOR_RES;
disp_drv.ver_res = MY_DISP_VER_RES;
/*Used to copy the buffer's content to the display*/
disp_drv.flush_cb = disp_flush;
/*Set a display buffer*/
disp_drv.draw_buf = &draw_buf_dsc_3;
/*Required for Example 3)*/
//disp_drv.full_refresh = 1
/* Fill a memory array with a color if you have GPU.
* Note that, in lv_conf.h you can enable GPUs that has built-in support in LVGL.
* But if you have a different GPU you can use with this callback.*/
//disp_drv.gpu_fill_cb = gpu_fill;
/*Finally register the driver*/
lv_disp_drv_register(&disp_drv);