I have followed the installation procedures and the files carefully from the following wiki https://www.waveshare.com/wiki/ESP32-S3-Touch-LCD-4.3. LVGL seems to run and upload but i keep getting a touch initilization error. i tried to run the touch test it also seems to fail. i tried running the porting code and this is the error i got . for people who own a similar display can you tell me how you got around this error
D (78) ESP_PanelBus_I2C: Panel IO @0x3fcecc7c created
D (83) ESP_PanelTouch: Disable interruption
E (87) lcd_panel.io.i2c: panel_io_i2c_rx_buffer(135): i2c transaction failed
E (94) GT911: touch_gt911_read_cfg(362): GT911 read error!
E (99) GT911: esp_lcd_touch_new_i2c_gt911(128): GT911 init failed
E (105) GT911: Error (0xffffffff)! Touch controller GT911 initialization failed!
E (112) GT911_CPP: [ESP_FAIL] begin(43): New driver failed
E (117) ESP_Panel: begin(540): Begin touch failed
Initialize LVGL
D (133) ESP_PanelTouch: Get invalid handle
Create UI
LVGL porting example end
What MCU/Processor/Board and compiler are you using?
I am using a waveshare 4.3 inch capacitive touch display with esp32s3
What LVGL version are you using?
V8.3.3
What do you want to achieve?
I am getting a touch initialization error for GT911 .
What have you tried so far?
Code to reproduce
( This it the porting code i am using that is given in the manufacturers WIKI. i have also configuered the GT911 touch driver correctly in the custom board.h file)
#include <Arduino.h>
#include <ESP_Panel_Library.h>
#include <lvgl.h>
#include âlvgl_port_v8.hâ
/**
/* To use the built-in examples and demos of LVGL uncomment the includes below respectively.
- You also need to copy
lvgl/examples
tolvgl/src/examples
. Similarly for the demoslvgl/demos
tolvgl/src/demos
.
*/
//#include <demos/lv_demos.h>
//#include <examples/lv_examples.h>
void setup()
{
String title = âLVGL porting exampleâ;
//waveshare_esp32_s3_touch_reset();
Serial.begin(115200);
Serial.println(title + " start");
Serial.println("Initialize panel device");
ESP_Panel *panel = new ESP_Panel();
panel->init();
#if LVGL_PORT_AVOID_TEAR
// When avoid tearing function is enabled, configure the RGB bus according to the LVGL configuration
ESP_PanelBus_RGB *rgb_bus = static_cast<ESP_PanelBus_RGB *>(panel->getLcd()->getBus());
rgb_bus->configRgbFrameBufferNumber(LVGL_PORT_DISP_BUFFER_NUM);
rgb_bus->configRgbBounceBufferSize(LVGL_PORT_RGB_BOUNCE_BUFFER_SIZE);
#endif
panel->begin();
Serial.println("Initialize LVGL");
lvgl_port_init(panel->getLcd(), panel->getTouch());
Serial.println("Create UI");
/* Lock the mutex due to the LVGL APIs are not thread-safe */
lvgl_port_lock(-1);
/**
* Try an example. Don't forget to uncomment header.
* See all the examples online: https://docs.lvgl.io/master/examples.html
* source codes: https://github.com/lvgl/lvgl/tree/e7f88efa5853128bf871dde335c0ca8da9eb7731/examples
*/
// lv_example_btn_1();
/**
* Or try out a demo.
* Don't forget to uncomment header and enable the demos in `lv_conf.h`. E.g. `LV_USE_DEMOS_WIDGETS`
*/
//lv_demo_widgets();
// lv_demo_benchmark();
//lv_demo_music();
// lv_demo_stress();
/* Release the mutex */
lvgl_port_unlock();
Serial.println(title + " end");
}
void loop()
{
Serial.println(âIDLE loopâ);
delay(1000);
}