Makerfabs / ESP32-S3-Parallel-TFT-with-Touch-4inch

23 stars 11 forks source link

Compiling LVGL Example on Mac OSX #5

Open j-raghavan opened 9 months ago

j-raghavan commented 9 months ago

Hello,

I recently purchased ESP32-S3 Parallel TFT 4 inch ST7701, I am trying to compile the Example on Mac OSX and I fail to get it compile. Getting myriad of issues. Like these

In file included from /Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_GFX_Library.h:4,
                 from /Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:6:
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:182:13: error: 'i80_device_list' has not been declared
  182 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |             ^~~~~~~~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:182:3: error: ISO C++ forbids declaration of 'LIST_HEAD' with no type [-fpermissive]
  182 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |   ^~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:182:48: error: expected ';' at end of member declaration
  182 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |                                                ^
      |                                                 ;
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:183:3: error: 'device_list' does not name a type
  183 |   device_list; // Head of i80 device list
      |   ^~~~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:217:3: error: ISO C++ forbids declaration of 'LIST_ENTRY' with no type [-fpermissive]
  217 |   LIST_ENTRY(lcd_panel_io_i80_t)
      |   ^~~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:217:32: error: expected ';' at end of member declaration
  217 |   LIST_ENTRY(lcd_panel_io_i80_t)
      |                                ^
      |                                 ;
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:218:3: error: 'device_list_entry' does not name a type
  218 |   device_list_entry; // Entry of i80 device list
      |   ^~~~~~~~~~~~~~~~~
In file included from /Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_GFX_Library.h:19:
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:43:3: error: 'esp_lcd_rgb_panel_frame_trans_done_cb_t' does not name a type; did you mean 'esp_lcd_panel_io_color_trans_done_cb_t'?
   43 |   esp_lcd_rgb_panel_frame_trans_done_cb_t on_frame_trans_done; // Callback, invoked after frame trans done
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   esp_lcd_panel_io_color_trans_done_cb_t
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:70:1: error: no matching function for call to 'Arduino_ESP32RGBPanel::Arduino_ESP32RGBPanel(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int)'
   70 | );
      | ^
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:59:3: note: candidate: 'Arduino_ESP32RGBPanel::Arduino_ESP32RGBPanel(int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, int8_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, uint16_t, int32_t, bool, uint16_t, uint16_t)'
   59 |   Arduino_ESP32RGBPanel(
      |   ^~~~~~~~~~~~~~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:59:3: note:   candidate expects 33 arguments, 23 provided
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:56:7: note: candidate: 'constexpr Arduino_ESP32RGBPanel::Arduino_ESP32RGBPanel(const Arduino_ESP32RGBPanel&)'
   56 | class Arduino_ESP32RGBPanel
      |       ^~~~~~~~~~~~~~~~~~~~~
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:56:7: note:   candidate expects 1 argument, 23 provided
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:56:7: note: candidate: 'constexpr Arduino_ESP32RGBPanel::Arduino_ESP32RGBPanel(Arduino_ESP32RGBPanel&&)'
/Users/jayasimha/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:56:7: note:   candidate expects 1 argument, 23 provided
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:72:1: error: 'Arduino_ST7701_RGBPanel' does not name a type; did you mean 'Arduino_ESP32RGBPanel'?
   72 | Arduino_ST7701_RGBPanel *gfx = new Arduino_ST7701_RGBPanel(
      | ^~~~~~~~~~~~~~~~~~~~~~~
      | Arduino_ESP32RGBPanel
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino: In function 'int jpegDrawCallback(JPEGDRAW*)':
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:122:3: error: 'gfx' was not declared in this scope
  122 |   gfx->draw16bitBeRGBBitmap(pDraw->x, pDraw->y, pDraw->pPixels, pDraw->iWidth, pDraw->iHeight);
      |   ^~~
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino: In function 'void imageDisplay(int)':
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:149:38: error: 'gfx' was not declared in this scope
  149 |                0 /* x */, 0 /* y */, gfx->width() /* widthLimit */, gfx->height() /* heightLimit */);
      |                                      ^~~
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino: In function 'void setup()':
/Users/jayasimha/Workspace/arduino/playground/esp32/ESP32-S3-Parallel-TFT-with-Touch-4inch/example/esp32s3_4.0_tft_fw_test/esp32s3_4.0_tft_fw_test.ino:225:3: error: 'gfx' was not declared in this scope
  225 |   gfx->begin();
      |   ^~~
Multiple libraries were found for "SD.h"
  Used: /Users/jayasimha/Library/Arduino15/packages/esp32/hardware/esp32/3.0.0-alpha2/libraries/SD
  Not used: /Users/jayasimha/Library/Arduino15/libraries/SDOLD
exit status 1

Compilation error: no matching function for call to 'Arduino_ESP32RGBPanel::Arduino_ESP32RGBPanel(int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int)'

Could some one help me point to a guide that can help me compile the sample code and help me get started developing on this board?

Thanks, JR

rubenvillarnet commented 8 months ago

I'm having the exact issues as @j-raghavan. This is my environment info:

When I try to verify any example I always encounter these errors:

In file included from /Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_GFX_Library.h:4,
                 from /Users/ru/Downloads/ESP32-S3-Parallel-TFT-with-Touch-4inch-main/example/LvglWidgets/LvglWidgets.ino:28:
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:161:13: error: 'i80_device_list' has not been declared
  161 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |             ^~~~~~~~~~~~~~~
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:161:3: error: ISO C++ forbids declaration of 'LIST_HEAD' with no type [-fpermissive]
  161 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |   ^~~~~~~~~
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:161:48: error: expected ';' at end of member declaration
  161 |   LIST_HEAD(i80_device_list, lcd_panel_io_i80_t)
      |                                                ^
      |                                                 ;
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:162:3: error: 'device_list' does not name a type
  162 |   device_list; // Head of i80 device list
      |   ^~~~~~~~~~~
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:196:3: error: ISO C++ forbids declaration of 'LIST_ENTRY' with no type [-fpermissive]
  196 |   LIST_ENTRY(lcd_panel_io_i80_t)
      |   ^~~~~~~~~~
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:196:32: error: expected ';' at end of member declaration
  196 |   LIST_ENTRY(lcd_panel_io_i80_t)
      |                                ^
      |                                 ;
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_DataBus.h:197:3: error: 'device_list_entry' does not name a type
  197 |   device_list_entry; // Entry of i80 device list
      |   ^~~~~~~~~~~~~~~~~
In file included from /Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/Arduino_GFX_Library.h:14:
/Users/ru/Documents/Arduino/libraries/GFX_Library_for_Arduino/src/databus/Arduino_ESP32RGBPanel.h:43:3: error: 'esp_lcd_rgb_panel_frame_trans_done_cb_t' does not name a type; did you mean 'esp_lcd_panel_io_color_trans_done_cb_t'?
   43 |   esp_lcd_rgb_panel_frame_trans_done_cb_t on_frame_trans_done; // Callback, invoked after frame trans done
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   esp_lcd_panel_io_color_trans_done_cb_t

exit status 1

Compilation error: exit status 1
FlamingFury321 commented 1 week ago

I'm not sure if this is still helpful but this error can be solved by downgrading the board managers version for the esp32 back to V2.x.x from V3.x.x. At least in my case it solved the problem.