Page 1 of 1
LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Sun Jun 09, 2024 9:58 pm
by FrankJensen
Hi Forum.
I am not able to compile when I install latest lvgl and lvgl_esp32_drivers. Is there a problem with the newest lvgl and the current drivers? I get a bunch of "unknown type name" upon compiling, even without any real code. Should I try and use an older version og lvgl, or is there a better workaround?
Br Frank.
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Tue Jun 11, 2024 7:40 pm
by FrankJensen
Hi forum.
The compile errors are these
In file included from components/lvgl_esp32_drivers/lvgl_tft/../lvgl_helpers.h:18,
from components/lvgl_esp32_drivers/lvgl_tft/st7789.h:20,
from src/main.c:8:
components/lvgl_esp32_drivers/lvgl_tft/../lvgl_tft/disp_driver.h:75:24: error: unknown type name 'lv_disp_drv_t'; did you mean 'lv_fs_drv_t'?
75 | void disp_driver_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_color_t * color_map);
| ^~~~~~~~~~~~~
| lv_fs_drv_t
components/lvgl_esp32_drivers/lvgl_tft/../lvgl_tft/disp_driver.h:78:26: error: unknown type name 'lv_disp_drv_t'; did you mean 'lv_fs_drv_t'?
78 | void disp_driver_rounder(lv_disp_drv_t * disp_drv, lv_area_t * area);
| ^~~~~~~~~~~~~
| lv_fs_drv_t
components/lvgl_esp32_drivers/lvgl_tft/../lvgl_tft/disp_driver.h:81:25: error: unknown type name 'lv_disp_drv_t'; did you mean 'lv_fs_drv_t'?
81 | void disp_driver_set_px(lv_disp_drv_t * disp_drv, uint8_t * buf, lv_coord_t buf_w, lv_coord_t x, lv_coord_t y,
| ^~~~~~~~~~~~~
| lv_fs_drv_t
In file included from components/lvgl_esp32_drivers/lvgl_tft/../lvgl_helpers.h:20:
components/lvgl_esp32_drivers/lvgl_tft/../lvgl_touch/touch_driver.h:49:24: error: unknown type name 'lv_indev_drv_t'; did you mean 'lv_indev_data_t'?
49 | void touch_driver_read(lv_indev_drv_t *drv, lv_indev_data_t *data);
| ^~~~~~~~~~~~~~
| lv_indev_data_t
components/lvgl_esp32_drivers/lvgl_tft/st7789.h:114:19: error: unknown type name 'lv_disp_drv_t'; did you mean 'lv_fs_drv_t'?
114 | void st7789_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_map);
| ^~~~~~~~~~~~~
| lv_fs_drv_t
I use platformio, latest esp-idf 5.2.1, and latest lvgl and lvgl_esp32_drivers cloned from git into a components folder.
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Thu Jun 20, 2024 2:10 pm
by TempusFugit
Have you found a solution by any chance? I'm facing the same issue
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Mon Jul 22, 2024 1:01 pm
by chempner
TempusFugit wrote: ↑Thu Jun 20, 2024 2:10 pm
Have you found a solution by any chance? I'm facing the same issue
Have YOU maybe found a solution? Seems like no one's responding...
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Thu Sep 05, 2024 8:06 pm
by FrankJensen
No, I am still strugling. I do not understand, why all documentation states, that ST7789 and LVGL should go together easily with ESP32, when it is so difficult to get to work. No online examples work, most of them will not even compile, the documentation is incomplete. It seems like a mess of new libraries, old drivers, strange files to include or not to include, and a more or less undocumentet implementation via the menuconfig.
I consider myselv relatively skilled in ESP32, and have done some big project, with a lot of selv-implemented drivers and hardware. But this is simply over my head. I used countless hours, getting nowhere.
Do anybody have an example of a simple HELLO WORLD, that works on a ST7789, using the built in LVGL library?
I will give a beer for a working example.....
Hardware used: ESP32-S3-N16R8V
Platform: ESP-IDF
Editor: VSCODE with PlatformIO plugin
I would like to avoid any Arduino libraries, and not to use Arduino platform. I switched to EDP-IDF some years back, and I feel I have a lot more control over the hardware, using ESP-IDF.
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Thu Sep 05, 2024 9:44 pm
by FrankJensen
My conclusion is, until proven otherwise, that ESP-IDF v5.2.1, LVGL 9.2.0 and LVGL_ESP32_DRIVERS is not compatible. Somewhere between ESP-IDF v4, LVGL 8 and now, things got broken, and nobody picked up the problem.
Whats the alternative? I have a nice ST7789 that i would like to get up running.
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Fri Sep 06, 2024 2:09 am
by chegewara
I dont know about v5.2.1, but it works nicely with v5.4/master (or maybe only lvgl 9.1, w/o esp_lvgl_port).
You didnt say what version of esp_lvgl_port you are using.
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Fri Nov 08, 2024 4:27 am
by vinayak42
have you tried the "generic mipi" library? im trying to achieve the same result but with a st7735 and am facing exactly the same errors as you (latest lvgl version and latest espidf). i also was unable to find anything... the only thing i could find was that the generic mipi library should in theory work for both of us. i havent tried it yet, if anyone gets it running with the mipi stuff, please let us know!!
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Fri Nov 08, 2024 7:07 am
by chegewara
vinayak42 wrote: ↑Fri Nov 08, 2024 4:27 am
have you tried the "generic mipi" library? im trying to achieve the same result but with a st7735 and am facing exactly the same errors as you (latest lvgl version and latest espidf). i also was unable to find anything... the only thing i could find was that the generic mipi library should in theory work for both of us. i havent tried it yet, if anyone gets it running with the mipi stuff, please let us know!!
Well, yes, i can run it with mipi dsi display, but it is P4 ev board, so the mipi driver may be tested only with it.
Can you share more info about your display? Maybe link to it?
Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors
Posted: Sat Nov 09, 2024 10:18 am
by vinayak42
chegewara wrote: ↑Fri Nov 08, 2024 7:07 am
vinayak42 wrote: ↑Fri Nov 08, 2024 4:27 am
have you tried the "generic mipi" library? im trying to achieve the same result but with a st7735 and am facing exactly the same errors as you (latest lvgl version and latest espidf). i also was unable to find anything... the only thing i could find was that the generic mipi library should in theory work for both of us. i havent tried it yet, if anyone gets it running with the mipi stuff, please let us know!!
Well, yes, i can run it with mipi dsi display, but it is P4 ev board, so the mipi driver may be tested only with it.
Can you share more info about your display? Maybe link to it?
hello chegewara,
i was looking at the 8.4 and the latest (9.3) versions and i realized that version 9.0 had introduced some significant changes. A few of them are:
- lv_disp_... is renamed to lv_display_...
- lv_disp_drv_t and lv_disp_draw_buf_t was removed
- to create a display and set it up:
Code: Select all
lv_display_t * disp = lv_display_create(hor_res, ver_res)
lv_display_set_flush_cb(disp, flush_cb);
lv_display_set_buffers(disp, buf1, buf2, buf_size_in_bytes, mode);
this is the reason many users are facing the "lv_disp_drv_t not found" errors.
The OP needs to modify their code in accordance with the changes mentioned in the changelog.
Basically codes created using v8.x will not be compatible with v9.x although there is the lv_api_map.h file which will handle some of the porting issues.