Open Trackhe opened 3 years ago
Hi,
We're just started porting both lvgl_esp32_drivers
and lv_port_esp32
to LVGL v8, I haven't been able to get my displays to test it at home, will try this weekend.
Hi,
We're just started porting both
lvgl_esp32_drivers
andlv_port_esp32
to LVGL v8, I haven't been able to get my displays to test it at home, will try this weekend.
any news? i want to help :)
Not really (from me), I'm a bit busy at work, but will try to take a look at this, I was trying to close all v7 related issues before starting to work on the v8 support.
Understandable
i've found a possible fix. as per https://docs.lvgl.io/8.0/porting/display.html?highlight=lv_disp_draw_buf_t the flush callback must end with lv_disp_flush_ready(drv). here is the modified function:
`void ili9341_flush(lv_disp_drv_t drv, const lv_area_t area, lv_color_t * color_map) { uint8_t data[4];
/*Column addresses*/
ili9341_send_cmd(0x2A);
data[0] = (area->x1 >> 8) & 0xFF;
data[1] = area->x1 & 0xFF;
data[2] = (area->x2 >> 8) & 0xFF;
data[3] = area->x2 & 0xFF;
ili9341_send_data(data, 4);
/*Page addresses*/
ili9341_send_cmd(0x2B);
data[0] = (area->y1 >> 8) & 0xFF;
data[1] = area->y1 & 0xFF;
data[2] = (area->y2 >> 8) & 0xFF;
data[3] = area->y2 & 0xFF;
ili9341_send_data(data, 4);
/*Memory write*/
ili9341_send_cmd(0x2C);
uint32_t size = lv_area_get_width(area) * lv_area_get_height(area);
ili9341_send_color((void*)color_map, size * 2);
lv_disp_flush_ready(drv);
}`
here is my fix, this at least makes the whole screen renderable, then I am working to speedup DMA buffer (now is limited to <4096 bytes to avoid overflow and is damn slow!)
Device: ESP32 16mb flash Display Res: 240x320
I tried some things. Custom Buffersize. set the DISP_BUF_SIZE like:
i tried also 240 * 40 On the Display change a drawed white area but i cant see the label what i set. and the task that i use dosnt fire.
LVGL programm part:
Statup Log:
Related: https://github.com/lvgl/lvgl_esp32_drivers/issues/68
If i use (i get the extra line from https://github.com/lvgl/lv_sim_eclipse_sdl/blob/release/v8.0/main.c#L128-L141 that i mentioned in https://github.com/lvgl/lvgl/blob/master/docs/CHANGELOG.md#driver-changes)
I get a square like:
define DISP_BUF_SIZE (320 * 40)
define DISP_BUF_SIZE (320 * 100)
if i use the init routine from https://github.com/lvgl/lv_port_esp32/tree/port_v8 like:
without
then i get
define DISP_BUF_SIZE (320 * 40)
sorry if my writing is confuse ^^' I am happy to explain if anything is unclear
I hope this help us with lvgl8 :)
Best Regards.