LVGL 9.1.0 and lvgl_esp32_drivers compile errors

FrankJensen
Posts: 52
Joined: Sun Mar 10, 2024 9:34 pm

LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby FrankJensen » Sun Jun 09, 2024 9:58 pm

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.

FrankJensen
Posts: 52
Joined: Sun Mar 10, 2024 9:34 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby FrankJensen » Tue Jun 11, 2024 7:40 pm

Hi forum.

The compile errors are these
  1. In file included from components/lvgl_esp32_drivers/lvgl_tft/../lvgl_helpers.h:18,
  2.                  from components/lvgl_esp32_drivers/lvgl_tft/st7789.h:20,
  3.                  from src/main.c:8:
  4. 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'?
  5.    75 | void disp_driver_flush(lv_disp_drv_t * drv, const lv_area_t * area, lv_color_t * color_map);
  6.       |                        ^~~~~~~~~~~~~
  7.       |                        lv_fs_drv_t
  8. 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'?
  9.    78 | void disp_driver_rounder(lv_disp_drv_t * disp_drv, lv_area_t * area);
  10.       |                          ^~~~~~~~~~~~~
  11.       |                          lv_fs_drv_t
  12. 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'?
  13.    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,
  14.       |                         ^~~~~~~~~~~~~
  15.       |                         lv_fs_drv_t
  16. In file included from components/lvgl_esp32_drivers/lvgl_tft/../lvgl_helpers.h:20:
  17. 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'?
  18.    49 | void touch_driver_read(lv_indev_drv_t *drv, lv_indev_data_t *data);
  19.       |                        ^~~~~~~~~~~~~~
  20.       |                        lv_indev_data_t
  21. 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'?
  22.   114 | void st7789_flush(lv_disp_drv_t *drv, const lv_area_t *area, lv_color_t *color_map);
  23.       |                   ^~~~~~~~~~~~~
  24.       |                   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.

TempusFugit
Posts: 1
Joined: Thu Jun 20, 2024 2:08 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby TempusFugit » Thu Jun 20, 2024 2:10 pm

Have you found a solution by any chance? I'm facing the same issue

chempner
Posts: 3
Joined: Wed Aug 16, 2023 11:08 am

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby chempner » Mon Jul 22, 2024 1:01 pm

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...

FrankJensen
Posts: 52
Joined: Sun Mar 10, 2024 9:34 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby FrankJensen » Thu Sep 05, 2024 8:06 pm

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.

FrankJensen
Posts: 52
Joined: Sun Mar 10, 2024 9:34 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby FrankJensen » Thu Sep 05, 2024 9:44 pm

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.

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby chegewara » Fri Sep 06, 2024 2:09 am

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.

vinayak42
Posts: 3
Joined: Wed Jul 31, 2024 10:12 am

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby vinayak42 » 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!!

chegewara
Posts: 2375
Joined: Wed Jun 14, 2017 9:00 pm

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby chegewara » 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?

vinayak42
Posts: 3
Joined: Wed Jul 31, 2024 10:12 am

Re: LVGL 9.1.0 and lvgl_esp32_drivers compile errors

Postby vinayak42 » Sat Nov 09, 2024 10:18 am

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.

Who is online

Users browsing this forum: Bryght-Richard, Google [Bot] and 110 guests