Skip to content

fix(board): fix GT911 init error for waveshare boards #146

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 9, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
# ChangeLog

## v0.2.2 - 2024-12-23
## v0.2.2 - 2025-01-09

### Bugfixes:

* fix(lcd): use 'delete[]' instead of 'delete' for C array shared pointer @FranciscoMoya (#142)
* fix(lcd): load vendor config from bus
* fix(board): fix GT911 init error for waveshare boards
* fix(Kconfig): fix build error on esp-idf and incorrect descriptions @Cathgao (#133)
* fix(examples): update PlatformIO lib & platform URLs

## v0.2.1 - 2024-11-14

Expand Down
24 changes: 12 additions & 12 deletions examples/PlatformIO/platformio.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@ platform = espressif32
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
platformio/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32.git#3.0.3
platformio/framework-arduinoespressif32-libs@https://github.com/esp-arduino-libs/arduino-esp32-sdk.git#high_perf/v3.0.3
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
-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
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
https://github.com/esp-arduino-libs/ESP32_Display_Panel.git
https://github.com/esp-arduino-libs/ESP32_IO_Expander.git#v0.1.0
https://github.com/lvgl/lvgl.git#release/v8.3
38 changes: 33 additions & 5 deletions src/board/waveshare/ESP32_S3_Touch_LCD_4_3.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
Expand Down Expand Up @@ -205,7 +205,7 @@
#define ESP_PANEL_TOUCH_IO_RST (-1)
#define ESP_PANEL_TOUCH_RST_LEVEL (0) // 0: low level, 1: high level
/* IO num of INT pin, set to -1 if not use */
#define ESP_PANEL_TOUCH_IO_INT (-1)
#define ESP_PANEL_TOUCH_IO_INT (4)
#define ESP_PANEL_TOUCH_INT_LEVEL (0) // 0: low level, 1: high level

#endif /* ESP_PANEL_USE_TOUCH */
Expand Down Expand Up @@ -242,7 +242,7 @@
* If set to 1, the driver 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_EXPANDER_SKIP_INIT_HOST (1) // 0/1
#define ESP_PANEL_EXPANDER_SKIP_INIT_HOST (0) // 0/1
/* IO expander parameters */
#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0
#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20)
Expand All @@ -262,9 +262,37 @@
// #define ESP_PANEL_BEGIN_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_4_3 LCD start function"); \
constexpr int LCD_BL = 2; \
constexpr int LCD_RST = 3; \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
expander->enableAllIO_Output(); \
expander->digitalWrite(LCD_BL, HIGH); \
expander->digitalWrite(LCD_RST, HIGH); \
vTaskDelay(pdMS_TO_TICKS(100)); \
}

// #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_4_3 touch start function"); \
gpio_num_t touch_int = static_cast<gpio_num_t>(ESP_PANEL_TOUCH_IO_INT); \
gpio_num_t touch_rst = static_cast<gpio_num_t>(1); \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
gpio_set_direction(touch_int, GPIO_MODE_OUTPUT); \
gpio_set_level(touch_int, 0); \
vTaskDelay(pdMS_TO_TICKS(10)); \
expander->digitalWrite(touch_rst, 0); \
vTaskDelay(pdMS_TO_TICKS(100)); \
expander->digitalWrite(touch_rst, 1); \
vTaskDelay(pdMS_TO_TICKS(200)); \
gpio_reset_pin(touch_int); \
}

// #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel )
Expand Down
39 changes: 31 additions & 8 deletions src/board/waveshare/ESP32_S3_Touch_LCD_4_3_B.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
#define ESP_PANEL_TOUCH_IO_RST (-1)
#define ESP_PANEL_TOUCH_RST_LEVEL (0) // 0: low level, 1: high level
/* IO num of INT pin, set to -1 if not use */
#define ESP_PANEL_TOUCH_IO_INT (-1)
#define ESP_PANEL_TOUCH_IO_INT (4)
#define ESP_PANEL_TOUCH_INT_LEVEL (0) // 0: low level, 1: high level

#endif /* ESP_PANEL_USE_TOUCH */
Expand Down Expand Up @@ -242,7 +242,7 @@
* If set to 1, the driver 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_EXPANDER_SKIP_INIT_HOST (1) // 0/1
#define ESP_PANEL_EXPANDER_SKIP_INIT_HOST (0) // 0/1
/* IO expander parameters */
#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0
#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20)
Expand All @@ -262,12 +262,35 @@
// #define ESP_PANEL_BEGIN_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_4_3_B LCD start function"); \
constexpr int LCD_DSIP = 2; \
constexpr int LCD_RST = 3; \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
expander->enableAllIO_Output(); \
expander->digitalWrite(LCD_DSIP, HIGH); \
expander->digitalWrite(LCD_RST, HIGH); \
vTaskDelay(pdMS_TO_TICKS(100)); \
}

// #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_END_FUNCTION( panel )

#define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_4_3_B touch start function"); \
gpio_num_t touch_int = static_cast<gpio_num_t>(ESP_PANEL_TOUCH_IO_INT); \
gpio_num_t touch_rst = static_cast<gpio_num_t>(1); \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
gpio_set_direction(touch_int, GPIO_MODE_OUTPUT); \
gpio_set_level(touch_int, 0); \
vTaskDelay(pdMS_TO_TICKS(10)); \
expander->digitalWrite(touch_rst, 0); \
vTaskDelay(pdMS_TO_TICKS(100)); \
expander->digitalWrite(touch_rst, 1); \
vTaskDelay(pdMS_TO_TICKS(200)); \
gpio_reset_pin(touch_int); \
}

// *INDENT-OFF*
36 changes: 32 additions & 4 deletions src/board/waveshare/ESP32_S3_Touch_LCD_5.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
#define ESP_PANEL_TOUCH_IO_RST (-1)
#define ESP_PANEL_TOUCH_RST_LEVEL (0) // 0: low level, 1: high level
/* IO num of INT pin, set to -1 if not use */
#define ESP_PANEL_TOUCH_IO_INT (-1)
#define ESP_PANEL_TOUCH_IO_INT (4)
#define ESP_PANEL_TOUCH_INT_LEVEL (0) // 0: low level, 1: high level

#endif /* ESP_PANEL_USE_TOUCH */
Expand Down Expand Up @@ -242,7 +242,7 @@
* If set to 1, the driver 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_EXPANDER_SKIP_INIT_HOST (1) // 0/1
#define ESP_PANEL_EXPANDER_SKIP_INIT_HOST (0) // 0/1
/* IO expander parameters */
#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0
#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20)
Expand All @@ -262,9 +262,37 @@
// #define ESP_PANEL_BEGIN_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_5 LCD start function"); \
constexpr int LCD_DSIP = 2; \
constexpr int LCD_RST = 3; \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
expander->enableAllIO_Output(); \
expander->digitalWrite(LCD_DSIP, HIGH); \
expander->digitalWrite(LCD_RST, HIGH); \
vTaskDelay(pdMS_TO_TICKS(100)); \
}

// #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_5 touch start function"); \
gpio_num_t touch_int = static_cast<gpio_num_t>(ESP_PANEL_TOUCH_IO_INT); \
gpio_num_t touch_rst = static_cast<gpio_num_t>(1); \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
gpio_set_direction(touch_int, GPIO_MODE_OUTPUT); \
gpio_set_level(touch_int, 0); \
vTaskDelay(pdMS_TO_TICKS(10)); \
expander->digitalWrite(touch_rst, 0); \
vTaskDelay(pdMS_TO_TICKS(100)); \
expander->digitalWrite(touch_rst, 1); \
vTaskDelay(pdMS_TO_TICKS(200)); \
gpio_reset_pin(touch_int); \
}

// #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel )
Expand Down
36 changes: 32 additions & 4 deletions src/board/waveshare/ESP32_S3_Touch_LCD_5_B.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
#define ESP_PANEL_TOUCH_IO_RST (-1)
#define ESP_PANEL_TOUCH_RST_LEVEL (0) // 0: low level, 1: high level
/* IO num of INT pin, set to -1 if not use */
#define ESP_PANEL_TOUCH_IO_INT (-1)
#define ESP_PANEL_TOUCH_IO_INT (4)
#define ESP_PANEL_TOUCH_INT_LEVEL (0) // 0: low level, 1: high level

#endif /* ESP_PANEL_USE_TOUCH */
Expand Down Expand Up @@ -242,7 +242,7 @@
* If set to 1, the driver 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_EXPANDER_SKIP_INIT_HOST (1) // 0/1
#define ESP_PANEL_EXPANDER_SKIP_INIT_HOST (0) // 0/1
/* IO expander parameters */
#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0
#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20)
Expand All @@ -262,9 +262,37 @@
// #define ESP_PANEL_BEGIN_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_5_B LCD start function"); \
constexpr int LCD_DSIP = 2; \
constexpr int LCD_RST = 3; \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
expander->enableAllIO_Output(); \
expander->digitalWrite(LCD_DSIP, HIGH); \
expander->digitalWrite(LCD_RST, HIGH); \
vTaskDelay(pdMS_TO_TICKS(100)); \
}

// #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_5_B touch start function"); \
gpio_num_t touch_int = static_cast<gpio_num_t>(ESP_PANEL_TOUCH_IO_INT); \
gpio_num_t touch_rst = static_cast<gpio_num_t>(1); \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
gpio_set_direction(touch_int, GPIO_MODE_OUTPUT); \
gpio_set_level(touch_int, 0); \
vTaskDelay(pdMS_TO_TICKS(10)); \
expander->digitalWrite(touch_rst, 0); \
vTaskDelay(pdMS_TO_TICKS(100)); \
expander->digitalWrite(touch_rst, 1); \
vTaskDelay(pdMS_TO_TICKS(200)); \
gpio_reset_pin(touch_int); \
}

// #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel )
Expand Down
43 changes: 32 additions & 11 deletions src/board/waveshare/ESP32_S3_Touch_LCD_7.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@
#define ESP_PANEL_TOUCH_IO_RST (-1)
#define ESP_PANEL_TOUCH_RST_LEVEL (0) // 0: low level, 1: high level
/* IO num of INT pin, set to -1 if not use */
#define ESP_PANEL_TOUCH_IO_INT (-1)
#define ESP_PANEL_TOUCH_IO_INT (4)
#define ESP_PANEL_TOUCH_INT_LEVEL (0) // 0: low level, 1: high level

#endif /* ESP_PANEL_USE_TOUCH */
Expand Down Expand Up @@ -242,7 +242,7 @@
* If set to 1, the driver 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_EXPANDER_SKIP_INIT_HOST (1) // 0/1
#define ESP_PANEL_EXPANDER_SKIP_INIT_HOST (0) // 0/1
/* IO expander parameters */
#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0
#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20)
Expand All @@ -259,15 +259,36 @@
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////// Please utilize the following macros to execute any additional code if required. //////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// #define ESP_PANEL_BEGIN_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel )

#define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_7 LCD start function"); \
constexpr int LCD_DSIP = 2; \
constexpr int LCD_RST = 3; \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
expander->enableAllIO_Output(); \
expander->digitalWrite(LCD_DSIP, HIGH); \
expander->digitalWrite(LCD_RST, HIGH); \
vTaskDelay(pdMS_TO_TICKS(100)); \
}

// #define ESP_PANEL_BEGIN_LCD_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_TOUCH_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_START_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel )
// #define ESP_PANEL_BEGIN_END_FUNCTION( panel )

#define ESP_PANEL_BEGIN_TOUCH_START_FUNCTION( panel ) \
{ \
ESP_LOGD(TAG, "Run ESP32_S3_Touch_LCD_7 touch start function"); \
gpio_num_t touch_int = static_cast<gpio_num_t>(ESP_PANEL_TOUCH_IO_INT); \
gpio_num_t touch_rst = static_cast<gpio_num_t>(1); \
auto expander = static_cast<ESP_IOExpander_CH422G*>(panel->getExpander()); \
gpio_set_direction(touch_int, GPIO_MODE_OUTPUT); \
gpio_set_level(touch_int, 0); \
vTaskDelay(pdMS_TO_TICKS(10)); \
expander->digitalWrite(touch_rst, 0); \
vTaskDelay(pdMS_TO_TICKS(100)); \
expander->digitalWrite(touch_rst, 1); \
vTaskDelay(pdMS_TO_TICKS(200)); \
gpio_reset_pin(touch_int); \
}


// *INDENT-OFF*
2 changes: 1 addition & 1 deletion src/lcd/EK9716B.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ bool ESP_PanelLcd_EK9716B::init(void)
ESP_PANEL_CHECK_ERR_RET(gpio_config(&gpio_conf), false, "`Config RST gpio failed");
}

/* Load RGB configurations from bus to vendor configurations */
/* Load configurations from bus to vendor configurations */
ESP_PANEL_CHECK_FALSE_RET(loadVendorConfigFromBus(), false, "Load vendor config from bus failed");

/* Create panel handle */
Expand Down
2 changes: 1 addition & 1 deletion src/lcd/GC9503.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ bool ESP_PanelLcd_GC9503::init(void)
{
ESP_PANEL_CHECK_NULL_RET(bus, false, "Invalid bus");

/* Load RGB configurations from bus to vendor configurations */
/* Load configurations from bus to vendor configurations */
ESP_PANEL_CHECK_FALSE_RET(loadVendorConfigFromBus(), false, "Load vendor config from bus failed");

/* Create panel handle */
Expand Down
3 changes: 3 additions & 0 deletions src/lcd/GC9A01.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,9 @@ bool ESP_PanelLcd_GC9A01::init(void)
{
ESP_PANEL_CHECK_NULL_RET(bus, false, "Invalid bus");

/* Load configurations from bus to vendor configurations */
ESP_PANEL_CHECK_FALSE_RET(loadVendorConfigFromBus(), false, "Load vendor config from bus failed");

ESP_PANEL_CHECK_ERR_RET(esp_lcd_new_panel_gc9a01(bus->getPanelIO_Handle(), &panel_config, &handle), false, "Create panel failed");

return true;
Expand Down
3 changes: 3 additions & 0 deletions src/lcd/GC9B71.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ bool ESP_PanelLcd_GC9B71::init(void)
{
ESP_PANEL_CHECK_NULL_RET(bus, false, "Invalid bus");

/* Load configurations from bus to vendor configurations */
ESP_PANEL_CHECK_FALSE_RET(loadVendorConfigFromBus(), false, "Load vendor config from bus failed");

ESP_PANEL_CHECK_ERR_RET(esp_lcd_new_panel_gc9b71(bus->getPanelIO_Handle(), &panel_config, &handle), false, "Create panel failed");

return true;
Expand Down
Loading
Loading