Hello, I have a working example from a vendor to my ESP32-4827S043C, it works just for lvgl 8.3.3 with lv_conf.h and touch.h set to my board and display. I had installed succesfuly the lv_demo_widgets() example in it. But I need to update the example to lvgl 9.2 to use new features such as scale in my code that I had for the lvgl 9.2. My first necessity is to updade the touch.
Thanks for giving a look and any tip on where to get started is appreciated.
ESP32-4827S043C
Updade the touch related code to port lvgl from version 8.3.3 to 9.2 .
So far I tried to just update the lvgl arduino ide library to 9.2 and follow the corrections that the compiler gives. But it ended up in the end just having gcc compiler errors such as no typedef opcode.
With just the original code for 8.3.3 and with lvgl 9.2 library installed i have these problems:
The compiler gives error on
static lv_disp_draw_buf_t draw_buf;
static lv_disp_drv_t disp_drv;
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
void my_touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, NULL, screenWidth * screenHeight/4);
/* Initialize the display */
lv_disp_drv_init(&disp_drv);
/* Change the following line to your display resolution */
disp_drv.flush_cb = my_disp_flush;
lv_disp_drv_register(&disp_drv);
/* Initialize the (dummy) input device driver */
static lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv);
indev_drv.read_cb = my_touchpad_read;
lv_indev_drv_register(&indev_drv);
Here is the code for the LvglWidgets.ino that i need to update
/*******************************************************************************
* LVGL Widgets
* This is a widgets demo for LVGL - Light and Versatile Graphics Library
* import from: https://github.com/lvgl/lv_demos.git
*
* Dependent libraries:
* LVGL: https://github.com/lvgl/lvgl.git
* Touch libraries:
* FT6X36: https://github.com/strange-v/FT6X36.git
* GT911: https://github.com/TAMCTec/gt911-arduino.git
* XPT2046: https://github.com/PaulStoffregen/XPT2046_Touchscreen.git
*
* LVGL Configuration file:
* Copy your_arduino_path/libraries/lvgl/lv_conf_template.h
* to your_arduino_path/libraries/lv_conf.h
* Then find and set:
* #define LV_COLOR_DEPTH 16
* #define LV_TICK_CUSTOM 1
*
* For SPI display set color swap can be faster, parallel screen don't set!
* #define LV_COLOR_16_SWAP 1
*
* Optional: Show CPU usage and FPS count
* #define LV_USE_PERF_MONITOR 1
******************************************************************************/
//#include "lv_demo_widgets.h"
#include <lvgl.h>
#include <demos/lv_demos.h>
/*******************************************************************************
******************************************************************************/
#include <Arduino_GFX_Library.h>
#define TFT_BL 2
#define GFX_BL DF_GFX_BL // default backlight pin, you may replace DF_GFX_BL to actual backlight pin
/* More dev device declaration: https://github.com/moononournation/Arduino_GFX/wiki/Dev-Device-Declaration */
#if defined(DISPLAY_DEV_KIT)
Arduino_GFX *gfx = create_default_Arduino_GFX();
#else /* !defined(DISPLAY_DEV_KIT) */
/* More data bus class: https://github.com/moononournation/Arduino_GFX/wiki/Data-Bus-Class */
//Arduino_DataBus *bus = create_default_Arduino_DataBus();
/* More display class: https://github.com/moononournation/Arduino_GFX/wiki/Display-Class */
//Arduino_GFX *gfx = new Arduino_ILI9341(bus, DF_GFX_RST, 0 /* rotation */, false /* IPS */);
Arduino_ESP32RGBPanel *bus = new Arduino_ESP32RGBPanel(
GFX_NOT_DEFINED /* CS */, GFX_NOT_DEFINED /* SCK */, GFX_NOT_DEFINED /* SDA */,
40 /* DE */, 41 /* VSYNC */, 39 /* HSYNC */, 42 /* PCLK */,
45 /* R0 */, 48 /* R1 */, 47 /* R2 */, 21 /* R3 */, 14 /* R4 */,
5 /* G0 */, 6 /* G1 */, 7 /* G2 */, 15 /* G3 */, 16 /* G4 */, 4 /* G5 */,
8 /* B0 */, 3 /* B1 */, 46 /* B2 */, 9 /* B3 */, 1 /* B4 */
);
// option 1:
// ILI6485 LCD 480x272
Arduino_RPi_DPI_RGBPanel *gfx = new Arduino_RPi_DPI_RGBPanel(
bus,
480 /* width */, 0 /* hsync_polarity */, 8 /* hsync_front_porch */, 4 /* hsync_pulse_width */, 43 /* hsync_back_porch */,
272 /* height */, 0 /* vsync_polarity */, 8 /* vsync_front_porch */, 4 /* vsync_pulse_width */, 12 /* vsync_back_porch */,
1 /* pclk_active_neg */, 9000000 /* prefer_speed */, true /* auto_flush */);
// option 2:
// ST7262 IPS LCD 800x480
// Arduino_RPi_DPI_RGBPanel *gfx = new Arduino_RPi_DPI_RGBPanel(
// bus,
// 800 /* width */, 0 /* hsync_polarity */, 8 /* hsync_front_porch */, 4 /* hsync_pulse_width */, 8 /* hsync_back_porch */,
// 480 /* height */, 0 /* vsync_polarity */, 8 /* vsync_front_porch */, 4 /* vsync_pulse_width */, 8 /* vsync_back_porch */,
// 1 /* pclk_active_neg */, 14000000 /* prefer_speed */, true /* auto_flush */);
#endif /* !defined(DISPLAY_DEV_KIT) */
/*******************************************************************************
* End of Arduino_GFX setting
******************************************************************************/
/*******************************************************************************
* Please config the touch panel in touch.h
******************************************************************************/
#include "touch.h"
/* Change to your screen resolution */
static uint32_t screenWidth;
static uint32_t screenHeight;
static lv_disp_draw_buf_t draw_buf;
static lv_color_t *disp_draw_buf;
static lv_disp_drv_t disp_drv;
/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
uint32_t w = (area->x2 - area->x1 + 1);
uint32_t h = (area->y2 - area->y1 + 1);
#if (LV_COLOR_16_SWAP != 0)
gfx->draw16bitBeRGBBitmap(area->x1, area->y1, (uint16_t *)&color_p->full, w, h);
#else
gfx->draw16bitRGBBitmap(area->x1, area->y1, (uint16_t *)&color_p->full, w, h);
#endif
lv_disp_flush_ready(disp);
}
void my_touchpad_read(lv_indev_drv_t *indev_driver, lv_indev_data_t *data)
{
if (touch_has_signal())
{
if (touch_touched())
{
data->state = LV_INDEV_STATE_PR;
/*Set the coordinates*/
data->point.x = touch_last_x;
data->point.y = touch_last_y;
}
else if (touch_released())
{
data->state = LV_INDEV_STATE_REL;
}
}
else
{
data->state = LV_INDEV_STATE_REL;
}
}
void setup()
{
Serial.begin(115200);
// while (!Serial);
Serial.println("LVGL Widgets Demo");
// Init touch device
// Init Display
gfx->begin();
#ifdef TFT_BL
pinMode(TFT_BL, OUTPUT);
digitalWrite(TFT_BL, HIGH);
#endif
gfx->fillScreen(RED);
delay(500);
gfx->fillScreen(GREEN);
delay(500);
gfx->fillScreen(BLUE);
delay(500);
gfx->fillScreen(BLACK);
delay(500);
lv_init();
delay(10);
touch_init();
screenWidth = gfx->width();
screenHeight = gfx->height();
#ifdef ESP32
disp_draw_buf = (lv_color_t *)heap_caps_malloc(sizeof(lv_color_t) * screenWidth * screenHeight/4 , MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT);
#else
disp_draw_buf = (lv_color_t *)malloc(sizeof(lv_color_t) * screenWidth * screenHeight/4);
#endif
if (!disp_draw_buf)
{
Serial.println("LVGL disp_draw_buf allocate failed!");
}
else
{
lv_disp_draw_buf_init(&draw_buf, disp_draw_buf, NULL, screenWidth * screenHeight/4);
/* Initialize the display */
lv_disp_drv_init(&disp_drv);
/* Change the following line to your display resolution */
disp_drv.hor_res = screenWidth;
disp_drv.ver_res = screenHeight;
disp_drv.flush_cb = my_disp_flush;
disp_drv.draw_buf = &draw_buf;
lv_disp_drv_register(&disp_drv);
/* Initialize the (dummy) input device driver */
static lv_indev_drv_t indev_drv;
lv_indev_drv_init(&indev_drv);
indev_drv.type = LV_INDEV_TYPE_POINTER;
indev_drv.read_cb = my_touchpad_read;
lv_indev_drv_register(&indev_drv);
lv_demo_widgets();
Serial.println("Setup done");
}
}
void loop()
{
lv_timer_handler(); /* let the GUI do its work */
delay(5);
}
And in the touch.h i am using TOUCH_GT911
/* uncomment for GT911 */
#define TOUCH_GT911
#define TOUCH_GT911_SCL 20
#define TOUCH_GT911_SDA 19
#define TOUCH_GT911_INT -1
#define TOUCH_GT911_RST 38
#define TOUCH_GT911_ROTATION ROTATION_NORMAL
#define TOUCH_MAP_X1 480
#define TOUCH_MAP_X2 0
#define TOUCH_MAP_Y1 272
#define TOUCH_MAP_Y2 0
With the Arduino IDE lvgl library in version 9.2, the compiler gives the following errors when the 8.3.3 version of written code is compiled
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:83:8: error: 'lv_disp_draw_buf_t' does not name a type; did you mean 'lv_draw_buf_t'?
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:85:8: error: 'lv_disp_drv_t' does not name a type; did you mean 'lv_fs_drv_t'?
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: error: variable or field 'my_disp_flush' declared void
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: error: 'lv_disp_drv_t' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: note: suggested alternative: 'lv_fs_drv_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:35: error: 'disp' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:35: note: suggested alternative: 'dup'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:41: error: expected primary-expression before 'const'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:75: error: expected primary-expression before '*' token
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:76: error: 'color_p' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:76: note: suggested alternative: 'lv_color_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: error: variable or field 'my_touchpad_read' declared void
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: error: 'lv_indev_drv_t' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: note: suggested alternative: 'lv_indev_data_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:39: error: 'indev_driver' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:39: note: suggested alternative: 'lv_indev_reset'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:69: error: expected primary-expression before '*' token
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:70: error: 'data' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:70: note: suggested alternative: 'atan'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: error: variable or field 'my_disp_flush' declared void
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: error: 'lv_disp_drv_t' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:20: note: suggested alternative: 'lv_fs_drv_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:35: error: 'disp' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:35: note: suggested alternative: 'dup'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:41: error: expected primary-expression before 'const'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:75: error: expected primary-expression before '*' token
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:76: error: 'color_p' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:88:76: note: suggested alternative: 'lv_color_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: error: variable or field 'my_touchpad_read' declared void
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: error: 'lv_indev_drv_t' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:23: note: suggested alternative: 'lv_indev_data_t'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:39: error: 'indev_driver' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:39: note: suggested alternative: 'lv_indev_reset'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:69: error: expected primary-expression before '*' token
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:70: error: 'data' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:102:70: note: suggested alternative: 'atan'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino: In function 'void setup()':
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:164:28: error: 'draw_buf' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:164:28: note: suggested alternative: 'disp_draw_buf'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:164:5: error: 'lv_disp_draw_buf_init' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:164:5: note: suggested alternative: 'lv_draw_buf_init'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:167:23: error: 'disp_drv' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:167:5: error: 'lv_disp_drv_init' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:167:5: note: suggested alternative: 'lv_fs_drv_init'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:171:25: error: 'my_disp_flush' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:173:5: error: 'lv_disp_drv_register' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:173:5: note: suggested alternative: 'lv_fs_drv_register'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:176:12: error: 'lv_indev_drv_t' does not name a type; did you mean 'lv_indev_data_t'?
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:177:24: error: 'indev_drv' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:177:5: error: 'lv_indev_drv_init' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:177:5: note: suggested alternative: 'lv_fs_drv_init'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:179:25: error: 'my_touchpad_read' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:179:25: note: suggested alternative: 'touchRead'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:180:5: error: 'lv_indev_drv_register' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:180:5: note: suggested alternative: 'lv_fs_drv_register'
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:182:5: error: 'lv_demo_widgets' was not declared in this scope
C:\Users\luisc\Área de Trabalho\4.3inch_ESP32-4827S043\4.3inch_ESP32-4827S043\1-Demo\Demo_Arduino\3_3-4_TFT-LVGL-Widgets\LvglWidgets\LvglWidgets.ino:182:5: note: suggested alternative: 'lv_demos_create'
exit status 1
Compilation error: 'lv_disp_draw_buf_t' does not name a type; did you mean 'lv_draw_buf_t'?