esp-arduino-libs / esp32_display_panel Goto Github PK
View Code? Open in Web Editor NEWArduino library of driving display panel for the ESP SoCs
License: Apache License 2.0
Arduino library of driving display panel for the ESP SoCs
License: Apache License 2.0
Board: Waveshare ESP32-S3-Touch-LCD-7 with ESP32-S3-WROOM-1-N8R8
#define ESP_PANEL_LCD_NAME ST7262
#define ESP_PANEL_TOUCH_NAME GT911
Hi, I have encountered some weird issues with ESP32_Display_Panel. After uploading the code to ESP32-S3, it does not reset automatically and LCD display shows nothing. The error messages are something like this:
E (30) lcd_panel.io.i2c: panel_io_i2c_rx_buffer(135): i2c transaction failed
E (30) GT911: touch_gt911_read_cfg(362): GT911 read error!
E (31) GT911: esp_lcd_touch_new_i2c_gt911(128): GT911 init failed
E (37) GT911: Error (0xffffffff)! Touch controller GT911 initialization failed!
However, if I hold the "RESET" button when powering up and open serial monitor, then press "RESET" again, LCD starts showing content and the touch works fine as well. Here is some information which may help. The issue may be something related to UART.
GPIO Info:
------------------------------------------
GPIO : BUS_TYPE[bus/unit][chan]
--------------------------------------
19 : USB_DM
20 : USB_DP
43 : UART_TX[0]
44 : UART_RX[0]
If anyone has any advice or comments, please let me know. Many thanks!
Good day dear support.
Could you add support for displays with st77903 controller please? I need this for my project, and I think in the future it will be useful for other users of your library.
I hope for your understanding, thanks in advance :)
Typing error
LCD Venbdor
should be replaced by LCD Vendor
in multiple files:
ESP32_Display_Panel/ESP_Panel_Board_Custom.h
Line 167 in 289d357
Destory?? Or Destroy / Destroyed ;)
ESP32_Display_Panel/src/ESP_Panel.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/FT5x06.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/GT1151.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/ST7123.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/TT21100.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/GT911.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/touch/CST816S.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/host/ESP_PanelHost.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/GC9B71.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/SH8601.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST77922.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST7796.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ILI9341.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/GC9503.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/NV3022B.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST7701.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/SPD2010.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST7262.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST77916.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/ST7789.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/lcd/GC9A01.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/backlight/ESP_PanelBacklight.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/bus/I2C.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/bus/QSPI.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/bus/SPI.cpp: ESP_LOGD(TAG, "Destory");
ESP32_Display_Panel/src/bus/RGB.cpp: ESP_LOGD(TAG, "Destory");
Hello,
I am facing an issue building WiFiClock.ino for CrowPanel 7.0"
It fails at this error:
ESP_Panel.cpp:44:49: error: 'ESP_PanelLcd_EK9716BD3' was not declared in this scope; did you mean 'ESP_PanelLcd_ST77916'?
I don't quite understand why I have to define the controller model (ESP_PANEL_LCD_NAME
) when it's a standard TTL 24-bit parallel RGB controller.
Could you help me correct this issue?
Log
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp: In member function 'bool ESP_Panel::init()':
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:44:49: error: 'ESP_PanelLcd_EK9716BD3' was not declared in this scope; did you mean 'ESP_PanelLcd_ST77916'?
44 | #define _CREATE_LCD(name, bus, cfg) make_shared<ESP_PanelLcd_##name>(bus, cfg)
| ^~~~~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:45:37: note: in expansion of macro '_CREATE_LCD'
45 | #define CREATE_LCD(name, bus, cfg) _CREATE_LCD(name, bus, cfg)
| ^~~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:324:15: note: in expansion of macro 'CREATE_LCD'
324 | lcd_ptr = CREATE_LCD(ESP_PANEL_LCD_NAME, lcd_bus_ptr.get(), lcd_config);
| ^~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:44:69: error: no matching function for call to 'make_shared<<expression error> >(std::__shared_ptr<ESP_PanelBus, __gnu_cxx::_S_atomic>::element_type*, esp_lcd_panel_dev_config_t&)'
44 | #define _CREATE_LCD(name, bus, cfg) make_shared<ESP_PanelLcd_##name>(bus, cfg)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:45:37: note: in expansion of macro '_CREATE_LCD'
45 | #define CREATE_LCD(name, bus, cfg) _CREATE_LCD(name, bus, cfg)
| ^~~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:324:15: note: in expansion of macro 'CREATE_LCD'
324 | lcd_ptr = CREATE_LCD(ESP_PANEL_LCD_NAME, lcd_bus_ptr.get(), lcd_config);
| ^~~~~~~~~~
In file included from c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\memory:77,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\lcd/ESP_PanelLcd.h:9,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel_Library.h:26,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:7:
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1005:5: note: candidate: 'template<class _Tp, class ... _Args> std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...)'
1005 | make_shared(_Args&&... __args)
| ^~~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1005:5: note: template argument deduction/substitution failed:
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:44:69: error: template argument 1 is invalid
44 | #define _CREATE_LCD(name, bus, cfg) make_shared<ESP_PanelLcd_##name>(bus, cfg)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:45:37: note: in expansion of macro '_CREATE_LCD'
45 | #define CREATE_LCD(name, bus, cfg) _CREATE_LCD(name, bus, cfg)
| ^~~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:324:15: note: in expansion of macro 'CREATE_LCD'
324 | lcd_ptr = CREATE_LCD(ESP_PANEL_LCD_NAME, lcd_bus_ptr.get(), lcd_config);
| ^~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1037:5: note: candidate: 'template<class _Tp> std::shared_ptr<std::_UnboundedArray<_Tp> > std::make_shared(size_t)'
1037 | make_shared(size_t __n)
| ^~~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1037:5: note: candidate expects 1 argument, 2 provided
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1053:5: note: candidate: 'template<class _Tp> std::shared_ptr<std::_UnboundedArray<_Tp> > std::make_shared(size_t, remove_extent_t<_Iter>&)'
1053 | make_shared(size_t __n, const remove_extent_t<_Tp>& __u)
| ^~~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1053:5: note: template argument deduction/substitution failed:
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:44:69: error: template argument 1 is invalid
44 | #define _CREATE_LCD(name, bus, cfg) make_shared<ESP_PanelLcd_##name>(bus, cfg)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:45:37: note: in expansion of macro '_CREATE_LCD'
45 | #define CREATE_LCD(name, bus, cfg) _CREATE_LCD(name, bus, cfg)
| ^~~~~~~~~~~
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:324:15: note: in expansion of macro 'CREATE_LCD'
324 | lcd_ptr = CREATE_LCD(ESP_PANEL_LCD_NAME, lcd_bus_ptr.get(), lcd_config);
| ^~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1080:5: note: candidate: 'template<class _Tp> std::shared_ptr<std::_BoundedArray<_Tp> > std::make_shared()'
1080 | make_shared()
| ^~~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1080:5: note: candidate expects 0 arguments, 2 provided
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1095:5: note: candidate: 'template<class _Tp> std::shared_ptr<std::_BoundedArray<_Tp> > std::make_shared(remove_extent_t<_Iter>&)'
1095 | make_shared(const remove_extent_t<_Tp>& __u)
| ^~~~~~~~~~~
c:\users\ludovic\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1095:5: note: candidate expects 1 argument, 2 provided
"C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp-xs3\\2302/bin/xtensa-esp32s3-elf-gcc" -MMD -c "@C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-dc859c1e67\\esp32s3/flags/c_flags" -w -Os -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32S3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32S3_DEV\"" "-DARDUINO_VARIANT=\"esp32s3\"" -DARDUINO_PARTITION_huge_app "-DARDUINO_HOST_OS=\"windows\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32s3:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=4M,PartitionScheme=huge_app,DebugLevel=debug,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=4 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 "@C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-dc859c1e67\\esp32s3/flags/defines" "-ID:\\ESP32_Display_Panel_Crow_7\\ESP32_Display_Panel-master\\examples\\SquareLine\\v8\\WiFiClock" -iprefix "C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-dc859c1e67\\esp32s3/include/" "@C:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-dc859c1e67\\esp32s3/flags/includes" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-dc859c1e67\\esp32s3/qio_opi/include" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\cores\\esp32" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\variants\\esp32s3" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\ESP32_Display_Panel\\src" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\ESP32_IO_Expander\\src" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\lvgl\\src" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\ui\\src" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\NTPClient" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\libraries\\WiFi\\src" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\libraries\\Network\\src" "-Id:\\ESP32_Display_Panel_Crow_7\\libraries\\ArduinoJson\\src" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\libraries\\HTTPClient\\src" "-IC:\\Users\\User\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.3\\libraries\\NetworkClientSecure\\src" "@C:\\Users\\User\\AppData\\Local\\Temp\\arduino\\sketches\\CDE03991EDD06825BAFC03007A832A31/build_opt.h" "@C:\\Users\\User\\AppData\\Local\\Temp\\arduino\\sketches\\CDE03991EDD06825BAFC03007A832A31/file_opts" "d:\\ESP32_Display_Panel_Crow_7\\libraries\\ESP32_Display_Panel\\src\\lcd\\base\\esp_lcd_gc9503.c" -o "C:\\Users\\User\\AppData\\Local\\Temp\\arduino\\sketches\\CDE03991EDD06825BAFC03007A832A31\\libraries\\ESP32_Display_Panel\\lcd\\base\\esp_lcd_gc9503.c.o"
Using library ESP32_Display_Panel at version 0.1.5 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ESP32_IO_Expander
Using library lvgl at version 8.3.11 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\lvgl
Using library ui at version 1.0 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ui
Using library NTPClient at version 3.2.1 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\NTPClient
Using library WiFi at version 3.0.3 in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\WiFi
Using library Networking at version 3.0.3 in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\Network
Using library ArduinoJson at version 6.21.5 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ArduinoJson
Using library HTTPClient at version 3.0.3 in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\HTTPClient
Using library NetworkClientSecure at version 3.0.3 in folder: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\NetworkClientSecure
exit status 1
Compilation error: exit status 1
Hello,
I installed this library and I solved first library requirement which is esp_io_expander.h
Then I got this error, where esp_memory_utils.h
is located in esp-idf-master
.
In file included from E:\Programs_Files\Arduino\libraries\ESP32_Display_Panel-master\src/ESP_PanelLog.h:9,
from E:\Programs_Files\Arduino\libraries\ESP32_Display_Panel-master\src\lcd\ESP_PanelLcd.cpp:8:
E:\Programs_Files\Arduino\libraries\ESP32_Display_Panel-master\src/ESP_Panel_Conf_Internal.h:51:35: error: operator '!' has no right operand
#if !ESP_PANEL_CONF_INCLUDE_INSIDE
^
E:\Programs_Files\Arduino\libraries\ESP32_Display_Panel-master\src\lcd\ESP_PanelLcd.cpp:13:10: fatal error: esp_memory_utils.h: No such file or directory
#include "esp_memory_utils.h"
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Error compiling for board ESP32S3 Dev Module.
So how to solve these two errors ?
Hello,
I have a ST7262 LCD screen and I am trying to build an example but I am facing another error:
'ST7262_PANEL_IO_3WIRE_SPI_CONFIG' was not declared in this scope
I don't understand why I'm getting this error with regarding a 3 wire SPI bus when I'm using an RGB screen.
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp: In member function 'bool ESP_Panel::init()':
C:\Users\user\Documents\Arduino\Waveshare\PanelTest_LBO\PanelTest_LBO/ESP_Panel_Board_Custom.h:32:37: error: 'ST7262_PANEL_IO_3WIRE_SPI_CONFIG' was not declared in this scope; did you mean 'ST7701_PANEL_IO_3WIRE_SPI_CONFIG'?
32 | #define ESP_PANEL_LCD_NAME ST7262
| ^~~~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:40:57: note: in definition of macro '_LCD_PANEL_IO_3WIRE_SPI_CONFIG'
40 | name##_PANEL_IO_3WIRE_SPI_CONFIG(line_config, scl_active_edge)
| ^~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:213:9: note: in expansion of macro 'LCD_PANEL_IO_3WIRE_SPI_CONFIG'
213 | LCD_PANEL_IO_3WIRE_SPI_CONFIG(ESP_PANEL_LCD_NAME, line_config, ESP_PANEL_LCD_3WIRE_SPI_SCL_ACTIVE_EDGE);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:213:39: note: in expansion of macro 'ESP_PANEL_LCD_NAME'
213 | LCD_PANEL_IO_3WIRE_SPI_CONFIG(ESP_PANEL_LCD_NAME, line_config, ESP_PANEL_LCD_3WIRE_SPI_SCL_ACTIVE_EDGE);
| ^~~~~~~~~~~~~~~~~~
"C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208/bin/xtensa-esp32s3-elf-gcc" -MMD -c "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/c_flags" -w -Os -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32S3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32S3_DEV\"" "-DARDUINO_VARIANT=\"esp32s3\"" -DARDUINO_PARTITION_default_8MB "-DARDUINO_HOST_OS=\"windows\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32s3:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=8M,PartitionScheme=default,DebugLevel=none,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/defines" "-IC:\\Users\\user\\Documents\\Arduino\\Waveshare\\PanelTest_LBO\\PanelTest_LBO" -iprefix "C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/include/" "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/includes" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/qio_opi/include" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0-rc3\\cores\\esp32" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0-rc3\\variants\\esp32s3" "-Ic:\\Users\\user\\Documents\\Arduino\\libraries\\ESP32_Display_Panel\\src" "-Ic:\\Users\\user\\Documents\\Arduino\\libraries\\ESP32_IO_Expander\\src" "@C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\CBB42693422360DC1E6A7709D194CD0D/build_opt.h" "@C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\CBB42693422360DC1E6A7709D194CD0D/file_opts" "c:\\Users\\user\\Documents\\Arduino\\libraries\\ESP32_Display_Panel\\src\\lcd\\base\\esp_lcd_gc9503.c" -o "C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\CBB42693422360DC1E6A7709D194CD0D\\libraries\\ESP32_Display_Panel\\lcd\\base\\esp_lcd_gc9503.c.o"
Using library ESP32_Display_Panel at version 0.1.1 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_IO_Expander
exit status 1
Compilation error: 'ST7262_PANEL_IO_3WIRE_SPI_CONFIG' was not declared in this scope; did you mean 'ST7701_PANEL_IO_3WIRE_SPI_CONFIG'?
ESP_Panel_Board_Custom.h config
#if ESP_PANEL_USE_CUSTOM_BOARD
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////// Please update the following macros to configure the LCD panel /////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* Set to 1 when using an LCD panel */
#define ESP_PANEL_USE_LCD (1) // 0/1
#if ESP_PANEL_USE_LCD
/**
* LCD Controller Name. Choose one of the following:
* - GC9A01, GC9B71, GC9503
* - ILI9341
* - NV3022B
* - SH8601
* - SPD2010
* - ST7262, ST7701, ST7789, ST7796, ST77916, ST77922
*/
#define ESP_PANEL_LCD_NAME ST7262
/* LCD resolution in pixels */
#define ESP_PANEL_LCD_WIDTH (800)
#define ESP_PANEL_LCD_HEIGHT (480)
/* LCD Bus Settings */
/**
* If set to 1, the bus will skip to initialize the corresponding host. Users need to initialize the host in advance.
* It is useful if other devices use the same host. Please ensure that the host is initialized only once.
*/
#define ESP_PANEL_LCD_BUS_SKIP_INIT_HOST (0) // 0/1
/**
* LCD Bus Type. Choose one of the following:
* - ESP_PANEL_BUS_TYPE_I2C (not ready)
* - ESP_PANEL_BUS_TYPE_SPI
* - ESP_PANEL_BUS_TYPE_QSPI
* - ESP_PANEL_BUS_TYPE_I80 (not ready)
* - ESP_PANEL_BUS_TYPE_RGB (only supported for ESP32-S3)
*/
#define ESP_PANEL_LCD_BUS_TYPE (ESP_PANEL_BUS_TYPE_RGB)
/**
* LCD Bus Parameters.
*
* Please refer to https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-reference/peripherals/lcd.html and
* https://docs.espressif.com/projects/esp-iot-solution/en/latest/display/lcd/index.html for more details.
*
*/
#if ESP_PANEL_LCD_BUS_TYPE == ESP_PANEL_BUS_TYPE_SPI
#define ESP_PANEL_LCD_BUS_HOST_ID (1) // Typically set to 1
#define ESP_PANEL_LCD_SPI_IO_CS (5)
#if !ESP_PANEL_LCD_BUS_SKIP_INIT_HOST
#define ESP_PANEL_LCD_SPI_IO_SCK (7)
#define ESP_PANEL_LCD_SPI_IO_MOSI (6)
#define ESP_PANEL_LCD_SPI_IO_MISO (-1) // -1 if not used
#endif
#define ESP_PANEL_LCD_SPI_IO_DC (4)
#define ESP_PANEL_LCD_SPI_MODE (0) // 0/1/2/3, typically set to 0
#define ESP_PANEL_LCD_SPI_CLK_HZ (40 * 1000 * 1000)
// Should be an integer divisor of 80M, typically set to 40M
#define ESP_PANEL_LCD_SPI_TRANS_QUEUE_SZ (10) // Typically set to 10
#define ESP_PANEL_LCD_SPI_CMD_BITS (8) // Typically set to 8
#define ESP_PANEL_LCD_SPI_PARAM_BITS (8) // Typically set to 8
#elif ESP_PANEL_LCD_BUS_TYPE == ESP_PANEL_BUS_TYPE_QSPI
#define ESP_PANEL_LCD_BUS_HOST_ID (1) // Typically set to 1
#define ESP_PANEL_LCD_SPI_IO_CS (5)
#if !ESP_PANEL_LCD_BUS_SKIP_INIT_HOST
#define ESP_PANEL_LCD_SPI_IO_SCK (9)
#define ESP_PANEL_LCD_SPI_IO_DATA0 (10)
#define ESP_PANEL_LCD_SPI_IO_DATA1 (11)
#define ESP_PANEL_LCD_SPI_IO_DATA2 (12)
#define ESP_PANEL_LCD_SPI_IO_DATA3 (13)
#endif
#define ESP_PANEL_LCD_SPI_MODE (0) // 0/1/2/3, typically set to 0
#define ESP_PANEL_LCD_SPI_CLK_HZ (40 * 1000 * 1000)
// Should be an integer divisor of 80M, typically set to 40M
#define ESP_PANEL_LCD_SPI_TRANS_QUEUE_SZ (10) // Typically set to 10
#define ESP_PANEL_LCD_SPI_CMD_BITS (32) // Typically set to 32
#define ESP_PANEL_LCD_SPI_PARAM_BITS (8) // Typically set to 8
#elif ESP_PANEL_LCD_BUS_TYPE == ESP_PANEL_BUS_TYPE_RGB
#define ESP_PANEL_LCD_RGB_CLK_HZ (16 * 1000 * 1000)
#define ESP_PANEL_LCD_RGB_HPW (40)
#define ESP_PANEL_LCD_RGB_HBP (40)
#define ESP_PANEL_LCD_RGB_HFP (48)
#define ESP_PANEL_LCD_RGB_VPW (23)
#define ESP_PANEL_LCD_RGB_VBP (32)
#define ESP_PANEL_LCD_RGB_VFP (13)
#define ESP_PANEL_LCD_RGB_PCLK_ACTIVE_NEG (0) // 0: rising edge, 1: falling edge
#define ESP_PANEL_LCD_RGB_DATA_WIDTH (16) // 8 | 16
#define ESP_PANEL_LCD_RGB_PIXEL_BITS (24) // 24 | 16
#define ESP_PANEL_LCD_RGB_FRAME_BUF_NUM (1) // 1/2/3
#define ESP_PANEL_LCD_RGB_BOUNCE_BUF_SIZE (0) // Bounce buffer size in bytes. This function is used to avoid screen drift.
// To enable the bounce buffer, set it to a non-zero value. Typically set to `ESP_PANEL_LCD_WIDTH * 10`
// The size of the Bounce Buffer must satisfy `width_of_lcd * height_of_lcd = size_of_buffer * N`,
// where N is an even number.
#define ESP_PANEL_LCD_RGB_IO_HSYNC (46)
#define ESP_PANEL_LCD_RGB_IO_VSYNC (3)
#define ESP_PANEL_LCD_RGB_IO_DE (5) // -1 if not used
#define ESP_PANEL_LCD_RGB_IO_PCLK (7)
#define ESP_PANEL_LCD_RGB_IO_DISP (-1) // -1 if not used
#define ESP_PANEL_LCD_RGB_IO_DATA0 (1)
#define ESP_PANEL_LCD_RGB_IO_DATA1 (2)
#define ESP_PANEL_LCD_RGB_IO_DATA2 (42)
#define ESP_PANEL_LCD_RGB_IO_DATA3 (41)
#define ESP_PANEL_LCD_RGB_IO_DATA4 (40)
#define ESP_PANEL_LCD_RGB_IO_DATA5 (14)
#define ESP_PANEL_LCD_RGB_IO_DATA6 (38)
#define ESP_PANEL_LCD_RGB_IO_DATA7 (18)
#if ESP_PANEL_LCD_RGB_DATA_WIDTH > 8
#define ESP_PANEL_LCD_RGB_IO_DATA8 (17)
#define ESP_PANEL_LCD_RGB_IO_DATA9 (10)
#define ESP_PANEL_LCD_RGB_IO_DATA10 (39)
#define ESP_PANEL_LCD_RGB_IO_DATA11 (0)
#define ESP_PANEL_LCD_RGB_IO_DATA12 (45)
#define ESP_PANEL_LCD_RGB_IO_DATA13 (48)
#define ESP_PANEL_LCD_RGB_IO_DATA14 (47)
#define ESP_PANEL_LCD_RGB_IO_DATA15 (21)
#endif
#if !ESP_PANEL_LCD_BUS_SKIP_INIT_HOST
#define ESP_PANEL_LCD_3WIRE_SPI_IO_CS (0)
#define ESP_PANEL_LCD_3WIRE_SPI_IO_SCK (1)
#define ESP_PANEL_LCD_3WIRE_SPI_IO_SDA (2)
#define ESP_PANEL_LCD_3WIRE_SPI_CS_USE_EXPNADER (0) // 0/1
#define ESP_PANEL_LCD_3WIRE_SPI_SCL_USE_EXPNADER (0) // 0/1
#define ESP_PANEL_LCD_3WIRE_SPI_SDA_USE_EXPNADER (0) // 0/1
#define ESP_PANEL_LCD_3WIRE_SPI_SCL_ACTIVE_EDGE (0) // 0: rising edge, 1: falling edge
#define ESP_PANEL_LCD_FLAGS_AUTO_DEL_PANEL_IO (0) // Delete the panel IO instance automatically if set to 1.
// If the 3-wire SPI pins are sharing other pins of the RGB interface to save GPIOs,
// Please set it to 1 to release the panel IO and its pins (except CS signal).
#define ESP_PANEL_LCD_FLAGS_MIRROR_BY_CMD (!ESP_PANEL_LCD_FLAGS_AUTO_DEL_PANEL_IO)
// The `mirror()` function will be implemented by LCD command if set to 1.
#endif
Did I miss something?
Regards
EXAMPLE_TOUCH_ADDRESS
missing as variable in I2C.ino
ESP32_Display_Panel/examples/Touch/I2C/I2C.ino
Lines 103 to 104 in 289d357
My current ESP32 can run LVGL code normally, but the serial port cannot print properly. It only automatically prints the following:
ESP-ROM:esp32s3-20210327
Build: Mar 27 2021
rst:0x1 (POWERON), boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode: DIO, clock div:1
load:0x3fce3818, len:0x508
load:0x403c9700, len:0x4
load:0x403c9704, len:0xad0
load:0x403cc700, len:0x29e4
entry 0x403c9880
Other LVGL functions work fine; I guess I missed something in the config, but I don't know what happened. I also tried the Porting function for the Arduino IDE; it can print the expected information, and I tried enabling the ESP_PANEL_ENABLE_LOG in the ESP_Panel_Conf; it can print the information correctly,
here is my ini:
[env:ESP-LCD]
platform = [email protected]
board = ESP-LCD
framework = arduino
platform_packages =
platformio/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git
platformio/framework-arduinoespressif32-libs@https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1
upload_speed = 921600
monitor_speed = 115200
build_flags =
-DBOARD_HAS_PSRAM
-DLV_CONF_INCLUDE_SIMPLE
-DDISABLE_ALL_LIBRARY_WARNINGS
-DARDUINO_USB_CDC_ON_BOOT=1
-DCORE_DEBUG_LEVEL=1
-DLV_LVGL_H_INCLUDE_SIMPLE
-I src
-D VN=1
-D ESP32S3=1
-DCONFIG_SPIRAM_TYPE_OPI
lib_deps =
https://github.com/esp-arduino-libs/ESP32_Display_Panel.git
https://github.com/esp-arduino-libs/ESP32_IO_Expander.git
https://github.com/lvgl/lvgl.git#release/v8.3
I guess my board file is probably correct since the LVGL function can work
{
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "default_8MB.csv",
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": [
"-DBOARD_HAS_PSRAM",
"-DARDUINO_USB_MODE=1",
"-DARDUINO_RUNNING_CORE=1",
"-DARDUINO_EVENT_RUNNING_CORE=1"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [["0x303A", "0x1001"]],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": ["wifi"],
"debug": {
"default_tool": "esp-builtin",
"onboard_tools": ["esp-builtin"],
"openocd_target": "esp32s3.cfg"
},
"frameworks": ["arduino", "espidf"],
"name": "ESP-LCD (8M QIO Flash & OPI PSRAM)",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 921600
},
"url": "",
"vendor": "ESP-LCD"
}
I only see the v8 version of the LVGL library in the examples, and the configuration files in the v9 version have been significantly changed and are quite different from those in v8. So, can it be used?
I tried using the v9 version of the library, but the program didn't run correctly. So, I'm unsure if it's because of my configuration or if the current ESP32 panel library is incompatible with the v9 library.
For a custom board, the GPIO pin layout is specified in the ESP_Panel_Board_Custom.h file. These pins are named ESP_PANEL_LCD_RGB_IO_DATA0 up to ESP_PANEL_LCD_RGB_IO_DATA15. For a board such as the Waveshare ESP32-S3 4.3 inch display module, the LCD pin layout is described in terms of R, G and B pins. Below is an extract from the above site:
How do these pins (R3-R7, G2-G7 and B3-B7) map to the pins ESP_PANEL_LCD_RGB_IO_DATAx (x = 0 to 15) in ESP_Panel_Board_Custom.h?
Hello,
I am trying to build PanelTest.ino but I am facing this error. Can you help me to fix it?
Generating function prototypes...
C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\xtensa-esp32s3-elf-gcc\esp-12.2.0_20230208/bin/xtensa-esp32s3-elf-g++ -c @C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32s3/flags/cpp_flags -w -Os -w -x c++ -E -CC -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32S3_DEV -DARDUINO_ARCH_ESP32 -DARDUINO_BOARD="ESP32S3_DEV" -DARDUINO_VARIANT="esp32s3" -DARDUINO_PARTITION_default_8MB -DARDUINO_HOST_OS="windows" -DARDUINO_FQBN="esp32:esp32:esp32s3:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=8M,PartitionScheme=default,DebugLevel=none,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 @C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32s3/flags/defines -IC:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\PanelTest -iprefix C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32s3/include/ @C:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32s3/flags/includes -IC:\Users\user\AppData\Local\Arduino15\packages\esp32\tools\esp32-arduino-libs\idf-release_v5.1-442a798083/esp32s3/qio_opi/include -IC:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\cores\esp32 -IC:\Users\user\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.0-rc3\variants\esp32s3 -Ic:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src -Ic:\Users\user\Documents\Arduino\libraries\ESP32_IO_Expander\src @C:\Users\user\AppData\Local\Temp\arduino\sketches\9AB4D0BAFE0CD43D82EA97D153E60905/build_opt.h @C:\Users\user\AppData\Local\Temp\arduino\sketches\9AB4D0BAFE0CD43D82EA97D153E60905/file_opts C:\Users\user\AppData\Local\Temp\arduino\sketches\9AB4D0BAFE0CD43D82EA97D153E60905\sketch\PanelTest.ino.cpp -o C:\Users\user\AppData\Local\Temp\3035903189\sketch_merged.cpp
C:\Users\user\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\user\AppData\Local\Temp\3035903189\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32s3-elf-gcc\\esp-12.2.0_20230208/bin/xtensa-esp32s3-elf-g++" -MMD -c "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/cpp_flags" -w -Os -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESP32S3_DEV -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESP32S3_DEV\"" "-DARDUINO_VARIANT=\"esp32s3\"" -DARDUINO_PARTITION_default_8MB "-DARDUINO_HOST_OS=\"windows\"" "-DARDUINO_FQBN=\"esp32:esp32:esp32s3:UploadSpeed=921600,USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=8M,PartitionScheme=default,DebugLevel=none,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default\"" -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_RUNNING_CORE=1 -DARDUINO_EVENT_RUNNING_CORE=1 -DBOARD_HAS_PSRAM -DARDUINO_USB_MODE=1 -DARDUINO_USB_CDC_ON_BOOT=0 -DARDUINO_USB_MSC_ON_BOOT=0 -DARDUINO_USB_DFU_ON_BOOT=0 "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/defines" "-IC:\\Users\\user\\AppData\\Local\\Temp\\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\\PanelTest" -iprefix "C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/include/" "@C:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/flags/includes" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\esp32-arduino-libs\\idf-release_v5.1-442a798083/esp32s3/qio_opi/include" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0-rc3\\cores\\esp32" "-IC:\\Users\\user\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\3.0.0-rc3\\variants\\esp32s3" "-Ic:\\Users\\user\\Documents\\Arduino\\libraries\\ESP32_Display_Panel\\src" "-Ic:\\Users\\user\\Documents\\Arduino\\libraries\\ESP32_IO_Expander\\src" "@C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\9AB4D0BAFE0CD43D82EA97D153E60905/build_opt.h" "@C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\9AB4D0BAFE0CD43D82EA97D153E60905/file_opts" "C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\9AB4D0BAFE0CD43D82EA97D153E60905\\sketch\\PanelTest.ino.cpp" -o "C:\\Users\\user\\AppData\\Local\\Temp\\arduino\\sketches\\9AB4D0BAFE0CD43D82EA97D153E60905\\sketch\\PanelTest.ino.cpp.o"
C:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\PanelTest\PanelTest.ino:46:1: error: 'ESP_Panel' does not name a type; did you mean 'ESP_PanelLcd'?
46 | ESP_Panel *panel = nullptr;
| ^~~~~~~~~
| ESP_PanelLcd
C:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\PanelTest\PanelTest.ino: In function 'void setup()':
C:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\PanelTest\PanelTest.ino:74:5: error: 'panel' was not declared in this scope
74 | panel = new ESP_Panel();
| ^~~~~
C:\Users\user\AppData\Local\Temp\.arduinoIDE-unsaved2024417-368-1odpf7z.43k\PanelTest\PanelTest.ino:74:17: error: expected type-specifier before 'ESP_Panel'
74 | panel = new ESP_Panel();
| ^~~~~~~~~
Using library ESP32_Display_Panel at version 0.1.1 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_IO_Expander
exit status 1
Compilation error: 'ESP_Panel' does not name a type; did you mean 'ESP_PanelLcd'?
Setup env
Build log
PanelTest_build.log
Bootloop running PanelTest example on M5CORES3.
Config
ESP_Panel_Board_Supported.h
#define ESP_PANEL_USE_SUPPORTED_BOARD (1) // 0/1
#define BOARD_M5STACK_M5CORES3
Bootlog
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x28 (SPI_FAST_FLASH_BOOT)
Saved PC:0x4037ae5e
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3818,len:0x508
load:0x403c9700,len:0x4
load:0x403c9704,len:0xad0
load:0x403cc700,len:0x29e4
entry 0x403c9880
[ 510][W][STA.cpp:533] disconnect(): STA already disconnected.
D (59) ESP_PanelHost: Add host SPI[1]
D (60) ESP_PanelHost: Add host I2C[0]
D (60) ESP_PanelHost: Initialize host I2C[0]
D (61) ESP_PanelHost: Initialize host SPI[1]
D (65) ESP_PanelHost: Destroyed
D (79) ESP_PanelBus_SPI: Create panel io @0x3fcb1a4c
D (79) ili9341: new ili9341 panel @0x3fcb1fb8
I (80) ili9341: LCD panel create success, version: 2.0.0
D (105) ESP_PanelLcd: Begin start
D (206) ili9341: send init commands success
D (206) ESP_PanelLcd: Begin end
D (206) ESP_PanelBus_I2C: Panel IO @0x3fcb20c0 created
D (206) ESP_PanelTouch: Disable interruption
E (210) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (217) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (224) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (231) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (238) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (245) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (252) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (259) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (265) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(177): i2c transaction failed
E (272) FT5x06: esp_lcd_touch_new_i2c_ft5x06(161): FT5x06 init failed
E (278) FT5x06: Error (0xffffffff)! Touch controller FT5x06 initialization failed!
E (286) FT5x06_CPP: [ESP_FAIL] begin(43): New driver failed
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Core 1 register dump:
PC : 0x400556d5 PS : 0x00060130 A0 : 0x820ecc4e A1 : 0x3fcebbe0
A2 : 0x0000021c A3 : 0x00000218 A4 : 0x000000ff A5 : 0x0000ff00
A6 : 0x00ff0000 A7 : 0xff000000 A8 : 0x00000000 A9 : 0x3fcebba0
A10 : 0x00000000 A11 : 0x3c110a0a A12 : 0x00000000 A13 : 0x00000000
A14 : 0x00000000 A15 : 0xff000000 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000021c LBEG : 0x400556d5 LEND : 0x400556e5 LCOUNT : 0xffffffff
Backtrace: 0x400556d2:0x3fcebbe0 0x420ecc4b:0x3fcebbf0 0x420f46c2:0x3fcebf10 0x420f46fe:0x3fcebfa0 0x4203af91:0x3fcebfe0 0x4207a670:0x3fcec020 0x42005629:0x3fcec0a0 0x42004aaa:0x3fcec0f0 0x4203c067:0x3fcec120
ELF file SHA256: c1c34d99c0adac5e
我用arduino IDE 开发,编译有点慢,想转到vscode。platformio里也有一个esp32_display_panel库,发现不同步的,用不了。platformio可以使用这个库吗?
ESP_PANEL_TOUCH_I2C_ADDRESS
is set #define ESP_PANEL_TOUCH_I2C_ADDRESS (0x14)
d:\Waveshare\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:421:9: required from here
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\stl_construct.h:96:17: error: no matching function for call to 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, esp_lcd_touch_config_t&, int)'
96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from d:\Waveshare\libraries\ESP32_Display_Panel\src\ESP_Panel_Library.h:45:
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:38:5: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, const esp_lcd_touch_config_t&)'
38 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config);
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:38:5: note: candidate expects 2 arguments, 3 provided
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:29:5: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, uint16_t, uint16_t, int, int)'
29 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, uint16_t width, uint16_t height, int rst_io = -1, int int_io = -1);
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:29:54: note: no known conversion for argument 2 from 'esp_lcd_touch_config_t' to 'uint16_t' {aka 'short unsigned int'}
29 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, uint16_t width, uint16_t height, int rst_io = -1, int int_io = -1);
| ~~~~~~~~~^~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:18:7: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(const ESP_PanelTouch_GT911&)'
18 | class ESP_PanelTouch_GT911 : public ESP_PanelTouch {
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:18:7: note: candidate expects 1 argument, 3 provided
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\stl_construct.h: In instantiation of 'constexpr void std::_Construct(_Tp*, _Args&& ...) [with _Tp = ESP_PanelTouch_GT911; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}]':
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\alloc_traits.h:635:19: required from 'static constexpr void std::allocator_traits<std::allocator<void> >::construct(allocator_type&, _Up*, _Args&& ...) [with _Up = ESP_PanelTouch_GT911; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; allocator_type = std::allocator<void>]'
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr_base.h:604:39: required from 'std::_Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; _Tp = ESP_PanelTouch_GT911; _Alloc = std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr_base.h:971:16: required from 'std::__shared_count<_Lp>::__shared_count(_Tp*&, std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp = ESP_PanelTouch_GT911; _Alloc = std::allocator<void>; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr_base.h:1712:14: required from 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; _Tp = ESP_PanelTouch_GT911; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:464:59: required from 'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...) [with _Alloc = std::allocator<void>; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; _Tp = ESP_PanelTouch_GT911]'
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\shared_ptr.h:1009:14: required from 'std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp = ESP_PanelTouch_GT911; _Args = {ESP_PanelBus*, esp_lcd_touch_config_t&, int}; _NonArray<_Tp> = ESP_PanelTouch_GT911]'
d:\Waveshare\libraries\ESP32_Display_Panel\src\ESP_Panel.cpp:421:9: required from here
c:\users\Waveshare\appdata\local\arduino15\packages\esp32\tools\esp-xs3\2302\xtensa-esp32s3-elf\include\c++\12.2.0\bits\stl_construct.h:119:7: error: no matching function for call to 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, esp_lcd_touch_config_t&, int)'
119 | ::new((void*)__p) _Tp(std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:38:5: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, const esp_lcd_touch_config_t&)'
38 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config);
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:38:5: note: candidate expects 2 arguments, 3 provided
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:29:5: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus*, uint16_t, uint16_t, int, int)'
29 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, uint16_t width, uint16_t height, int rst_io = -1, int int_io = -1);
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:29:54: note: no known conversion for argument 2 from 'esp_lcd_touch_config_t' to 'uint16_t' {aka 'short unsigned int'}
29 | ESP_PanelTouch_GT911(ESP_PanelBus *bus, uint16_t width, uint16_t height, int rst_io = -1, int int_io = -1);
| ~~~~~~~~~^~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:18:7: note: candidate: 'ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(const ESP_PanelTouch_GT911&)'
18 | class ESP_PanelTouch_GT911 : public ESP_PanelTouch {
| ^~~~~~~~~~~~~~~~~~~~
d:\Waveshare\libraries\ESP32_Display_Panel\src\touch/GT911.h:18:7: note: candidate expects 1 argument, 3 provided
Using library ESP32_Display_Panel at version 0.1.5 in folder: D:\Waveshare\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: D:\Waveshare\libraries\ESP32_IO_Expander
Using library lvgl at version 8.3.11 in folder: D:\Waveshare\libraries\lvgl
Using library ui at version 1.0 in folder: D:\Waveshare\libraries\ui
Using library NTPClient at version 3.2.1 in folder: D:\Waveshare\libraries\NTPClient
Using library WiFi at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\WiFi
Using library Networking at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\Network
Using library ArduinoJson at version 6.21.5 in folder: D:\Waveshare\libraries\ArduinoJson
Using library HTTPClient at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\HTTPClient
Using library NetworkClientSecure at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\NetworkClientSecure
exit status 1
Compilation error: exit status 1
I have successfully tested the WiFiClock example using the ST7262 driver IC with an 800x480 LCD. Now, I'm attempting to make the same RGB interface work with an SC7283 driver IC and a 480x272 LCD. However, due to the difference in resolution, the display appears in the bottom right corner, showing only a quarter of the screen.
When I modify the
#define ESP_PANEL_LCD_WIDTH (480)
#define ESP_PANEL_LCD_HEIGHT (272)
the following error appears :
13:55:55.308 -> Build:Mar 27 2021
13:55:55.308 -> rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
13:55:55.342 -> Saved PC:0x4037b8ee
13:55:55.342 -> SPIWP:0xee
13:55:55.342 -> mode:DIO, clock div:1
13:55:55.342 -> load:0x3fce3818,len:0x508
13:55:55.342 -> load:0x403c9700,len:0x4
13:55:55.342 -> load:0x403c9704,len:0xad0
13:55:55.342 -> load:0x403cc700,len:0x29d8
13:55:55.342 -> entry 0x403c9880
13:55:55.782 -> Squareline WiFi clock example start
13:55:55.857 -> Initialize panel device
13:55:55.857 -> D (79) ESP_Panel: Panel init start
13:55:55.857 -> D (79) ESP_Panel: Use LCD
13:55:55.857 -> D (79) ESP_Panel: Use RGB bus
13:55:55.857 -> D (79) ESP_Panel: Create LCD bus
13:55:55.891 -> D (81) ESP_Panel: Create LCD device
13:55:55.891 -> D (84) ESP_Panel: Initialize host
13:55:55.891 -> D (87) ESP_Panel: Panel init end
13:55:55.891 -> D (90) ESP_PanelHost: Destory
13:55:55.891 -> D (93) ESP_Panel: Panel begin start
13:55:55.891 -> D (96) ESP_Panel: Begin LCD
13:55:55.891 -> E (99) lcd_panel.rgb: esp_lcd_new_rgb_panel(251): fb size must be even multiple of bounce buffer size
13:55:55.891 ->
13:55:55.974 -> assert failed: virtual bool ESP_PanelLcd_ST7262::init() C:\Users\jerry\projects\arduinov3\portable\libraries\ESP32_Display_Panel\src\lcd\ST7262.cpp:65 ((esp_lcd_new_rgb_panel(vendor_config.rgb_config
13:55:55.974 ->
13:55:55.974 ->
13:55:55.974 -> Backtrace: 0x4037742a:0x3fcebdb0 0x4037e46d:0x3fcebdd0 0x403847dd:0x3fcebdf0 0x42006bda:0x3fcebf⸮⸮⸮
In the case of using the same RGB interface, can some parameters modified for the ST7262 be applied to the SC7283? Or is there support provided for the SC7283?
When adding additional components such as RTC and Sensor to the same I2C BUS, they have their own independent arduino libraries (using wire.h). Any suggestions when integrating into this library? Thanks !
I haven't worked out how to set Wi-Fi credentials for Squareline Simple Wi-Fi Clock Example encoded directly in the code. Could you tell me how to do that?
Regards
WiFiClock example: Poor graphics quality with M5STACK_M5CORES3 board.
hello there,
Great lib incorporating multiple LCD and touch drivers...Great work
kindly help out in my issue.
i am trying to run LVGL squareline ui on a Waveshare share 4.3 inch RGB display,GT911 touch drivers running on Esp32S3 SOC
(ram:8,flash:8) using platform io IDE.
i am using a custom board and have necessary includes in code as far i could figure out.
Found Success Running the code with tearing down effect for RGB panel with previous version of library But was not able to use Bounce Buffer in PlatformIO
but with latest update pio compiler Even fails to compile with error codes described below
kindly help...
necessary details included below..
thanks in advance.
Good Day Guys when loading the Squareline porting example on the new update I am experiencing the following error not sure why and there's no Library for it?
`c:\Users\esp\Desktop\sqaure2\libraries\ESP32_Display_Panel\src\lcd\ESP_PanelLcd.cpp:13:10: fatal error: esp_memory_utils.h: No such file or directory
#include "esp_memory_utils.h"
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1`
Hello,
I am facing an issue building WiFiClock.ino for CrowPanel 7.0"
It fails at this error:
'LVGL_PORT_ROTATION_DEGREE' was not declared in this scope #74
Log
D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:491:2: error: #else without #if
491 | #else
| ^~~~
D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:494:2: error: #endif without #if
494 | #endif
| ^~~~~
In file included from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/board/ESP_PanelBoard.h:51,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/ESP_Panel_Board_Internal.h:85,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/ESP_Panel_Library.h:10,
from D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:7:
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/board/elecrow/CROWPANEL_7_0.h:221:5: error: expected unqualified-id before '{' token
221 | { \
| ^
In file included from d:\esp32_display_panel_crow_7\libraries\lvgl\src/misc/lv_log.h:16,
from d:\esp32_display_panel_crow_7\libraries\lvgl\lvgl.h:25,
from d:\ESP32_Display_Panel_Crow_7\libraries\lvgl\src/lvgl.h:17,
from D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:8:
d:\esp32_display_panel_crow_7\libraries\lvgl\src\lv_conf_internal.h:46:120: note: '#pragma message: Possible failure to include lv_conf.h, please read the comment in this file if you get errors'
46 | #pragma message("Possible failure to include lv_conf.h, please read the comment in this file if you get errors")
| ^
D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp: In function 'lv_disp_t* display_init(ESP_PanelLcd*)':
D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:488:9: error: 'LVGL_PORT_ROTATION_DEGREE' was not declared in this scope
488 | if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\lvgl_port_v8.cpp:488:42: error: expected primary-expression before '||' token
488 | if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270)
| ^~
In file included from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/board/ESP_PanelBoard.h:51,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/ESP_Panel_Board_Internal.h:85,
from d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/ESP_Panel_Library.h:10,
from D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\WiFiClock.ino:81:
d:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel\src/board/elecrow/CROWPANEL_7_0.h:221:5: error: expected unqualified-id before '{' token
221 | { \
| ^
In file included from d:\esp32_display_panel_crow_7\libraries\lvgl\src/misc/lv_log.h:16,
from d:\esp32_display_panel_crow_7\libraries\lvgl\lvgl.h:25,
from d:\ESP32_Display_Panel_Crow_7\libraries\lvgl\src/lvgl.h:17,
from D:\ESP32_Display_Panel_Crow_7\ESP32_Display_Panel-master\examples\SquareLine\v8\WiFiClock\WiFiClock.ino:82:
d:\esp32_display_panel_crow_7\libraries\lvgl\src\lv_conf_internal.h:46:120: note: '#pragma message: Possible failure to include lv_conf.h, please read the comment in this file if you get errors'
46 | #pragma message("Possible failure to include lv_conf.h, please read the comment in this file if you get errors")
| ^
Using library ESP32_Display_Panel at version 0.1.5 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ESP32_IO_Expander
Using library lvgl at version 8.3.11 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\lvgl
Using library ui at version 1.0 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ui
Using library NTPClient at version 3.2.1 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\NTPClient
Using library WiFi at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\WiFi
Using library Networking at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\Network
Using library ArduinoJson at version 6.21.5 in folder: D:\ESP32_Display_Panel_Crow_7\libraries\ArduinoJson
Using library HTTPClient at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\HTTPClient
Using library NetworkClientSecure at version 3.0.3 in folder: C:\Users\Ludovic\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.3\libraries\NetworkClientSecure
exit status 1
Compilation error: #else without #if
Full log
WiFiClock_Build.log
LCD RGB Element Order
is different between examples. For example with LCD/RGB/RGB.ino and LVGL/v8/Porting/Porting.ino
ESP32_Display_Panel/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h
Lines 187 to 191 in 293faff
Is there a way to simplify by homogenizing? This would avoid errors for users.
Regards
When I copy my UI exported file from Square Line across to the Square Line porting files of ESP_Panel_Display and replace the UI files it gives me a UI.H error no such files in directory but when I use Square line expoted files it compiles correctly but I need to use the ESP panel libs because of my s3 development board .https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm
Can someone please explain to me what I am doing wrong?
Hello,
I am trying to build an example for Adafruit Qualia ESP32-S3 + Round RGB TTL TFT Display - 4" 720x720 - No Touchscreen
ESP_Panel_Board_Custom.h
#define ESP_PANEL_USE_TOUCH (0)
#define ESP_PANEL_USE_EXPANDER (1)
在esp32s3上运行例程3WireSPI_RGB,串口监视器显示
E (132) lcd_panel.rgb: lcd_rgb_panel_alloc_frame_buffers(159): no mem for frame buffer
E (139) lcd_panel.rgb: esp_lcd_new_rgb_panel(289): alloc frame buffers failed
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled.
Hello,
I am trying to build the I2C Touch Example for a GT911 touch screen controller and I am getting this error:
In file included from c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.c:25:
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.c: In function 'xpt2046_read_data':
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.h:25:50: error: 'ESP_PANEL_TOUCH_XPT2046_Z_THRESHOLD' undeclared (first use in this function)
25 | #define CONFIG_XPT2046_Z_THRESHOLD (ESP_PANEL_TOUCH_XPT2046_Z_THRESHOLD)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.h:25:50: note: in definition of macro 'CONFIG_XPT2046_Z_THRESHOLD'
25 | #define CONFIG_XPT2046_Z_THRESHOLD (ESP_PANEL_TOUCH_XPT2046_Z_THRESHOLD)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.h:25:50: note: each undeclared identifier is reported only once for each function it appears in
25 | #define CONFIG_XPT2046_Z_THRESHOLD (ESP_PANEL_TOUCH_XPT2046_Z_THRESHOLD)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel\src\touch\base\esp_lcd_touch_xpt2046.h:25:50: note: in definition of macro 'CONFIG_XPT2046_Z_THRESHOLD'
25 | #define CONFIG_XPT2046_Z_THRESHOLD (ESP_PANEL_TOUCH_XPT2046_Z_THRESHOLD)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Using library ESP32_Display_Panel at version 0.1.1 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_Display_Panel
Using library ESP32_IO_Expander at version 0.0.3 in folder: C:\Users\user\Documents\Arduino\libraries\ESP32_IO_Expander
exit status 1
Config
#define EXAMPLE_TOUCH_NAME GT911
#define EXAMPLE_TOUCH_WIDTH (480)
#define EXAMPLE_TOUCH_HEIGHT (480)
#define EXAMPLE_TOUCH_I2C_FREQ_HZ (400 * 1000)
#define EXAMPLE_TOUCH_READ_POINTS_NUM (5)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////// Please update the following configuration according to your board spec ////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define EXAMPLE_TOUCH_PIN_NUM_I2C_SCL (9)
#define EXAMPLE_TOUCH_PIN_NUM_I2C_SDA (8)
#define EXAMPLE_TOUCH_PIN_NUM_RST (-1)
#define EXAMPLE_TOUCH_PIN_NUM_INT (-1)
I don't understand why I'm getting an error referring to a different type of controller: XPT2046 is a 4-wire resistive touch screen controller.
Could you help me to fix it?
Regards
When I am trying to use the PlatformIO example, the ini seems could be configured correctly, I just used the default in provided, but it gives this below:
Resolving ESP-LCD dependencies...
Error! Failed to extract upstream toolchainconfigurations:
Bad package version esp-12.2.0_20230208
You can disable this feature via the board_build.arduino.upstream_packages = no
setting in your platformio.ini
file.
I am experiencing the exact same issue that @lboue had in Issue 26, although with ESP32_Display_Panel at version 0.1.4 and ESP32_IO_Expander at version 0.0.2.
The suggestion in that issue of setting the macro ESP_PANEL_USE_CUSTOM_BOARD
to 1 in the file ESP_Panel_Board_Custom.h didn't fix the problem. Clearly something else is wrong. What is the root cause of this compilation error?
Any help will be greatly appreciated, thanks.
Hello,
I try to build this demo file Porting.ino but I get a build error in the Arduino IDE: error: 'ESP_Panel' does not name a type
.
Can you help me correct this error?
ESP_Panel_Board_Custom.h
I want to build my project using esp idf plugin for vscode, for this I wrote idf_component.yml where I included the commits of the latest tags of the necessary dependencies, however, on the side I get
Failed to resolve component 'esp-io-expander'.
idf_component.yml
dependencies: espressif/arduino-esp32: git: https://github.com/espressif/arduino-esp32.git version: b3ad98cbf6162b07719c6f9e587cdef0ed00ea2b lzw655/esp32_io_expander: git: https://github.com/esp-arduino-libs/ESP32_IO_Expander.git version: e5378da3345a9ddbecb710d868a0ee1b382e576f lzw655/esp32_display_panel: git: https://github.com/esp-arduino-libs/ESP32_Display_Panel.git version: 4a7d5a0bdd455cf6456987b1c560e43d7788d687 lvgl/lvgl: "=8.3.11" idf: version: "=5.1.4"
error:
-- Found Git: C:/Users/Valera/.espressif/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1") -- Component directory C:/Users/Valera/Documents/Lesha/test/components/arduino-esp32 does not contain a CMakeLists.txt file. No component will be added -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- The ASM compiler identification is GNU -- Found assembler: C:/Users/Valera/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: C:/Users/Valera/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-gcc.exe - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: C:/Users/Valera/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Building ESP-IDF components for target esp32s3 Processing 25 dependencies: [1/25] chmorgan/esp-libhelix-mp3 (1.0.3) [2/25] espressif/arduino-esp32 (b3ad98cbf6162b07719c6f9e587cdef0ed00ea2b) [3/25] espressif/cbor (0.6.0~1) [4/25] espressif/esp-dsp (1.4.12) [5/25] espressif/esp-sr (1.7.1) [6/25] espressif/esp-zboss-lib (1.3.2) [7/25] espressif/esp-zigbee-lib (1.3.2) [8/25] espressif/esp_diag_data_store (1.0.1) [9/25] espressif/esp_diagnostics (1.1.0) [10/25] espressif/esp_insights (1.1.0) [11/25] espressif/esp_modem (1.1.0) [12/25] espressif/esp_rainmaker (1.1.0) [13/25] espressif/esp_schedule (1.1.1) [14/25] espressif/esp_secure_cert_mgr (2.4.1) [15/25] espressif/jsmn (1.1.0) [16/25] espressif/json_generator (1.1.2) [17/25] espressif/json_parser (1.0.3) [18/25] espressif/mdns (1.3.1) [19/25] espressif/qrcode (0.1.0~2) [20/25] espressif/rmaker_common (1.4.5) [21/25] idf (5.1.4) [22/25] joltwallet/littlefs (1.14.4) [23/25] lvgl/lvgl (8.3.11) [24/25] lzw655/esp32_display_panel (4a7d5a0bdd455cf6456987b1c560e43d7788d687) [25/25] lzw655/esp32_io_expander (e5378da3345a9ddbecb710d868a0ee1b382e576f) CMake Error at C:/Users/Valera/esp/v5.1.4/esp-idf/tools/cmake/build.cmake:266 (message): Failed to resolve component 'esp-io-expander'. Call Stack (most recent call first): C:/Users/Valera/esp/v5.1.4/esp-idf/tools/cmake/build.cmake:302 (__build_resolve_and_add_req) C:/Users/Valera/esp/v5.1.4/esp-idf/tools/cmake/build.cmake:309 (__build_expand_requirements) C:/Users/Valera/esp/v5.1.4/esp-idf/tools/cmake/build.cmake:595 (__build_expand_requirements) C:/Users/Valera/esp/v5.1.4/esp-idf/tools/cmake/project.cmake:604 (idf_build_process) CMakeLists.txt:6 (project)
My panel has an integrated ESP32-S3 (ESP32-8048S050, ST7262 driver chip) and as far as I can make out from the documentation, addresses the panel in 24-bit mode. At least 24 GPIO's are mentioned in the documentation, R0-7, G0-7 and B0-7.
Can I use this panel/EPS combination with the ESP32_Display_Panel library? I've seen that the definitions for the GPIO's both in the config file as in ESP_Panel.cpp only list 16 GPIO's.
Thanks!
Hello,
Would it be possible to add the libraries used in the examples as a dependency of this library?
For exemple:
This would avoid having to manually install the libraries to test the examples.
ESP32_Display_Panel/library.properties
Line 11 in 289d357
Regards
I get this error: Compilation error: 'ESP_Panel' does not name a type; did you mean 'ESP_PanelLcd'?
when trying to compile PanelTest.ino
I followed the instructions, and I have this board activated and made all the setting as required in Arduino IDE2
Question
Is there a way to set up the display to take up all the space on an 800x480 screen with the Squareline Simple Wi-Fi Clock Example?
It is stated that the example is suitable for 800x480 resolution, but this does not appear to be the case. In fact, the graphic interface occupies only the central part of the screen.
Tested with CrowPanel 7.0" board
Hi,
I have the ESP32-8048S043 which is using ST7262 display driver.
I want to get the c code for this driver, I tried to derive it from the lcd folder but it's not clear.
I want to use the c source code for another project.
Thanks,
The comment should be about "ESP_Panel_Board_Custom.h" , not "Board Supported"
Hello,
AliExpress vendors often fail to correctly describe (datasheets) the products they sell. That is very annoying ;) Anyway,
common small TFT like this :
https://www.aliexpress.com/item/1005006042124570.html
say ILI9341 or ST7735, good, supported by the lib.
But they say nothing about the Touchscreen driver !
On some HiRes photo, I can see XPT2046 :
https://www.buydisplay.com/download/ic/XPT2046.pdf
This one is not clearly listed as a driver.
Can you add it ?
Maybe it can be an alias for one of CST816S, FT5x06 , GT911, GT1151 or TT21100 touch driver ?
Apparently, it is a known chip from Espressif :
https://github.com/espressif/esp-iot-solution/blob/272ec0e4122d2f74f66a2d93467acc9f9f4b811b/components/display/touch_panel/xpt2046/xpt2046.c
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.