lvgl / lvgl_esp32_drivers

Drivers for ESP32 to be used with LVGL
MIT License
340 stars 287 forks source link

Error with `EVE` on ESP32 - undeclared defs. #213

Open shymega opened 1 year ago

shymega commented 1 year ago

Hi,

I'm converting a project that uses ESP-IDF to PlatformIO. I've locked the commits for lvgl/lvgl and this repo at the same hashes for lvgl/lv_port_esp32 - but I'm finding that I get these errors from the compiler:

components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c: In function 'EVE_init':
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:957:30: error: 'EVE_HSIZE' undeclared (first use in this function); did you mean 'REG_HSIZE'?
  EVE_memWrite16(REG_HSIZE,   EVE_HSIZE);   /* active display width */
                              ^~~~~~~~~
                              REG_HSIZE
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:957:30: note: each undeclared identifier is reported only once for each function it appears in
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:958:30: error: 'EVE_HCYCLE' undeclared (first use in this function); did you mean 'REG_HCYCLE'?
  EVE_memWrite16(REG_HCYCLE,  EVE_HCYCLE);  /* total number of clocks per line, incl front/back porch */
                              ^~~~~~~~~~
                              REG_HCYCLE
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:959:30: error: 'EVE_HOFFSET' undeclared (first use in this function); did you mean 'REG_HOFFSET'?
  EVE_memWrite16(REG_HOFFSET, EVE_HOFFSET); /* start of active line */
                              ^~~~~~~~~~~
                              REG_HOFFSET
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:960:30: error: 'EVE_HSYNC0' undeclared (first use in this function); did you mean 'REG_HSYNC0'?
  EVE_memWrite16(REG_HSYNC0,  EVE_HSYNC0);  /* start of horizontal sync pulse */
                              ^~~~~~~~~~
                              REG_HSYNC0
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:961:30: error: 'EVE_HSYNC1' undeclared (first use in this function); did you mean 'REG_HSYNC1'?
  EVE_memWrite16(REG_HSYNC1,  EVE_HSYNC1);  /* end of horizontal sync pulse */
                              ^~~~~~~~~~
                              REG_HSYNC1
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:962:30: error: 'EVE_VSIZE' undeclared (first use in this function); did you mean 'REG_VSIZE'?
  EVE_memWrite16(REG_VSIZE,   EVE_VSIZE);   /* active display height */
                              ^~~~~~~~~
                              REG_VSIZE
*** [.pio/build/esp32dev/libbee/lvgl_esp32_drivers/lvgl_tft/FT81x.c.o] Error 1
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:963:30: error: 'EVE_VCYCLE' undeclared (first use in this function); did you mean 'REG_VCYCLE'?
  EVE_memWrite16(REG_VCYCLE,  EVE_VCYCLE);  /* total number of lines per screen, including pre/post */
                              ^~~~~~~~~~
                              REG_VCYCLE
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:964:30: error: 'EVE_VOFFSET' undeclared (first use in this function); did you mean 'REG_VOFFSET'?
  EVE_memWrite16(REG_VOFFSET, EVE_VOFFSET); /* start of active screen */
                              ^~~~~~~~~~~
                              REG_VOFFSET
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:965:30: error: 'EVE_VSYNC0' undeclared (first use in this function); did you mean 'REG_VSYNC0'?
  EVE_memWrite16(REG_VSYNC0,  EVE_VSYNC0);  /* start of vertical sync pulse */
                              ^~~~~~~~~~
                              REG_VSYNC0
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:966:30: error: 'EVE_VSYNC1' undeclared (first use in this function); did you mean 'REG_VSYNC1'?
  EVE_memWrite16(REG_VSYNC1,  EVE_VSYNC1);  /* end of vertical sync pulse */
                              ^~~~~~~~~~
                              REG_VSYNC1
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:967:30: error: 'EVE_SWIZZLE' undeclared (first use in this function); did you mean 'REG_SWIZZLE'?
  EVE_memWrite8(REG_SWIZZLE,  EVE_SWIZZLE); /* FT8xx output to LCD - pin order */
                              ^~~~~~~~~~~
                              REG_SWIZZLE
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:968:30: error: 'EVE_PCLKPOL' undeclared (first use in this function); did you mean 'EVE_CLKEXT'?
  EVE_memWrite8(REG_PCLK_POL, EVE_PCLKPOL); /* LCD data is clocked in on this PCLK edge */
                              ^~~~~~~~~~~
                              EVE_CLKEXT
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:969:29: error: 'EVE_CSPREAD' undeclared (first use in this function); did you mean 'REG_CSPREAD'?
  EVE_memWrite8(REG_CSPREAD, EVE_CSPREAD); /* helps with noise, when set to 1 fewer signals are changed simultaneously, reset-default: 1 */
                             ^~~~~~~~~~~
                             REG_CSPREAD
*** [.pio/build/esp32dev/libda7/esp32_https_server/WebsocketHandler.cpp.o] Error 1
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:975:37: error: 'EVE_TOUCH_RZTHRESH' undeclared (first use in this function); did you mean 'REG_TOUCH_RZTHRESH'?
  EVE_memWrite16(REG_TOUCH_RZTHRESH, EVE_TOUCH_RZTHRESH); /* eliminate any false touches */
                                     ^~~~~~~~~~~~~~~~~~
                                     REG_TOUCH_RZTHRESH
components/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c:990:26: error: 'EVE_PCLK' undeclared (first use in this function); did you mean 'EVE_CLK'?
  EVE_memWrite8(REG_PCLK, EVE_PCLK); /* now start clocking data to the LCD panel */
                          ^~~~~~~~
                          EVE_CLK
*** [.pio/build/esp32dev/libbee/lvgl_esp32_drivers/lvgl_tft/EVE_commands.c.o] Error 1
components/lvgl_esp32_drivers/lvgl_tft/il3820.c: In function 'il3820_set_px_cb':
components/lvgl_esp32_drivers/lvgl_tft/il3820.c:183:2: error: #error "Unsupported orientation used"
 #error "Unsupported orientation used"
  ^~~~~
components/lvgl_esp32_drivers/lvgl_tft/il3820.c:161:14: warning: unused variable 'bit_index' [-Wunused-variable]
     uint8_t  bit_index = 0;
              ^~~~~~~~~
components/lvgl_esp32_drivers/lvgl_tft/il3820.c:160:14: warning: unused variable 'byte_index' [-Wunused-variable]
     uint16_t byte_index = 0;
              ^~~~~~~~~~
*** [.pio/build/esp32dev/libbee/lvgl_esp32_drivers/lvgl_tft/il3820.c.o] Error 1

It's seemingly related to EVE_config.h. I have the repo here, building with GitHub Actions on the fix-lvgl branch.

This code is a conversion from a proprietary GFX library to LVGL, and whilst it works fine on ESP-IDF from the company, the PlatformIO port, using known good commit hashes for the LVGL lib and LVGL ESP32 drivers, produces the above errors.

I'm not too clear if this repo is being maintained, there are a lot of open PRs, and I need to decide with the company I'm working with if we should continue to use LVGL.

If someone could help, that would be great!

Thanks.