From 9d1cc1e0319d03a2b215d5b1588f11054c30d3f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Mon, 29 Jul 2024 10:15:48 +0200 Subject: [PATCH 01/20] feat(board): add support for Fitipower EK9716B LCD controller for CrowPanel 7.0" board by @lboue (#78) * Driver for the EK9716BD3 EK9716 is a highly integrated 1200 channel source driver with TTL interface Timing Controller for color TFT-LCD panels. EK9716 integrated source driver, timing controller and pin control interface. * Update ESP_Panel_Library.h to add EK9716B * Rename EK9716BD3.cpp to EK9716B.cpp * Rename EK9716BD3.h to EK9716B.h * Update EK9716B.cpp * Update EK9716B.h * Update LCD_Controllers.md * Update library.properties * Update ESP_PanelVersions.h * Update README.md to add Fitipower EK9716B * Update README_CN.md * Update CROWPANEL_7_0.h board definition to work with EK9716B (#1) * Update CROWPANEL_7_0.h * Update library.properties * Update ESP_PanelVersions.h * Update Supported LCD Controllers for RGB example (#2) * Update Supported LCD Controllers for RGB example * CROWPANEL: Remove the extra line causing the error during build (#3) * Update LCD_Controllers.md Co-authored-by: Zhongwei Liu <109257001+Lzw655@users.noreply.github.com> --------- Co-authored-by: Zhongwei Liu <109257001+Lzw655@users.noreply.github.com> --- README.md | 1 + README_CN.md | 1 + docs/LCD_Controllers.md | 1 + examples/LCD/RGB/README.md | 12 +++-- library.properties | 2 +- src/ESP_PanelVersions.h | 2 +- src/ESP_Panel_Library.h | 1 + src/board/elecrow/CROWPANEL_7_0.h | 3 +- src/lcd/EK9716B.cpp | 87 +++++++++++++++++++++++++++++++ src/lcd/EK9716B.h | 66 +++++++++++++++++++++++ 10 files changed, 168 insertions(+), 8 deletions(-) create mode 100644 src/lcd/EK9716B.cpp create mode 100644 src/lcd/EK9716B.h diff --git a/README.md b/README.md index a24616bb..e37bdc9d 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ Below is a list of [supported LCD controllers](docs/LCD_Controllers.md): | **Manufacturer** | **Model** | | --------------- | --------- | +| Fitipower | EK9716B | | GalaxyCore | GC9A01, GC9B71, GC9503 | | Ilitek | ILI9341 | | NewVision | NV3022B | diff --git a/README_CN.md b/README_CN.md index 0f929db6..f7767f50 100644 --- a/README_CN.md +++ b/README_CN.md @@ -74,6 +74,7 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性: | **厂商** | **型号** | | -------- | -------- | +| Fitipower | EK9716B | | GalaxyCore | GC9A01, GC9B71, GC9503 | | Ilitek | ILI9341 | | NewVision | NV3022B | diff --git a/docs/LCD_Controllers.md b/docs/LCD_Controllers.md index 8f6208ea..0b306133 100644 --- a/docs/LCD_Controllers.md +++ b/docs/LCD_Controllers.md @@ -15,3 +15,4 @@ | [ST7796](https://components.espressif.com/components/espressif/esp_lcd_st7796) | 1.2.1 | | [ST77916](https://components.espressif.com/components/espressif/esp_lcd_st77916) | 0.0.2 | | [ST77922](https://components.espressif.com/components/espressif/esp_lcd_st77922) | 0.0.2 | +| EK9716B | - | diff --git a/examples/LCD/RGB/README.md b/examples/LCD/RGB/README.md index e515bd60..ad2dfd7a 100644 --- a/examples/LCD/RGB/README.md +++ b/examples/LCD/RGB/README.md @@ -1,8 +1,12 @@ -| Supported ESP SoCs | ESP32-S3 | -| ------------------ | -------- | +| Supported ESP SoCs | +| ------------------ | +| ESP32-S3 | + +| Supported LCD Controllers | +| ------------------------- | +| EK9716B | +| ST7262 | -| Supported LCD Controllers | ST7262 | -| ------------------------- | ------ | # Single RGB LCD Example diff --git a/library.properties b/library.properties index e29ffed2..2f8a775e 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=ESP32_Display_Panel -version=0.1.5 +version=0.1.6 author=espressif maintainer=espressif sentence=ESP32_Display_Panel is an Arduino library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index ac7043f8..6d15df0f 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -11,7 +11,7 @@ /* Library Version */ #define ESP_PANEL_VERSION_MAJOR 0 #define ESP_PANEL_VERSION_MINOR 1 -#define ESP_PANEL_VERSION_PATCH 5 +#define ESP_PANEL_VERSION_PATCH 6 /* File `ESP_Panel_Conf.h` */ #define ESP_PANEL_CONF_VERSION_MAJOR 0 diff --git a/src/ESP_Panel_Library.h b/src/ESP_Panel_Library.h index 33c0f090..a602f15b 100644 --- a/src/ESP_Panel_Library.h +++ b/src/ESP_Panel_Library.h @@ -24,6 +24,7 @@ /* LCD */ #include "lcd/ESP_PanelLcd.h" +#include "lcd/EK9716B.h" #include "lcd/GC9503.h" #include "lcd/GC9A01.h" #include "lcd/GC9B71.h" diff --git a/src/board/elecrow/CROWPANEL_7_0.h b/src/board/elecrow/CROWPANEL_7_0.h index c8ccc6a8..7556fe11 100644 --- a/src/board/elecrow/CROWPANEL_7_0.h +++ b/src/board/elecrow/CROWPANEL_7_0.h @@ -18,7 +18,7 @@ /** * LCD Controller Name. */ -#define ESP_PANEL_LCD_NAME EK9716BD3 +#define ESP_PANEL_LCD_NAME EK9716B // Fitipower EK9716B /* LCD resolution in pixels */ #define ESP_PANEL_LCD_WIDTH (800) @@ -217,7 +217,6 @@ // #define ESP_PANEL_BEGIN_EXPANDER_START_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_EXPANDER_END_FUNCTION( panel ) #define ESP_PANEL_BEGIN_LCD_START_FUNCTION( panel ) \ - { \ /* Maintain the touch INT signal in a low state during the reset process to set its I2C address to `0x5D` */ \ gpio_set_direction((gpio_num_t)ESP_PANEL_TOUCH_IO_INT, GPIO_MODE_OUTPUT); \ diff --git a/src/lcd/EK9716B.cpp b/src/lcd/EK9716B.cpp new file mode 100644 index 00000000..0495c7b3 --- /dev/null +++ b/src/lcd/EK9716B.cpp @@ -0,0 +1,87 @@ +/* + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#include "soc/soc_caps.h" + +#if SOC_LCD_RGB_SUPPORTED +#include "driver/gpio.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" +#include "esp_check.h" +#include "esp_lcd_panel_io.h" +#include "esp_lcd_panel_rgb.h" +#include "esp_lcd_panel_vendor.h" +#include "esp_log.h" + +#include "ESP_PanelLog.h" +#include "bus/RGB.h" +#include "EK9716B.h" + +static const char *TAG = "EK9716B_CPP"; + +ESP_PanelLcd_EK9716B::ESP_PanelLcd_EK9716B(ESP_PanelBus *bus, uint8_t color_bits, int rst_io): + ESP_PanelLcd(bus, color_bits, rst_io) +{ +} + +ESP_PanelLcd_EK9716B::ESP_PanelLcd_EK9716B(ESP_PanelBus *bus, const esp_lcd_panel_dev_config_t &panel_config): + ESP_PanelLcd(bus, panel_config) +{ +} + +ESP_PanelLcd_EK9716B::~ESP_PanelLcd_EK9716B() +{ + ESP_PANEL_ENABLE_TAG_DEBUG_LOG(); + + if (handle == NULL) { + goto end; + } + + if (!del()) { + ESP_LOGE(TAG, "Delete device failed"); + } + +end: + ESP_LOGD(TAG, "Destroyed"); +} + +bool ESP_PanelLcd_EK9716B::init(void) +{ + ESP_PANEL_ENABLE_TAG_DEBUG_LOG(); + + if (panel_config.reset_gpio_num >= 0) { + gpio_config_t gpio_conf = { + .pin_bit_mask = BIT64(panel_config.reset_gpio_num), + .mode = GPIO_MODE_OUTPUT, + .pull_up_en = GPIO_PULLUP_DISABLE, + .pull_down_en = GPIO_PULLDOWN_DISABLE, + .intr_type = GPIO_INTR_DISABLE, + }; + ESP_PANEL_CHECK_ERR_RET(gpio_config(&gpio_conf), false, "`Config RST gpio failed"); + } + ESP_PANEL_CHECK_ERR_RET(esp_lcd_new_rgb_panel(vendor_config.rgb_config, &handle), false, "Create panel failed"); + + ESP_LOGD(TAG, "LCD panel @%p created", handle); + + return true; +} + +bool ESP_PanelLcd_EK9716B::reset(void) +{ + ESP_PANEL_CHECK_NULL_RET(handle, false, "Invalid handle"); + + if (panel_config.reset_gpio_num >= 0) { + gpio_set_level((gpio_num_t)panel_config.reset_gpio_num, panel_config.flags.reset_active_high); + vTaskDelay(pdMS_TO_TICKS(10)); + gpio_set_level((gpio_num_t)panel_config.reset_gpio_num, !panel_config.flags.reset_active_high); + vTaskDelay(pdMS_TO_TICKS(120)); + } + ESP_PANEL_CHECK_ERR_RET(esp_lcd_panel_reset(handle), false, "Reset panel failed"); + + return true; +} + +#endif /* SOC_LCD_RGB_SUPPORTED */ diff --git a/src/lcd/EK9716B.h b/src/lcd/EK9716B.h new file mode 100644 index 00000000..53cc4eb4 --- /dev/null +++ b/src/lcd/EK9716B.h @@ -0,0 +1,66 @@ +/* + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +#include "soc/soc_caps.h" + +#if SOC_LCD_RGB_SUPPORTED +#include "ESP_PanelLcd.h" + +/** + * @brief EK9716B LCD device object class + * + * @note This class is a derived class of `ESP_PanelLcd`, user can use it directly + */ +class ESP_PanelLcd_EK9716B: public ESP_PanelLcd { +public: + /** + * @brief Construct a new LCD device in a simple way, the `init()` function should be called after this function + * + * @note This function uses some default values to config the LCD device, please use `config*()` functions to + * change them + * + * @param bus Pointer of panel bus + * @param color_bits Bits per pixel (24) + * @param rst_io Reset pin, set to `-1` if no use + */ + ESP_PanelLcd_EK9716B(ESP_PanelBus *bus, uint8_t color_bits, int rst_io = -1); + + /** + * @brief Construct a new LCD device in a complex way, the `init()` function should be called after this function + * + * @param bus Pointer of panel bus + * @param panel_config LCD device configuration + */ + ESP_PanelLcd_EK9716B(ESP_PanelBus *bus, const esp_lcd_panel_dev_config_t &panel_config); + + /** + * @brief Destroy the LCD device + * + */ + ~ESP_PanelLcd_EK9716B() override; + + /** + * @brief Initialize the LCD device, the `begin()` function should be called after this function + * + * @note This function typically calls `esp_lcd_new_panel_*()` to create the LCD panel handle + * + * @return true if success, otherwise false + */ + bool init(void) override; + + /** + * @brief Reset the LCD. If the `rst_io` is not set, this function will do reset by software instead of hardware + * + * @note This function should be called after `init()` + * + * @return true if success, otherwise false + */ + bool reset(void); +}; + +#endif /* SOC_LCD_RGB_SUPPORTED */ From a369ec56fc67a403b6ccbd00625671b5e98255cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 30 Jul 2024 04:47:43 +0200 Subject: [PATCH 02/20] fix(examples): fix LV_USE_DEMO_WIDGETS typo by @lboue (#98) * LV_USE_DEMO_WIDGETS typo * LV_USE_DEMO_WIDGETS typo --- examples/LVGL/v8/Porting/Porting.ino | 2 +- examples/PlatformIO/src/app.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/LVGL/v8/Porting/Porting.ino b/examples/LVGL/v8/Porting/Porting.ino index bca0a605..1993b540 100644 --- a/examples/LVGL/v8/Porting/Porting.ino +++ b/examples/LVGL/v8/Porting/Porting.ino @@ -99,7 +99,7 @@ void setup() /** * 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` + * Don't forget to uncomment header and enable the demos in `lv_conf.h`. E.g. `LV_USE_DEMO_WIDGETS` */ // lv_demo_widgets(); // lv_demo_benchmark(); diff --git a/examples/PlatformIO/src/app.cpp b/examples/PlatformIO/src/app.cpp index 01622fba..0a2c1af1 100644 --- a/examples/PlatformIO/src/app.cpp +++ b/examples/PlatformIO/src/app.cpp @@ -55,7 +55,7 @@ void setup() /** * 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` + * Don't forget to uncomment header and enable the demos in `lv_conf.h`. E.g. `LV_USE_DEMO_WIDGETS` */ // lv_demo_widgets(); // lv_demo_benchmark(); From 3d1e44ce04a7fdf826b7f02895608e48c38d31bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 30 Jul 2024 04:49:00 +0200 Subject: [PATCH 03/20] fix(examples): fix 'Tearing fucntion' typo by @lboue (#96) * Update README.md * Update README.md * Update README.md * Update Porting.ino * Update README.md * Update Porting.ino --- README.md | 2 +- examples/LVGL/v8/Porting/Porting.ino | 2 +- examples/LVGL/v8/Porting/README.md | 2 +- examples/PlatformIO/README.md | 2 +- examples/SquareLine/v8/Porting/Porting.ino | 2 +- examples/SquareLine/v8/Porting/README.md | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index e37bdc9d..1e836ab5 100644 --- a/README.md +++ b/README.md @@ -292,7 +292,7 @@ The following example demonstrates how to develop built-in or custom development For configuring LVGL (v8.3.x), please refer to [here](#configuring-lvgl) for more detailed information. -* [Porting](examples/LVGL/v8/Porting/): This example demonstrates how to port LVGL (v8.3.x). And for RGB LCD, it can enable the avoid tearing fucntion. +* [Porting](examples/LVGL/v8/Porting/): This example demonstrates how to port LVGL (v8.3.x). And for RGB LCD, it can enable the avoid tearing function. * [Rotation](examples/LVGL/v8/Rotation/): This example demonstrates how to use LVGL to rotate the display. > [!WARNING] diff --git a/examples/LVGL/v8/Porting/Porting.ino b/examples/LVGL/v8/Porting/Porting.ino index 1993b540..b2433d13 100644 --- a/examples/LVGL/v8/Porting/Porting.ino +++ b/examples/LVGL/v8/Porting/Porting.ino @@ -1,7 +1,7 @@ /** * # LVGL Porting Example * - * The example demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing fucntion. + * The example demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing function. * * ## How to Use * diff --git a/examples/LVGL/v8/Porting/README.md b/examples/LVGL/v8/Porting/README.md index 158d0ce0..0df0b737 100644 --- a/examples/LVGL/v8/Porting/README.md +++ b/examples/LVGL/v8/Porting/README.md @@ -1,6 +1,6 @@ # LVGL Porting Example -The example demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing fucntion. +The example demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing function. ## How to Use diff --git a/examples/PlatformIO/README.md b/examples/PlatformIO/README.md index 1baa93a1..fac6aa2a 100644 --- a/examples/PlatformIO/README.md +++ b/examples/PlatformIO/README.md @@ -1,6 +1,6 @@ # PlatformIO Example -The example is used to guide how to use this library in PlatformIO. It also demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing fucntion. +The example is used to guide how to use this library in PlatformIO. It also demonstrates how to port LVGL(v8). And for RGB LCD, it can enable the avoid tearing function. It is by default suitable for **ESP32-S3-LCD-EV-Board** and **ESP32-S3-LCD-EV-Board-2** boards. Users should modify the [boards/ESP-LCD.json](boards/ESP-LCD.json) file as needed. diff --git a/examples/SquareLine/v8/Porting/Porting.ino b/examples/SquareLine/v8/Porting/Porting.ino index 2f61f90d..b71d1d53 100644 --- a/examples/SquareLine/v8/Porting/Porting.ino +++ b/examples/SquareLine/v8/Porting/Porting.ino @@ -1,7 +1,7 @@ /** * # SquareLine Porting Example * - * The example demonstrates how to port SquareLine (v1.3.x) project. And for RGB LCD, it can enable the avoid tearing fucntion. + * The example demonstrates how to port SquareLine (v1.3.x) project. And for RGB LCD, it can enable the avoid tearing function. * * ## How to Use * diff --git a/examples/SquareLine/v8/Porting/README.md b/examples/SquareLine/v8/Porting/README.md index b3dab88e..07a287fd 100644 --- a/examples/SquareLine/v8/Porting/README.md +++ b/examples/SquareLine/v8/Porting/README.md @@ -1,6 +1,6 @@ # SquareLine Porting Example -The example demonstrates how to port SquareLine (v1.3.x) project. And for RGB LCD, it can enable the avoid tearing fucntion. +The example demonstrates how to port SquareLine (v1.3.x) project. And for RGB LCD, it can enable the avoid tearing function. ## How to Use From c747dbe41dd0b59d94fa6401b6b537dc66ef0164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Tue, 30 Jul 2024 04:50:47 +0200 Subject: [PATCH 04/20] fix(examples): fix WiFiClock log HTTP error code to serial console by @lboue (#97) * Update WiFiClock.ino Log HTTP error code to serial console * Update WiFiClock.ino --- examples/SquareLine/v8/WiFiClock/WiFiClock.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino index 8f7bf1aa..f87d2f28 100644 --- a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino +++ b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino @@ -312,7 +312,7 @@ void ParseWeather(String url) Serial.printf("Weather: %s\n", Weather); Serial.printf("temperature: %d\n", temperature); } else { - Serial.printf("ERROR: HTTP_CODE Weather\n"); + Serial.printf("ERROR: [ParseWeather] OpenWeather API --> HTTP code %d\n", httpGet); } } else { Serial.printf("ERROR: httpGet Weather\n"); @@ -338,7 +338,7 @@ void Parselatlon(String url) Serial.printf("lat: %s\n", lat); Serial.printf("lon: %s\n", lon); } else { - Serial.printf("ERROR: HTTP_CODE latlon\n"); + Serial.printf("ERROR: [Parselatlon] OpenWeather API --> HTTP code %d\n", httpGet); } } else { Serial.printf("ERROR: httpGet latlon\n"); From 07ca5e5141cc7df2784cdb32748cf802a482ab44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Thu, 25 Jul 2024 15:27:52 +0200 Subject: [PATCH 05/20] fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/76 closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues/74 --- CHANGELOG.md | 6 ++++++ examples/LVGL/v8/Rotation/lvgl_port_v8.cpp | 4 ++-- examples/PlatformIO/src/lvgl_port_v8.cpp | 4 ++-- examples/SquareLine/v8/Porting/lvgl_port_v8.cpp | 4 ++-- examples/SquareLine/v8/WiFiClock/lvgl_port_v8.cpp | 4 ++-- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c731d47..7ad50b6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # ChangeLog +## v0.1.6 - 2024-07-28 + +### Bugfixes: + +* fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) + ## v0.1.5 - 2024-07-09 ### Enhancements: diff --git a/examples/LVGL/v8/Rotation/lvgl_port_v8.cpp b/examples/LVGL/v8/Rotation/lvgl_port_v8.cpp index 280b9ccf..08cc35ab 100644 --- a/examples/LVGL/v8/Rotation/lvgl_port_v8.cpp +++ b/examples/LVGL/v8/Rotation/lvgl_port_v8.cpp @@ -485,8 +485,8 @@ static lv_disp_t *display_init(ESP_PanelLcd *lcd) ESP_LOGD(TAG, "Register display driver to LVGL"); lv_disp_drv_init(&disp_drv); disp_drv.flush_cb = flush_callback; - if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) - disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; +#if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) + disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; disp_drv.ver_res = LVGL_PORT_DISP_WIDTH; #else disp_drv.hor_res = LVGL_PORT_DISP_WIDTH; diff --git a/examples/PlatformIO/src/lvgl_port_v8.cpp b/examples/PlatformIO/src/lvgl_port_v8.cpp index 280b9ccf..08cc35ab 100644 --- a/examples/PlatformIO/src/lvgl_port_v8.cpp +++ b/examples/PlatformIO/src/lvgl_port_v8.cpp @@ -485,8 +485,8 @@ static lv_disp_t *display_init(ESP_PanelLcd *lcd) ESP_LOGD(TAG, "Register display driver to LVGL"); lv_disp_drv_init(&disp_drv); disp_drv.flush_cb = flush_callback; - if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) - disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; +#if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) + disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; disp_drv.ver_res = LVGL_PORT_DISP_WIDTH; #else disp_drv.hor_res = LVGL_PORT_DISP_WIDTH; diff --git a/examples/SquareLine/v8/Porting/lvgl_port_v8.cpp b/examples/SquareLine/v8/Porting/lvgl_port_v8.cpp index 280b9ccf..08cc35ab 100644 --- a/examples/SquareLine/v8/Porting/lvgl_port_v8.cpp +++ b/examples/SquareLine/v8/Porting/lvgl_port_v8.cpp @@ -485,8 +485,8 @@ static lv_disp_t *display_init(ESP_PanelLcd *lcd) ESP_LOGD(TAG, "Register display driver to LVGL"); lv_disp_drv_init(&disp_drv); disp_drv.flush_cb = flush_callback; - if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) - disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; +#if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) + disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; disp_drv.ver_res = LVGL_PORT_DISP_WIDTH; #else disp_drv.hor_res = LVGL_PORT_DISP_WIDTH; diff --git a/examples/SquareLine/v8/WiFiClock/lvgl_port_v8.cpp b/examples/SquareLine/v8/WiFiClock/lvgl_port_v8.cpp index 280b9ccf..08cc35ab 100644 --- a/examples/SquareLine/v8/WiFiClock/lvgl_port_v8.cpp +++ b/examples/SquareLine/v8/WiFiClock/lvgl_port_v8.cpp @@ -485,8 +485,8 @@ static lv_disp_t *display_init(ESP_PanelLcd *lcd) ESP_LOGD(TAG, "Register display driver to LVGL"); lv_disp_drv_init(&disp_drv); disp_drv.flush_cb = flush_callback; - if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) - disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; +#if (LVGL_PORT_ROTATION_DEGREE == 90) || (LVGL_PORT_ROTATION_DEGREE == 270) + disp_drv.hor_res = LVGL_PORT_DISP_HEIGHT; disp_drv.ver_res = LVGL_PORT_DISP_WIDTH; #else disp_drv.hor_res = LVGL_PORT_DISP_WIDTH; From f72b1f76aeee9baab03221dfd8b3fdbd8835ea40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Thu, 25 Jul 2024 21:56:45 +0200 Subject: [PATCH 06/20] fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues/83 closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/84 --- CHANGELOG.md | 1 + examples/Touch/I2C/I2C.ino | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ad50b6b..80ae151e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Bugfixes: * fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) +* fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) ## v0.1.5 - 2024-07-09 diff --git a/examples/Touch/I2C/I2C.ino b/examples/Touch/I2C/I2C.ino index c09e5992..b7236422 100644 --- a/examples/Touch/I2C/I2C.ino +++ b/examples/Touch/I2C/I2C.ino @@ -101,7 +101,7 @@ void setup() ESP_PANEL_TOUCH_I2C_PANEL_IO_CONFIG_WITH_ADDR(EXAMPLE_TOUCH_NAME, EXAMPLE_TOUCH_ADDRESS)); // Taking GT911 as an example, the following is the code after macro expansion: // ESP_PanelBus_I2C *touch_bus = new ESP_PanelBus_I2C(EXAMPLE_TOUCH_PIN_NUM_I2C_SCL, EXAMPLE_TOUCH_PIN_NUM_I2C_SDA, - // ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG_WITH_ADDR()); + // ESP_LCD_TOUCH_IO_I2C_GT911_CONFIG_WITH_ADDR(EXAMPLE_TOUCH_ADDRESS)); #endif touch_bus->configI2cFreqHz(EXAMPLE_TOUCH_I2C_FREQ_HZ); touch_bus->begin(); From 4b5e6570a36b8f5d91a0d1668f0dbecaf1ea0dfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Thu, 25 Jul 2024 22:38:16 +0200 Subject: [PATCH 07/20] fix(gt911): allow to set the GT911 touch device address by @lboue (#86) closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/86 closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues/85 --- CHANGELOG.md | 1 + src/touch/ESP_PanelTouch.cpp | 19 +++++++++++++++++++ src/touch/ESP_PanelTouch.h | 9 +++++++++ src/touch/GT911.cpp | 5 +++++ src/touch/GT911.h | 10 +++++++++- 5 files changed, 43 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80ae151e..62814260 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) * fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) +* fix(gt911): allow to set the GT911 touch device address by @lboue (#86) ## v0.1.5 - 2024-07-09 diff --git a/src/touch/ESP_PanelTouch.cpp b/src/touch/ESP_PanelTouch.cpp index 64e93065..abda3d07 100644 --- a/src/touch/ESP_PanelTouch.cpp +++ b/src/touch/ESP_PanelTouch.cpp @@ -78,6 +78,25 @@ ESP_PanelTouch::ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t & } } +ESP_PanelTouch::ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address): + bus(bus), + config(config), + handle(NULL), + _swap_xy(false), + _mirror_x(false), + _mirror_y(false), + _tp_points_num(0), + _tp_buttons_state{0}, + onTouchInterruptCallback(NULL), + _isr_sem(NULL), + callback_data(CALLBACK_DATA_DEFAULT()) +{ + if ((config.int_gpio_num != GPIO_NUM_NC) && (config.interrupt_callback == NULL) && (config.user_data == NULL)) { + this->config.interrupt_callback = onTouchInterrupt; + this->config.user_data = &callback_data; + } +} + bool ESP_PanelTouch::attachInterruptCallback(std::function callback, void *user_data) { ESP_PANEL_CHECK_FALSE_RET((config.interrupt_callback == onTouchInterrupt), false, "Interruption is not enabled"); diff --git a/src/touch/ESP_PanelTouch.h b/src/touch/ESP_PanelTouch.h index 3ea8662b..3dca153f 100644 --- a/src/touch/ESP_PanelTouch.h +++ b/src/touch/ESP_PanelTouch.h @@ -78,6 +78,15 @@ class ESP_PanelTouch { */ ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config); + /** + * @brief Construct a new touch device in a complex way, the `init()` function should be called after this function + * + * @param bus Pointer to panel bus + * @param config Touch device configuration + * @param address The address of the touch device, default set to `0` to use the default address + */ + ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address); + /** * @brief Destroy the LCD device * diff --git a/src/touch/GT911.cpp b/src/touch/GT911.cpp index cc3a06f8..9836d12b 100644 --- a/src/touch/GT911.cpp +++ b/src/touch/GT911.cpp @@ -19,6 +19,11 @@ ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touc { } +ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address): + ESP_PanelTouch(bus, config, address) +{ +} + ESP_PanelTouch_GT911::~ESP_PanelTouch_GT911() { ESP_PANEL_ENABLE_TAG_DEBUG_LOG(); diff --git a/src/touch/GT911.h b/src/touch/GT911.h index 73d55449..af936ad8 100644 --- a/src/touch/GT911.h +++ b/src/touch/GT911.h @@ -33,10 +33,18 @@ class ESP_PanelTouch_GT911 : public ESP_PanelTouch { * * @param bus Pointer to panel bus * @param config Touch device configuration - * @param address The address of the touch device, default set to `0` to use the default address */ ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config); + /** + * @brief Construct a new touch device in a complex way, the `init()` function should be called after this function + * + * @param bus Pointer to panel bus + * @param config Touch device configuration + * @param address The address of the touch device, default set to `0` to use the default address + */ + ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address); + /** * @brief Destroy the LCD device * From 8b454da112bcb9f75c843887c55f89a8eb731991 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Sun, 28 Jul 2024 11:51:15 +0800 Subject: [PATCH 08/20] fix(panel): remove redundant code --- ESP_Panel_Board_Custom.h | 9 ++++++--- .../LVGL/v8/Porting/ESP_Panel_Board_Custom.h | 9 ++++++--- .../LVGL/v8/Rotation/ESP_Panel_Board_Custom.h | 9 ++++++--- .../Panel/PanelTest/ESP_Panel_Board_Custom.h | 9 ++++++--- .../PlatformIO/src/ESP_Panel_Board_Custom.h | 9 ++++++--- .../v8/Porting/ESP_Panel_Board_Custom.h | 9 ++++++--- .../v8/WiFiClock/ESP_Panel_Board_Custom.h | 9 ++++++--- examples/Touch/I2C/I2C.ino | 6 ++++-- src/ESP_Panel.cpp | 9 +-------- src/ESP_PanelVersions.h | 2 +- src/touch/ESP_PanelTouch.cpp | 19 ------------------- src/touch/ESP_PanelTouch.h | 9 --------- src/touch/GT911.cpp | 5 ----- src/touch/GT911.h | 9 --------- 14 files changed, 48 insertions(+), 74 deletions(-) diff --git a/ESP_Panel_Board_Custom.h b/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/ESP_Panel_Board_Custom.h +++ b/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h index f740bca7..985ef2a4 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h @@ -247,8 +247,11 @@ /* Touch panel bus parameters */ #if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C - #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 to use the default address - #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) // Typically set to 400K @@ -372,7 +375,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Touch/I2C/I2C.ino b/examples/Touch/I2C/I2C.ino index b7236422..903f64b5 100644 --- a/examples/Touch/I2C/I2C.ino +++ b/examples/Touch/I2C/I2C.ino @@ -53,8 +53,10 @@ * - ST1633, ST7123 */ #define EXAMPLE_TOUCH_NAME GT911 -#define EXAMPLE_TOUCH_ADDRESS (0) // Typically set to `0` to use the default address - // For GT911, there are two addresses: 0x5D(default) and 0x14 +#define EXAMPLE_TOUCH_ADDRESS (0) // Typically set to 0 to use the default address. + // - For touchs with only one address, set to 0 + // - For touchs with multiple addresses, set to 0 or the address + // Like GT911, there are two addresses: 0x5D(default) and 0x14 #define EXAMPLE_TOUCH_WIDTH (480) #define EXAMPLE_TOUCH_HEIGHT (480) #define EXAMPLE_TOUCH_I2C_FREQ_HZ (400 * 1000) diff --git a/src/ESP_Panel.cpp b/src/ESP_Panel.cpp index 01d2bc8c..a8ee00be 100644 --- a/src/ESP_Panel.cpp +++ b/src/ESP_Panel.cpp @@ -45,8 +45,6 @@ using namespace std; #define CREATE_LCD(name, bus, cfg) _CREATE_LCD(name, bus, cfg) #define _CREATE_TOUCH(name, bus, cfg) make_shared(bus, cfg) #define CREATE_TOUCH(name, bus, cfg) _CREATE_TOUCH(name, bus, cfg) -#define _CREATE_TOUCH_WITH_ADDR(name, bus, cfg, addr) make_shared(bus, cfg, addr) -#define CREATE_TOUCH_WITH_ADDR(name, bus, cfg, addr) _CREATE_TOUCH_WITH_ADDR(name, bus, cfg, addr) #define _CREATE_EXPANDER(name, host_id, address) make_shared(host_id, address) #define CREATE_EXPANDER(name, host_id, address) _CREATE_EXPANDER(name, host_id, address) @@ -414,12 +412,7 @@ bool ESP_Panel::init(void) ESP_PANEL_CHECK_NULL_RET(touch_bus_ptr, false, "Create touch bus failed"); ESP_LOGD(TAG, "Create touch device"); - touch_ptr = -#if ESP_PANEL_TOUCH_I2C_ADDRESS == 0 - CREATE_TOUCH(ESP_PANEL_TOUCH_NAME, touch_bus_ptr.get(), lcd_touch_config); -#else - CREATE_TOUCH_WITH_ADDR(ESP_PANEL_TOUCH_NAME, touch_bus_ptr.get(), lcd_touch_config, ESP_PANEL_TOUCH_I2C_ADDRESS); -#endif + touch_ptr = CREATE_TOUCH(ESP_PANEL_TOUCH_NAME, touch_bus_ptr.get(), lcd_touch_config); ESP_PANEL_CHECK_NULL_RET(touch_ptr, false, "Create touch device failed"); #endif /* ESP_PANEL_USE_TOUCH */ diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index 6d15df0f..a927598d 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -21,7 +21,7 @@ /* File `ESP_Panel_Board_Custom.h` */ #define ESP_PANEL_BOARD_CUSTOM_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 3 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 4 /* File `ESP_Panel_Board_Supported.h` */ #define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0 diff --git a/src/touch/ESP_PanelTouch.cpp b/src/touch/ESP_PanelTouch.cpp index abda3d07..64e93065 100644 --- a/src/touch/ESP_PanelTouch.cpp +++ b/src/touch/ESP_PanelTouch.cpp @@ -78,25 +78,6 @@ ESP_PanelTouch::ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t & } } -ESP_PanelTouch::ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address): - bus(bus), - config(config), - handle(NULL), - _swap_xy(false), - _mirror_x(false), - _mirror_y(false), - _tp_points_num(0), - _tp_buttons_state{0}, - onTouchInterruptCallback(NULL), - _isr_sem(NULL), - callback_data(CALLBACK_DATA_DEFAULT()) -{ - if ((config.int_gpio_num != GPIO_NUM_NC) && (config.interrupt_callback == NULL) && (config.user_data == NULL)) { - this->config.interrupt_callback = onTouchInterrupt; - this->config.user_data = &callback_data; - } -} - bool ESP_PanelTouch::attachInterruptCallback(std::function callback, void *user_data) { ESP_PANEL_CHECK_FALSE_RET((config.interrupt_callback == onTouchInterrupt), false, "Interruption is not enabled"); diff --git a/src/touch/ESP_PanelTouch.h b/src/touch/ESP_PanelTouch.h index 3dca153f..3ea8662b 100644 --- a/src/touch/ESP_PanelTouch.h +++ b/src/touch/ESP_PanelTouch.h @@ -78,15 +78,6 @@ class ESP_PanelTouch { */ ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config); - /** - * @brief Construct a new touch device in a complex way, the `init()` function should be called after this function - * - * @param bus Pointer to panel bus - * @param config Touch device configuration - * @param address The address of the touch device, default set to `0` to use the default address - */ - ESP_PanelTouch(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address); - /** * @brief Destroy the LCD device * diff --git a/src/touch/GT911.cpp b/src/touch/GT911.cpp index 9836d12b..cc3a06f8 100644 --- a/src/touch/GT911.cpp +++ b/src/touch/GT911.cpp @@ -19,11 +19,6 @@ ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touc { } -ESP_PanelTouch_GT911::ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address): - ESP_PanelTouch(bus, config, address) -{ -} - ESP_PanelTouch_GT911::~ESP_PanelTouch_GT911() { ESP_PANEL_ENABLE_TAG_DEBUG_LOG(); diff --git a/src/touch/GT911.h b/src/touch/GT911.h index af936ad8..22eedf92 100644 --- a/src/touch/GT911.h +++ b/src/touch/GT911.h @@ -36,15 +36,6 @@ class ESP_PanelTouch_GT911 : public ESP_PanelTouch { */ ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config); - /** - * @brief Construct a new touch device in a complex way, the `init()` function should be called after this function - * - * @param bus Pointer to panel bus - * @param config Touch device configuration - * @param address The address of the touch device, default set to `0` to use the default address - */ - ESP_PanelTouch_GT911(ESP_PanelBus *bus, const esp_lcd_touch_config_t &config, int address); - /** * @brief Destroy the LCD device * From 2aa264d14130619d7fcc7a4398bf30999a1cf41e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Thu, 25 Jul 2024 18:24:58 +0200 Subject: [PATCH 09/20] fix(examples): fix WiFiClock wrong name `ScreenPassord` by @lboue (#82) closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/pull/83 --- CHANGELOG.md | 1 + examples/SquareLine/v8/WiFiClock/WiFiClock.ino | 2 +- .../WiFiClock/libraries/ui/src/CMakeLists.txt | 2 +- .../v8/WiFiClock/libraries/ui/src/filelist.txt | 2 +- .../ui/src/screens/ui_ScreenPassord.c | 18 +++++++++--------- .../v8/WiFiClock/libraries/ui/src/ui.c | 8 ++++---- .../v8/WiFiClock/libraries/ui/src/ui.h | 6 +++--- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62814260..65a522a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ * fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) * fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) +* fix(examples): fix WiFiClock wrong name `ScreenPassord` by @lboue (#82) * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) ## v0.1.5 - 2024-07-09 diff --git a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino index f87d2f28..686d963f 100644 --- a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino +++ b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino @@ -512,7 +512,7 @@ void handleWifiListItemClick(lv_event_t * e) if (selected_wifi_name != NULL) { Serial.printf("%s\n", selected_wifi_name); } - _ui_screen_change(&ui_ScreenPassord, LV_SCR_LOAD_ANIM_NONE, 0, 0, &ui_ScreenPassord_screen_init); + _ui_screen_change(&ui_ScreenPassword, LV_SCR_LOAD_ANIM_NONE, 0, 0, &ui_ScreenPassword_screen_init); lvgl_port_unlock(); } } diff --git a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/CMakeLists.txt b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/CMakeLists.txt index 5a747293..163af3a1 100644 --- a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/CMakeLists.txt +++ b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/CMakeLists.txt @@ -1,7 +1,7 @@ SET(SOURCES screens/ui_ScreenClock.c screens/ui_ScreenSet.c screens/ui_ScreenWifiList.c - screens/ui_ScreenPassord.c + screens/ui_ScreenPassword.c screens/ui_ScreenAla.c ui.c components/ui_comp_hook.c diff --git a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/filelist.txt b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/filelist.txt index 7878ae0d..2596d994 100644 --- a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/filelist.txt +++ b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/filelist.txt @@ -1,7 +1,7 @@ screens/ui_ScreenClock.c screens/ui_ScreenSet.c screens/ui_ScreenWifiList.c -screens/ui_ScreenPassord.c +screens/ui_ScreenPassword.c screens/ui_ScreenAla.c ui.c components/ui_comp_hook.c diff --git a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/screens/ui_ScreenPassord.c b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/screens/ui_ScreenPassord.c index c5ede21b..b919cf08 100644 --- a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/screens/ui_ScreenPassord.c +++ b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/screens/ui_ScreenPassord.c @@ -5,14 +5,14 @@ #include "../ui.h" -void ui_ScreenPassord_screen_init(void) +void ui_ScreenPassword_screen_init(void) { -ui_ScreenPassord = lv_obj_create(NULL); -lv_obj_clear_flag( ui_ScreenPassord, LV_OBJ_FLAG_SCROLLABLE ); /// Flags -lv_obj_set_style_bg_color(ui_ScreenPassord, lv_color_hex(0x112D4E), LV_PART_MAIN | LV_STATE_DEFAULT ); -lv_obj_set_style_bg_opa(ui_ScreenPassord, 255, LV_PART_MAIN| LV_STATE_DEFAULT); +ui_ScreenPassword = lv_obj_create(NULL); +lv_obj_clear_flag( ui_ScreenPassword, LV_OBJ_FLAG_SCROLLABLE ); /// Flags +lv_obj_set_style_bg_color(ui_ScreenPassword, lv_color_hex(0x112D4E), LV_PART_MAIN | LV_STATE_DEFAULT ); +lv_obj_set_style_bg_opa(ui_ScreenPassword, 255, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_TextPassword = lv_textarea_create(ui_ScreenPassord); +ui_TextPassword = lv_textarea_create(ui_ScreenPassword); lv_obj_set_width( ui_TextPassword, 283); lv_obj_set_height( ui_TextPassword, 42); lv_obj_set_x( ui_TextPassword, -1 ); @@ -22,7 +22,7 @@ lv_textarea_set_placeholder_text(ui_TextPassword,"Please enter Wifi password"); lv_obj_set_style_bg_color(ui_TextPassword, lv_color_hex(0xDBE2EF), LV_PART_MAIN | LV_STATE_DEFAULT ); lv_obj_set_style_bg_opa(ui_TextPassword, 255, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_KeyboardPassword = lv_keyboard_create(ui_ScreenPassord); +ui_KeyboardPassword = lv_keyboard_create(ui_ScreenPassword); lv_obj_set_width( ui_KeyboardPassword, 300); lv_obj_set_height( ui_KeyboardPassword, 120); lv_obj_set_x( ui_KeyboardPassword, 0 ); @@ -31,7 +31,7 @@ lv_obj_set_align( ui_KeyboardPassword, LV_ALIGN_CENTER ); lv_obj_set_style_bg_color(ui_KeyboardPassword, lv_color_hex(0xDBE2EF), LV_PART_MAIN | LV_STATE_DEFAULT ); lv_obj_set_style_bg_opa(ui_KeyboardPassword, 255, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_ButtonRetWifi = lv_btn_create(ui_ScreenPassord); +ui_ButtonRetWifi = lv_btn_create(ui_ScreenPassword); lv_obj_set_width( ui_ButtonRetWifi, 30); lv_obj_set_height( ui_ButtonRetWifi, 26); lv_obj_set_x( ui_ButtonRetWifi, -138 ); @@ -55,7 +55,7 @@ lv_img_set_zoom(ui_ImageRetWifi,30); lv_obj_set_style_img_recolor(ui_ImageRetWifi, lv_color_hex(0xDBE2EF), LV_PART_MAIN| LV_STATE_DEFAULT); lv_obj_set_style_img_recolor_opa(ui_ImageRetWifi, 255, LV_PART_MAIN| LV_STATE_DEFAULT); -ui_SpinnerLoadPassword = lv_spinner_create(ui_ScreenPassord,1000,90); +ui_SpinnerLoadPassword = lv_spinner_create(ui_ScreenPassword,1000,90); lv_obj_set_width( ui_SpinnerLoadPassword, 80); lv_obj_set_height( ui_SpinnerLoadPassword, 80); lv_obj_set_align( ui_SpinnerLoadPassword, LV_ALIGN_CENTER ); diff --git a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.c b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.c index 148b8231..3823fb2e 100644 --- a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.c +++ b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.c @@ -58,9 +58,9 @@ lv_obj_t *ui_LabelWifiList; lv_obj_t *ui_SpinnerLoadWifi; -// SCREEN: ui_ScreenPassord -void ui_ScreenPassord_screen_init(void); -lv_obj_t *ui_ScreenPassord; +// SCREEN: ui_ScreenPassword +void ui_ScreenPassword_screen_init(void); +lv_obj_t *ui_ScreenPassword; lv_obj_t *ui_TextPassword; void ui_event_KeyboardPassword( lv_event_t * e); lv_obj_t *ui_KeyboardPassword; @@ -181,7 +181,7 @@ lv_disp_set_theme(dispp, theme); ui_ScreenClock_screen_init(); ui_ScreenSet_screen_init(); ui_ScreenWifiList_screen_init(); -ui_ScreenPassord_screen_init(); +ui_ScreenPassword_screen_init(); ui_ScreenAla_screen_init(); ui____initial_actions0 = lv_obj_create(NULL); lv_disp_load_scr( ui_ScreenClock); diff --git a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.h b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.h index 1f066766..34c483ca 100644 --- a/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.h +++ b/examples/SquareLine/v8/WiFiClock/libraries/ui/src/ui.h @@ -66,9 +66,9 @@ extern lv_obj_t *ui_ButtonRetSet; extern lv_obj_t *ui_ImageRetSet; extern lv_obj_t *ui_LabelWifiList; extern lv_obj_t *ui_SpinnerLoadWifi; -// SCREEN: ui_ScreenPassord -void ui_ScreenPassord_screen_init(void); -extern lv_obj_t *ui_ScreenPassord; +// SCREEN: ui_ScreenPassword +void ui_ScreenPassword_screen_init(void); +extern lv_obj_t *ui_ScreenPassword; extern lv_obj_t *ui_TextPassword; void ui_event_KeyboardPassword( lv_event_t * e); extern lv_obj_t *ui_KeyboardPassword; From 97755b82905bea5b226422a8df9cc5c9714915ea Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Sun, 28 Jul 2024 14:28:30 +0800 Subject: [PATCH 10/20] fix(examples): fix LCD using 'configVendorCommands' before 'init' --- CHANGELOG.md | 1 + examples/LCD/3wireSPI_RGB/3wireSPI_RGB.ino | 105 +++++++++++---------- examples/LCD/QSPI/QSPI.ino | 35 ++++--- examples/LCD/RGB/RGB.ino | 64 +++++++------ examples/LCD/SPI/SPI.ino | 34 ++++--- src/lcd/ESP_PanelLcd.cpp | 4 +- 6 files changed, 133 insertions(+), 110 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65a522a8..e8b9152b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) * fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) * fix(examples): fix WiFiClock wrong name `ScreenPassord` by @lboue (#82) +* fix(examples): fix LCD using 'configVendorCommands' before 'init' * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) ## v0.1.5 - 2024-07-09 diff --git a/examples/LCD/3wireSPI_RGB/3wireSPI_RGB.ino b/examples/LCD/3wireSPI_RGB/3wireSPI_RGB.ino index 39312981..d3ef2ea2 100644 --- a/examples/LCD/3wireSPI_RGB/3wireSPI_RGB.ino +++ b/examples/LCD/3wireSPI_RGB/3wireSPI_RGB.ino @@ -51,18 +51,21 @@ * - GC9503 * - ST7701 */ -#define EXAMPLE_LCD_NAME ST7701 -#define EXAMPLE_LCD_WIDTH (480) -#define EXAMPLE_LCD_HEIGHT (480) -#define EXAMPLE_LCD_COLOR_BITS (18) -#define EXAMPLE_LCD_RGB_DATA_WIDTH (16) -#define EXAMPLE_LCD_RGB_TIMING_FREQ_HZ (16 * 1000 * 1000) -#define EXAMPLE_LCD_RGB_TIMING_HPW (10) -#define EXAMPLE_LCD_RGB_TIMING_HBP (10) -#define EXAMPLE_LCD_RGB_TIMING_HFP (20) -#define EXAMPLE_LCD_RGB_TIMING_VPW (10) -#define EXAMPLE_LCD_RGB_TIMING_VBP (10) -#define EXAMPLE_LCD_RGB_TIMING_VFP (10) +#define EXAMPLE_LCD_NAME ST7701 +#define EXAMPLE_LCD_WIDTH (480) +#define EXAMPLE_LCD_HEIGHT (480) + // | 8-bit RGB888 | 16-bit RGB565 | +#define EXAMPLE_LCD_COLOR_BITS (18) // | 24 | 16/18/24 | +#define EXAMPLE_LCD_RGB_DATA_WIDTH (16) // | 8 | 16 | +#define EXAMPLE_LCD_RGB_TIMING_FREQ_HZ (16 * 1000 * 1000) +#define EXAMPLE_LCD_RGB_TIMING_HPW (10) +#define EXAMPLE_LCD_RGB_TIMING_HBP (10) +#define EXAMPLE_LCD_RGB_TIMING_HFP (20) +#define EXAMPLE_LCD_RGB_TIMING_VPW (10) +#define EXAMPLE_LCD_RGB_TIMING_VBP (10) +#define EXAMPLE_LCD_RGB_TIMING_VFP (10) +#define EXAMPLE_LCD_USE_EXTERNAL_CMD (0) +#if EXAMPLE_LCD_USE_EXTERNAL_CMD /** * LCD initialization commands. * @@ -77,17 +80,18 @@ * 2. Formater: ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(delay_ms, command, { data0, data1, ... }) and * ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(delay_ms, command) */ -// const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { -// {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, -// {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, -// {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, -// {0x29, (uint8_t []){0x00}, 0, 120}, -// // or -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), -// ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), -// }; +const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { + // {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, + // {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, + // {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, + // {0x29, (uint8_t []){0x00}, 0, 120}, + // // or + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), + // ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), +}; +#endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// Please update the following configuration according to your board spec //////////////////////////// @@ -97,29 +101,31 @@ #define EXAMPLE_LCD_PIN_NUM_RGB_HSYNC (16) #define EXAMPLE_LCD_PIN_NUM_RGB_DE (18) #define EXAMPLE_LCD_PIN_NUM_RGB_PCLK (21) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA0 (4) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA1 (5) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA2 (6) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA3 (7) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA4 (15) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA5 (8) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA6 (20) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA7 (3) + // | RGB565 | RGB666 | RGB888 | + // |--------|--------|--------| +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA0 (4) // | B0 | B0-1 | B0-3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA1 (5) // | B1 | B2 | B4 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA2 (6) // | B2 | B3 | B5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA3 (7) // | B3 | B4 | B6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA4 (15) // | B4 | B5 | B7 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA5 (8) // | G0 | G0 | G0-2 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA6 (20) // | G1 | G1 | G3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA7 (3) // | G2 | G2 | G4 | #if EXAMPLE_LCD_RGB_DATA_WIDTH > 8 -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA8 (46) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA9 (9) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA10 (10) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA11 (11) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA12 (12) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA13 (13) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA14 (14) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA15 (0) +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA8 (46) // | G3 | G3 | G5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA9 (9) // | G4 | G4 | G6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA10 (10) // | G5 | G5 | G7 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA11 (11) // | R0 | R0-1 | R0-3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA12 (12) // | R1 | R2 | R4 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA13 (13) // | R2 | R3 | R5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA14 (14) // | R3 | R4 | R6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA15 (0) // | R4 | R5 | R7 | #endif #define EXAMPLE_LCD_PIN_NUM_SPI_CS (39) #define EXAMPLE_LCD_PIN_NUM_SPI_SCK (48) #define EXAMPLE_LCD_PIN_NUM_SPI_SDA (47) -#define EXAMPLE_LCD_PIN_NUM_RST (-1) -#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (38) +#define EXAMPLE_LCD_PIN_NUM_RST (-1) // Set to -1 if not used +#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (38) // Set to -1 if not used #define EXAMPLE_LCD_BK_LIGHT_ON_LEVEL (1) #define EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL @@ -132,15 +138,15 @@ #if EXAMPLE_ENABLE_PRINT_LCD_FPS #define EXAMPLE_LCD_FPS_COUNT_MAX (100) -DRAM_ATTR int frame_count = 0; DRAM_ATTR int fps = 0; -DRAM_ATTR long start_time = 0; IRAM_ATTR bool onVsyncEndCallback(void *user_data) { - long frame_start_time = *(long *)user_data; + DRAM_ATTR static int frame_count = 0; + DRAM_ATTR static long frame_start_time = 0; + if (frame_start_time == 0) { - (*(long *)user_data) = millis(); + frame_start_time = millis(); return false; } @@ -149,7 +155,7 @@ IRAM_ATTR bool onVsyncEndCallback(void *user_data) if (frame_count >= EXAMPLE_LCD_FPS_COUNT_MAX) { fps = EXAMPLE_LCD_FPS_COUNT_MAX * 1000 / (millis() - frame_start_time); frame_count = 0; - (*(long *)user_data) = millis(); + frame_start_time = millis(); } return false; @@ -204,13 +210,16 @@ void setup() Serial.println("Create LCD device"); ESP_PanelLcd *lcd = new EXAMPLE_LCD_CLASS(EXAMPLE_LCD_NAME, lcd_bus, EXAMPLE_LCD_COLOR_BITS, EXAMPLE_LCD_PIN_NUM_RST); - // lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); +#if EXAMPLE_LCD_USE_EXTERNAL_CMD + // Configure external initialization commands, should called before `init()` + lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); +#endif lcd->init(); lcd->reset(); lcd->begin(); lcd->displayOn(); #if EXAMPLE_ENABLE_PRINT_LCD_FPS - lcd->attachRefreshFinishCallback(onVsyncEndCallback, (void *)&start_time); + lcd->attachRefreshFinishCallback(onVsyncEndCallback, nullptr); #endif Serial.println("Draw color bar from top left to bottom right, the order is B - G - R"); diff --git a/examples/LCD/QSPI/QSPI.ino b/examples/LCD/QSPI/QSPI.ino index 30c64d62..40a8b9ec 100644 --- a/examples/LCD/QSPI/QSPI.ino +++ b/examples/LCD/QSPI/QSPI.ino @@ -71,6 +71,8 @@ #define EXAMPLE_LCD_HEIGHT (300) #define EXAMPLE_LCD_COLOR_BITS (16) #define EXAMPLE_LCD_SPI_FREQ_HZ (40 * 1000 * 1000) +#define EXAMPLE_LCD_USE_EXTERNAL_CMD (0) +#if EXAMPLE_LCD_USE_EXTERNAL_CMD /** * LCD initialization commands. * @@ -85,17 +87,18 @@ * 2. Formater: ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(delay_ms, command, { data0, data1, ... }) and * ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(delay_ms, command) */ -// const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { -// {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, -// {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, -// {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, -// {0x29, (uint8_t []){0x00}, 0, 120}, -// // or -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), -// ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), -// }; +const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { + // {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, + // {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, + // {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, + // {0x29, (uint8_t []){0x00}, 0, 120}, + // // or + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), + // ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), +}; +#endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// Please update the following configuration according to your board spec //////////////////////////// @@ -106,10 +109,9 @@ #define EXAMPLE_LCD_PIN_NUM_SPI_DATA1 (12) #define EXAMPLE_LCD_PIN_NUM_SPI_DATA2 (13) #define EXAMPLE_LCD_PIN_NUM_SPI_DATA3 (14) -#define EXAMPLE_LCD_PIN_NUM_RST (3) -#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (-1) +#define EXAMPLE_LCD_PIN_NUM_RST (3) // Set to -1 if not used +#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (-1) // Set to -1 if not used #define EXAMPLE_LCD_BK_LIGHT_ON_LEVEL (1) - #define EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL /* Enable or disable the attachment of a callback function that is called after each bitmap drawing is completed */ @@ -148,9 +150,12 @@ void setup() Serial.println("Create LCD device"); ESP_PanelLcd *lcd = new EXAMPLE_LCD_CLASS(EXAMPLE_LCD_NAME, panel_bus, EXAMPLE_LCD_COLOR_BITS, EXAMPLE_LCD_PIN_NUM_RST); +#if EXAMPLE_LCD_USE_EXTERNAL_CMD + // Configure external initialization commands, should called before `init()` + lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); +#endif lcd->init(); lcd->reset(); - // lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); lcd->begin(); lcd->displayOn(); #if EXAMPLE_ENABLE_ATTACH_CALLBACK diff --git a/examples/LCD/RGB/RGB.ino b/examples/LCD/RGB/RGB.ino index f1865408..e459febd 100644 --- a/examples/LCD/RGB/RGB.ino +++ b/examples/LCD/RGB/RGB.ino @@ -48,18 +48,19 @@ * Currently, the library supports the following RGB (without 3-wire SPI) LCDs: * - ST7262 */ -#define EXAMPLE_LCD_NAME ST7262 -#define EXAMPLE_LCD_WIDTH (800) -#define EXAMPLE_LCD_HEIGHT (480) -#define EXAMPLE_LCD_COLOR_BITS (24) -#define EXAMPLE_LCD_RGB_DATA_WIDTH (16) -#define EXAMPLE_LCD_RGB_TIMING_FREQ_HZ (16 * 1000 * 1000) -#define EXAMPLE_LCD_RGB_TIMING_HPW (40) -#define EXAMPLE_LCD_RGB_TIMING_HBP (40) -#define EXAMPLE_LCD_RGB_TIMING_HFP (48) -#define EXAMPLE_LCD_RGB_TIMING_VPW (23) -#define EXAMPLE_LCD_RGB_TIMING_VBP (32) -#define EXAMPLE_LCD_RGB_TIMING_VFP (13) +#define EXAMPLE_LCD_NAME ST7262 +#define EXAMPLE_LCD_WIDTH (800) +#define EXAMPLE_LCD_HEIGHT (480) + // | 8-bit RGB888 | 16-bit RGB565 | +#define EXAMPLE_LCD_COLOR_BITS (18) // | 24 | 16/18/24 | +#define EXAMPLE_LCD_RGB_DATA_WIDTH (16) // | 8 | 16 | +#define EXAMPLE_LCD_RGB_TIMING_FREQ_HZ (16 * 1000 * 1000) +#define EXAMPLE_LCD_RGB_TIMING_HPW (40) +#define EXAMPLE_LCD_RGB_TIMING_HBP (40) +#define EXAMPLE_LCD_RGB_TIMING_HFP (48) +#define EXAMPLE_LCD_RGB_TIMING_VPW (23) +#define EXAMPLE_LCD_RGB_TIMING_VBP (32) +#define EXAMPLE_LCD_RGB_TIMING_VFP (13) //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// Please update the following configuration according to your board spec //////////////////////////// @@ -69,28 +70,29 @@ #define EXAMPLE_LCD_PIN_NUM_RGB_HSYNC (46) #define EXAMPLE_LCD_PIN_NUM_RGB_DE (17) #define EXAMPLE_LCD_PIN_NUM_RGB_PCLK (9) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA0 (10) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA1 (11) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA2 (12) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA3 (13) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA4 (14) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA5 (21) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA6 (47) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA7 (48) + // | RGB565 | RGB666 | RGB888 | + // |--------|--------|--------| +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA0 (10) // | B0 | B0-1 | B0-3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA1 (11) // | B1 | B2 | B4 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA2 (12) // | B2 | B3 | B5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA3 (13) // | B3 | B4 | B6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA4 (14) // | B4 | B5 | B7 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA5 (21) // | G0 | G0 | G0-2 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA6 (47) // | G1 | G1 | G3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA7 (48) // | G2 | G2 | G4 | #if EXAMPLE_LCD_RGB_DATA_WIDTH > 8 -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA8 (45) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA9 (38) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA10 (39) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA11 (40) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA12 (41) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA13 (42) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA14 (2) -#define EXAMPLE_LCD_PIN_NUM_RGB_DATA15 (1) +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA8 (45) // | G3 | G3 | G5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA9 (38) // | G4 | G4 | G6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA10 (39) // | G5 | G5 | G7 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA11 (40) // | R0 | R0-1 | R0-3 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA12 (41) // | R1 | R2 | R4 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA13 (42) // | R2 | R3 | R5 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA14 (2) // | R3 | R4 | R6 | +#define EXAMPLE_LCD_PIN_NUM_RGB_DATA15 (1) // | R4 | R5 | R7 | #endif -#define EXAMPLE_LCD_PIN_NUM_RST (-1) -#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (-1) +#define EXAMPLE_LCD_PIN_NUM_RST (-1) // Set to -1 if not used +#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (-1) // Set to -1 if not used #define EXAMPLE_LCD_BK_LIGHT_ON_LEVEL (1) - #define EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL /* Enable or disable printing RGB refresh rate */ diff --git a/examples/LCD/SPI/SPI.ino b/examples/LCD/SPI/SPI.ino index 0831bfca..91582307 100644 --- a/examples/LCD/SPI/SPI.ino +++ b/examples/LCD/SPI/SPI.ino @@ -73,6 +73,8 @@ #define EXAMPLE_LCD_HEIGHT (240) #define EXAMPLE_LCD_COLOR_BITS (16) #define EXAMPLE_LCD_SPI_FREQ_HZ (40 * 1000 * 1000) +#define EXAMPLE_LCD_USE_EXTERNAL_CMD (0) +#if EXAMPLE_LCD_USE_EXTERNAL_CMD /** * LCD initialization commands. * @@ -87,17 +89,18 @@ * 2. Formater: ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(delay_ms, command, { data0, data1, ... }) and * ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(delay_ms, command) */ -// const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { -// {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, -// {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, -// {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, -// {0x29, (uint8_t []){0x00}, 0, 120}, -// // or -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), -// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), -// ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), -// }; +const esp_lcd_panel_vendor_init_cmd_t lcd_init_cmd[] = { + // {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, + // {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, + // {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, + // {0x29, (uint8_t []){0x00}, 0, 120}, + // // or + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), + // ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), + // ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), +}; +#endif //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////// Please update the following configuration according to your board spec //////////////////////////// @@ -107,8 +110,8 @@ #define EXAMPLE_LCD_PIN_NUM_SPI_SCK (7) #define EXAMPLE_LCD_PIN_NUM_SPI_SDA (6) #define EXAMPLE_LCD_PIN_NUM_SPI_SDO (-1) -#define EXAMPLE_LCD_PIN_NUM_RST (-1) -#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (45) +#define EXAMPLE_LCD_PIN_NUM_RST (-1) // Set to -1 if not used +#define EXAMPLE_LCD_PIN_NUM_BK_LIGHT (45) // Set to -1 if not used #define EXAMPLE_LCD_BK_LIGHT_ON_LEVEL (1) #define EXAMPLE_LCD_BK_LIGHT_OFF_LEVEL !EXAMPLE_LCD_BK_LIGHT_ON_LEVEL @@ -149,9 +152,12 @@ void setup() Serial.println("Create LCD device"); ESP_PanelLcd *lcd = new EXAMPLE_LCD_CLASS(EXAMPLE_LCD_NAME, panel_bus, EXAMPLE_LCD_COLOR_BITS, EXAMPLE_LCD_PIN_NUM_RST); +#if EXAMPLE_LCD_USE_EXTERNAL_CMD + // Configure external initialization commands, should called before `init()` + lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); +#endif lcd->init(); lcd->reset(); - // lcd->configVendorCommands(lcd_init_cmd, sizeof(lcd_init_cmd)/sizeof(lcd_init_cmd[0])); lcd->begin(); lcd->displayOn(); #if EXAMPLE_ENABLE_ATTACH_CALLBACK diff --git a/src/lcd/ESP_PanelLcd.cpp b/src/lcd/ESP_PanelLcd.cpp index 28e89fa6..04e6aaf1 100644 --- a/src/lcd/ESP_PanelLcd.cpp +++ b/src/lcd/ESP_PanelLcd.cpp @@ -276,14 +276,14 @@ bool ESP_PanelLcd::invertColor(bool en) bool ESP_PanelLcd::displayOn(void) { - ESP_PANEL_CHECK_ERR_RET(esp_lcd_panel_disp_off(handle, false), false, "Display on failed"); + ESP_PANEL_CHECK_ERR_RET(esp_lcd_panel_disp_on_off(handle, true), false, "Display on failed"); return true; } bool ESP_PanelLcd::displayOff(void) { - ESP_PANEL_CHECK_ERR_RET(esp_lcd_panel_disp_off(handle, true), false, "Display off failed"); + ESP_PANEL_CHECK_ERR_RET(esp_lcd_panel_disp_on_off(handle, false), false, "Display off failed"); return true; } From 568db1b11aec8d6f45e7bf0169a06b0ccedfec59 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Mon, 29 Jul 2024 19:29:59 +0800 Subject: [PATCH 11/20] feat(examples): update LCD - RGB --- CHANGELOG.md | 6 +++++- ESP_Panel_Board_Custom.h | 3 ++- examples/LCD/RGB/README.md | 12 ++++-------- examples/LCD/RGB/RGB.ino | 5 +++-- examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h | 3 ++- examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h | 3 ++- examples/Panel/PanelTest/ESP_Panel_Board_Custom.h | 3 ++- examples/PlatformIO/src/ESP_Panel_Board_Custom.h | 3 ++- .../SquareLine/v8/Porting/ESP_Panel_Board_Custom.h | 3 ++- .../SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h | 3 ++- library.properties | 2 +- src/ESP_PanelVersions.h | 2 +- 12 files changed, 28 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e8b9152b..c164f2e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # ChangeLog -## v0.1.6 - 2024-07-28 +## v0.1.6 - 2024-07-29 + +### Enhancements: + +* feat(board): add support for Fitipower EK9716B LCD controller for CrowPanel 7.0" board by @lboue (#78) ### Bugfixes: diff --git a/ESP_Panel_Board_Custom.h b/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/ESP_Panel_Board_Custom.h +++ b/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LCD/RGB/README.md b/examples/LCD/RGB/README.md index ad2dfd7a..e2277170 100644 --- a/examples/LCD/RGB/README.md +++ b/examples/LCD/RGB/README.md @@ -1,12 +1,8 @@ -| Supported ESP SoCs | -| ------------------ | -| ESP32-S3 | - -| Supported LCD Controllers | -| ------------------------- | -| EK9716B | -| ST7262 | +| Supported ESP SoCs | ESP32-S3 | +| ------------------ | -------- | +| Supported LCD Controllers | EK9716B | ST7262 | +| ------------------------- | ------- | ------ | # Single RGB LCD Example diff --git a/examples/LCD/RGB/RGB.ino b/examples/LCD/RGB/RGB.ino index e459febd..4de1af64 100644 --- a/examples/LCD/RGB/RGB.ino +++ b/examples/LCD/RGB/RGB.ino @@ -2,8 +2,8 @@ * | Supported ESP SoCs | ESP32-S3 | * | ------------------ | -------- | * - * | Supported LCD Controllers | ST7262 | - * | ------------------------- | ------ | + * | Supported LCD Controllers | EK9716B | ST7262 | + * | ------------------------- | ------- | ------ | * * # Single RGB LCD Example * @@ -47,6 +47,7 @@ /** * Currently, the library supports the following RGB (without 3-wire SPI) LCDs: * - ST7262 + * - EK9716B */ #define EXAMPLE_LCD_NAME ST7262 #define EXAMPLE_LCD_WIDTH (800) diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h index 985ef2a4..d842d0db 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h @@ -22,6 +22,7 @@ #if ESP_PANEL_USE_LCD /** * LCD Controller Name. Choose one of the following: + * - EK9716B * - GC9A01, GC9B71, GC9503 * - ILI9341 * - NV3022B @@ -375,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/library.properties b/library.properties index 2f8a775e..28fb124f 100644 --- a/library.properties +++ b/library.properties @@ -3,7 +3,7 @@ version=0.1.6 author=espressif maintainer=espressif sentence=ESP32_Display_Panel is an Arduino library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. -paragraph=Currently supported boards:ESP32-C3-LCDkit,ESP32-S3-BOX,ESP32-S3-BOX-3,ESP32-S3-BOX-3B,ESP32-S3-BOX-3(beta),ESP32-S3-BOX-Lite,ESP32-S3-EYE,ESP32-S3-Korvo-2,ESP32-S3-LCD-EV-Board,ESP32-S3-LCD-EV-Board-2,ESP32-S3-USB-OTG,M5STACK-M5CORE2,M5STACK-M5DIAL,M5STACK-M5CORES3,ESP32-4848S040C_I_Y_3. Currently supported devices: Bus,LCD,Touch,Backlight,IO expander. Currently supported Bus: I2C,SPI,QSPI,3-wire SPI + RGB. Currently supported LCD controllers: GC9A01,GC9B71,GC9503,ILI9341,NV3022B,ST7262,ST7701,ST7789,ST7796,ST77916,ST77922. Currently supported Touch controllers: CST816S,FT5x06,GT1151,GT911,ST7123,TT21100,XPT2046. +paragraph=Currently supported boards:ESP32-C3-LCDkit,ESP32-S3-BOX,ESP32-S3-BOX-3,ESP32-S3-BOX-3B,ESP32-S3-BOX-3(beta),ESP32-S3-BOX-Lite,ESP32-S3-EYE,ESP32-S3-Korvo-2,ESP32-S3-LCD-EV-Board,ESP32-S3-LCD-EV-Board-2,ESP32-S3-USB-OTG,M5STACK-M5CORE2,M5STACK-M5DIAL,M5STACK-M5CORES3,ESP32-4848S040C_I_Y_3. Currently supported devices: Bus,LCD,Touch,Backlight,IO expander. Currently supported Bus: I2C,SPI,QSPI,3-wire SPI + RGB. Currently supported LCD controllers: EK9716B,GC9A01,GC9B71,GC9503,ILI9341,NV3022B,ST7262,ST7701,ST7789,ST7796,ST77916,ST77922. Currently supported Touch controllers: CST816S,FT5x06,GT1151,GT911,ST7123,TT21100,XPT2046. category=Other architectures=esp32 url=https://github.com/esp-arduino-libs/ESP32_Display_Panel diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index a927598d..d2f71e98 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -21,7 +21,7 @@ /* File `ESP_Panel_Board_Custom.h` */ #define ESP_PANEL_BOARD_CUSTOM_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 4 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 5 /* File `ESP_Panel_Board_Supported.h` */ #define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0 From 92931141fb1681f7543e0fdc2eec5abc762fe346 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Tue, 30 Jul 2024 10:36:43 +0800 Subject: [PATCH 12/20] fix(conf): fix the issue that the 'ESP_PANEL_EXPANDER_HOST_ID' is not working properly --- CHANGELOG.md | 3 ++- ESP_Panel_Board_Custom.h | 6 +++--- examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h | 6 +++--- examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h | 6 +++--- examples/Panel/PanelTest/ESP_Panel_Board_Custom.h | 6 +++--- examples/PlatformIO/src/ESP_Panel_Board_Custom.h | 6 +++--- examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h | 6 +++--- examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h | 6 +++--- src/ESP_PanelVersions.h | 4 ++-- 9 files changed, 25 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c164f2e6..43380490 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # ChangeLog -## v0.1.6 - 2024-07-29 +## v0.1.6 - 2024-07-30 ### Enhancements: @@ -13,6 +13,7 @@ * fix(examples): fix WiFiClock wrong name `ScreenPassord` by @lboue (#82) * fix(examples): fix LCD using 'configVendorCommands' before 'init' * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) +* fix(conf): fix the issue that the `ESP_PANEL_EXPANDER_HOST_ID` flag is not working properly ## v0.1.5 - 2024-07-09 diff --git a/ESP_Panel_Board_Custom.h b/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/ESP_Panel_Board_Custom.h +++ b/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h index d842d0db..a9d49f4e 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h @@ -335,11 +335,11 @@ */ #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) // The actual I2C address. Even for the same model of IC, // the I2C address may be different, and confirmation based on // the actual hardware connection is required #if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST - #define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) // Typically set to 400K #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 @@ -375,8 +375,8 @@ * */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index d2f71e98..c4feab51 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -20,8 +20,8 @@ /* File `ESP_Panel_Board_Custom.h` */ #define ESP_PANEL_BOARD_CUSTOM_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 1 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 5 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 0 /* File `ESP_Panel_Board_Supported.h` */ #define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0 From 33ecea1ee3bed08dc67325e44250415637d9f9d8 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Tue, 30 Jul 2024 10:55:30 +0800 Subject: [PATCH 13/20] feat(docs): update CHANGELOG.md --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43380490..c4234128 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,9 +9,12 @@ ### Bugfixes: * fix(examples): fix `LVGL_PORT_ROTATION_DEGREE` issue by @lboue (#76) -* fix(examples): fix issue with I2C.ino EXAMPLE_TOUCH_ADDRESS missing as variable by @lboue (#84) +* fix(examples): fix issue with I2C.ino `EXAMPLE_TOUCH_ADDRESS` missing as variable by @lboue (#84) * fix(examples): fix WiFiClock wrong name `ScreenPassord` by @lboue (#82) -* fix(examples): fix LCD using 'configVendorCommands' before 'init' +* fix(examples): fix LCD using `configVendorCommands()` before `init()` +* fix(examples): fix `LV_USE_DEMO_WIDGETS` typo by @lboue (#98) +* fix(examples): fix `Tearing fucntion` typo by @lboue (#96) +* fix(examples): fix WiFiClock log HTTP error code to serial console by @lboue (#97) * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) * fix(conf): fix the issue that the `ESP_PANEL_EXPANDER_HOST_ID` flag is not working properly From ff4105c99b4aa7c6d5796e687d16c3f81f1af899 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Tue, 30 Jul 2024 10:58:28 +0800 Subject: [PATCH 14/20] fix(conf): fix 'LCD Venbdor' typo (#92) closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues/92 --- CHANGELOG.md | 1 + ESP_Panel_Board_Custom.h | 4 ++-- README_CN.md | 2 +- examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h | 4 ++-- examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h | 4 ++-- examples/Panel/PanelTest/ESP_Panel_Board_Custom.h | 4 ++-- examples/PlatformIO/src/ESP_Panel_Board_Custom.h | 4 ++-- examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h | 4 ++-- examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h | 4 ++-- src/ESP_PanelVersions.h | 2 +- src/board/elecrow/CROWPANEL_7_0.h | 2 +- src/board/espressif/ESP32_C3_LCDKIT.h | 2 +- src/board/espressif/ESP32_S3_BOX.h | 2 +- src/board/espressif/ESP32_S3_BOX_3.h | 2 +- src/board/espressif/ESP32_S3_BOX_3_BETA.h | 2 +- src/board/espressif/ESP32_S3_BOX_LITE.h | 2 +- src/board/espressif/ESP32_S3_EYE.h | 2 +- src/board/espressif/ESP32_S3_KORVO_2.h | 2 +- src/board/espressif/ESP32_S3_LCD_EV_BOARD.h | 2 +- src/board/espressif/ESP32_S3_LCD_EV_BOARD_2.h | 2 +- src/board/espressif/ESP32_S3_LCD_EV_BOARD_2_V1_5.h | 2 +- src/board/espressif/ESP32_S3_LCD_EV_BOARD_V1_5.h | 2 +- src/board/espressif/ESP32_S3_USB_OTG.h | 2 +- src/board/jingcai/ESP32_4848S040C_I_Y_3.h | 2 +- src/board/m5stack/M5CORE2.h | 2 +- src/board/m5stack/M5CORES3.h | 2 +- src/board/m5stack/M5DIAL.h | 2 +- 27 files changed, 34 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4234128..bf68e068 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ * fix(examples): fix WiFiClock log HTTP error code to serial console by @lboue (#97) * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) * fix(conf): fix the issue that the `ESP_PANEL_EXPANDER_HOST_ID` flag is not working properly +* fix(conf): fix `LCD Venbdor` typo (#92) ## v0.1.5 - 2024-07-09 diff --git a/ESP_Panel_Board_Custom.h b/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/ESP_Panel_Board_Custom.h +++ b/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/README_CN.md b/README_CN.md index f7767f50..5dfb4c1c 100644 --- a/README_CN.md +++ b/README_CN.md @@ -207,7 +207,7 @@ ESP32_Display_Panel 会根据 [ESP_Panel_Board_Custom.h](./ESP_Panel_Board_Custo #endif /* ESP_PANEL_LCD_BUS_TYPE */ ... /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h index a9d49f4e..93d34b61 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h @@ -165,7 +165,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver @@ -376,7 +376,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index c4feab51..25584c5b 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -21,7 +21,7 @@ /* File `ESP_Panel_Board_Custom.h` */ #define ESP_PANEL_BOARD_CUSTOM_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 0 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 1 /* File `ESP_Panel_Board_Supported.h` */ #define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0 diff --git a/src/board/elecrow/CROWPANEL_7_0.h b/src/board/elecrow/CROWPANEL_7_0.h index 7556fe11..98ff3f5e 100644 --- a/src/board/elecrow/CROWPANEL_7_0.h +++ b/src/board/elecrow/CROWPANEL_7_0.h @@ -85,7 +85,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_C3_LCDKIT.h b/src/board/espressif/ESP32_C3_LCDKIT.h index 80f7d16b..0d51a199 100644 --- a/src/board/espressif/ESP32_C3_LCDKIT.h +++ b/src/board/espressif/ESP32_C3_LCDKIT.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_BOX.h b/src/board/espressif/ESP32_S3_BOX.h index ae1c3c24..5142e3c0 100644 --- a/src/board/espressif/ESP32_S3_BOX.h +++ b/src/board/espressif/ESP32_S3_BOX.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_BOX_3.h b/src/board/espressif/ESP32_S3_BOX_3.h index 6ed9b54f..db765748 100644 --- a/src/board/espressif/ESP32_S3_BOX_3.h +++ b/src/board/espressif/ESP32_S3_BOX_3.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_BOX_3_BETA.h b/src/board/espressif/ESP32_S3_BOX_3_BETA.h index 84fa05c1..53f85005 100644 --- a/src/board/espressif/ESP32_S3_BOX_3_BETA.h +++ b/src/board/espressif/ESP32_S3_BOX_3_BETA.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_BOX_LITE.h b/src/board/espressif/ESP32_S3_BOX_LITE.h index b880d022..196a9ce0 100644 --- a/src/board/espressif/ESP32_S3_BOX_LITE.h +++ b/src/board/espressif/ESP32_S3_BOX_LITE.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_EYE.h b/src/board/espressif/ESP32_S3_EYE.h index be2e060d..e4065e61 100644 --- a/src/board/espressif/ESP32_S3_EYE.h +++ b/src/board/espressif/ESP32_S3_EYE.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_KORVO_2.h b/src/board/espressif/ESP32_S3_KORVO_2.h index a0d41b6c..000af5c2 100644 --- a/src/board/espressif/ESP32_S3_KORVO_2.h +++ b/src/board/espressif/ESP32_S3_KORVO_2.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_LCD_EV_BOARD.h b/src/board/espressif/ESP32_S3_LCD_EV_BOARD.h index 3f8a5ae1..16e933c7 100644 --- a/src/board/espressif/ESP32_S3_LCD_EV_BOARD.h +++ b/src/board/espressif/ESP32_S3_LCD_EV_BOARD.h @@ -101,7 +101,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2.h b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2.h index 1e39b2c4..ebe7cd3d 100644 --- a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2.h +++ b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2.h @@ -85,7 +85,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2_V1_5.h b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2_V1_5.h index 74351a62..83a43a2f 100644 --- a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2_V1_5.h +++ b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_2_V1_5.h @@ -85,7 +85,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_V1_5.h b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_V1_5.h index 47d3d069..fa0a2999 100644 --- a/src/board/espressif/ESP32_S3_LCD_EV_BOARD_V1_5.h +++ b/src/board/espressif/ESP32_S3_LCD_EV_BOARD_V1_5.h @@ -101,7 +101,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/espressif/ESP32_S3_USB_OTG.h b/src/board/espressif/ESP32_S3_USB_OTG.h index 0d89e16c..17398827 100644 --- a/src/board/espressif/ESP32_S3_USB_OTG.h +++ b/src/board/espressif/ESP32_S3_USB_OTG.h @@ -61,7 +61,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/jingcai/ESP32_4848S040C_I_Y_3.h b/src/board/jingcai/ESP32_4848S040C_I_Y_3.h index 02bc2323..f5e94acb 100644 --- a/src/board/jingcai/ESP32_4848S040C_I_Y_3.h +++ b/src/board/jingcai/ESP32_4848S040C_I_Y_3.h @@ -99,7 +99,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/m5stack/M5CORE2.h b/src/board/m5stack/M5CORE2.h index adc98cfa..b43b9b58 100644 --- a/src/board/m5stack/M5CORE2.h +++ b/src/board/m5stack/M5CORE2.h @@ -62,7 +62,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/m5stack/M5CORES3.h b/src/board/m5stack/M5CORES3.h index 06e4f6a5..a7981eac 100644 --- a/src/board/m5stack/M5CORES3.h +++ b/src/board/m5stack/M5CORES3.h @@ -65,7 +65,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver diff --git a/src/board/m5stack/M5DIAL.h b/src/board/m5stack/M5DIAL.h index 9463fff7..0c672c17 100644 --- a/src/board/m5stack/M5DIAL.h +++ b/src/board/m5stack/M5DIAL.h @@ -151,7 +151,7 @@ #endif /* ESP_PANEL_LCD_BUS_TYPE */ /** - * LCD Venbdor Initialization Commands. + * LCD Vendor Initialization Commands. * * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver From 1f8d12aab08337aebed2dec9229c3bfa76f82118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Wed, 31 Jul 2024 08:20:02 +0200 Subject: [PATCH 15/20] feat(board): add support for Waveshare ESP32-S3-Touch-LCD-4.3 board by @lboue (#99) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Waveshare ESP32-S3-Touch-LCD-4.3 board * Waveshare ESP32-S3-Touch-LCD-4.3 board * Update Board_Instructions.md * Update README.md * Update README_CN.md * Update Board_Instructions.md * Update library.properties * Update ESP_PanelVersions.h * BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 * Update ESP32_S3_Touch_LCD_4.3.h * Update Board_Instructions.md * Update ESP32_S3_Touch_LCD_4.3.h The RGB interface is used without the 3-wire SPI interface * Update ESP32_S3_Touch_LCD_4.3.h * Update ESP32_S3_Touch_LCD_4.3.h * Update ESP32_S3_Touch_LCD_4.3.h * Fix pre-commit CI check * ChangeLog v0.1.6 * Update ESP_PanelBoard.h * Bump minor version for `ESP_Panel_Board_Custom.h` & `ESP_Panel_Board_Supported.h` --------- Co-authored-by: Ludovic BOUÉ --- CHANGELOG.md | 1 + ESP_Panel_Board_Supported.h | 9 + README.md | 1 + README_CN.md | 1 + docs/Board_Instructions.md | 7 + .../v8/Porting/ESP_Panel_Board_Supported.h | 9 + .../v8/Rotation/ESP_Panel_Board_Supported.h | 9 + .../PanelTest/ESP_Panel_Board_Supported.h | 9 + .../src/ESP_Panel_Board_Supported.h | 9 + .../v8/Porting/ESP_Panel_Board_Supported.h | 9 + .../v8/WiFiClock/ESP_Panel_Board_Supported.h | 9 + src/ESP_PanelVersions.h | 2 +- src/board/ESP_PanelBoard.h | 7 +- src/board/waveshare/ESP32_S3_Touch_LCD_4.3.h | 271 ++++++++++++++++++ 14 files changed, 350 insertions(+), 3 deletions(-) create mode 100644 src/board/waveshare/ESP32_S3_Touch_LCD_4.3.h diff --git a/CHANGELOG.md b/CHANGELOG.md index bf68e068..07cd1968 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Enhancements: * feat(board): add support for Fitipower EK9716B LCD controller for CrowPanel 7.0" board by @lboue (#78) +* feat(board): add support for Waveshare ESP32-S3-Touch-LCD-4.3 by @lboue (#99) ### Bugfixes: diff --git a/ESP_Panel_Board_Supported.h b/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/ESP_Panel_Board_Supported.h +++ b/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/README.md b/README.md index 1e836ab5..e0755275 100644 --- a/README.md +++ b/README.md @@ -65,6 +65,7 @@ Below is a list of [supported development boards](docs/Board_Instructions.md): | [Espressif](docs/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-BOX, ESP32-S3-BOX-3, ESP32-S3-BOX-3B, ESP32-S3-BOX-3(beta), ESP32-S3-BOX-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG | | [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 | | [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 | +| [Waveshare](docs/Board_Instructions.md#waveshare) | ESP32-S3-Touch-LCD-4.3 | Developers and manufacturers are welcomed to contribute PRs to add more development boards. For detailed instructions, please refer to the [`Board Development Guide`](./docs/Board_Contribution_Guide.md). diff --git a/README_CN.md b/README_CN.md index 5dfb4c1c..48fb7112 100644 --- a/README_CN.md +++ b/README_CN.md @@ -65,6 +65,7 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性: | [Espressif](docs/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-BOX, ESP32-S3-BOX-3, ESP32-S3-BOX-3B, ESP32-S3-BOX-3(beta), ESP32-S3-BOX-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG | | [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 | | [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 | +| [Waveshare](docs/Board_Instructions.md#waveshare) | ESP32-S3-Touch-LCD-4.3 | 欢迎开发者和厂商贡献 PR 来添加更多的开发板,详细说明请参考 [`开发板贡献指南`](./docs/Board_Contribution_Guide_CN.md)。 diff --git a/docs/Board_Instructions.md b/docs/Board_Instructions.md index 05dcb8a6..beb745bf 100644 --- a/docs/Board_Instructions.md +++ b/docs/Board_Instructions.md @@ -38,6 +38,12 @@ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :--------------: | :----------------: | :----------------: | :-----------: | :------------------: | | [](https://www.displaysmodule.com/sale-41828962-experience-the-power-of-the-esp32-display-module-sku-esp32-4848s040c-i-y-3.html) | [ESP32-4848S040C_I_Y_3](http://pan.jczn1688.com/directlink/1/ESP32%20module/4.0inch_ESP32-4848S040.zip) | 3-wire SPI + RGB | ST7701 | 480x480 | I2C | GT911 | +## [Waveshare](https://www.waveshare.com/) + +| **Picture** | **Name** | **LCD Bus** | **LCD Controller** | **LCD resolution** | **Touch Bus** | **Touch Controller** | +| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------: | :--------------: | :----------------: | ------------------ | :-----------: | :------------------: | +| | [ESP32-S3-Touch-LCD-4.3](https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm) | RGB | ST7262 | 800x480 | I2C | GT911 | + ## Recommended Configurations in the Arduino IDE Below are recommended configurations for developing GUI applications on different development boards. These settings can be adjusted according to specific requirements, and users can navigate to the `Tools` menu in the Arduino IDE to configure the following settings. @@ -59,6 +65,7 @@ Below are recommended configurations for developing GUI applications on differen | M5STACK-M5CORES3 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Enabled | Default 4MB with spiffs | | ESP32-4848S040C_I_Y_3 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Disabled | 16M Flash (3MB) | | ElecrowCrowPanel 7.0" | ESP32S3 Dev Module | OPI | QIO 80MHz | 4MB | Disabled | Huge App (3MB) | +| Waveshare-ESP32-S3-Touch-LCD-4.3 | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Disabled | 8M with spiffs | **Notes:** diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h b/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Supported.h b/examples/PlatformIO/src/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Supported.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h index 33853e08..58d065c3 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h @@ -74,6 +74,15 @@ */ // #define BOARD_ESP32_4848S040C_I_Y_3 +/* + * Waveshare Supported Boards (https://www.waveshare.com/): + * + * - ESP32_S3_Touch_LCD_4_3: + * - https://www.waveshare.com/esp32-s3-touch-lcd-4.3.htm + * + */ +// #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index 25584c5b..e0b3ffff 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -56,7 +56,7 @@ !defined(ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR) && \ !defined(ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH) #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif // Check if the current configuration file version is compatible with the library version diff --git a/src/board/ESP_PanelBoard.h b/src/board/ESP_PanelBoard.h index 1ecb59b7..95a95de0 100644 --- a/src/board/ESP_PanelBoard.h +++ b/src/board/ESP_PanelBoard.h @@ -13,9 +13,9 @@ defined(BOARD_ESP32_S3_BOX_3_BETA) + defined(BOARD_ESP32_S3_BOX_LITE) + defined(BOARD_ESP32_S3_EYE) + \ defined(BOARD_ESP32_S3_KORVO_2) + defined(BOARD_ESP32_S3_LCD_EV_BOARD) + \ defined(BOARD_ESP32_S3_LCD_EV_BOARD_V1_5) + defined(BOARD_ESP32_S3_LCD_EV_BOARD_2) + \ - defined(BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5) + defined(BOARD_ESP32_S3_USB_OTG) + \ + defined(BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5) + defined(BOARD_ESP32_S3_USB_OTG) + defined(BOARD_ELECROW_CROWPANEL_7_0) \ defined(BOARD_M5STACK_M5CORE2) + defined(BOARD_M5STACK_M5DIAL) + defined(BOARD_M5STACK_M5CORES3) + \ - defined(BOARD_ESP32_4848S040C_I_Y_3) \ + defined(BOARD_ESP32_4848S040C_I_Y_3) + defined(BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3) \ > 1 #error "Multiple boards enabled! Please check file `ESP_Panel_Board_Supported.h` and make sure only one board is enabled." #endif @@ -59,6 +59,9 @@ /* Jingcai */ #elif defined(BOARD_ESP32_4848S040C_I_Y_3) || CONFIG_BOARD_ESP32_4848S040C_I_Y_3 #include "board/jingcai/ESP32_4848S040C_I_Y_3.h" +/* Waveshare */ +#elif defined(BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3) || CONFIG_BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 + #include "board/waveshare/ESP32_S3_Touch_LCD_4.3.h" #else #error "Unkonw board selected! Please check file `ESP_Panel_Board_Supported.h` and make sure only one board is enabled." #endif diff --git a/src/board/waveshare/ESP32_S3_Touch_LCD_4.3.h b/src/board/waveshare/ESP32_S3_Touch_LCD_4.3.h new file mode 100644 index 00000000..3b2f72c2 --- /dev/null +++ b/src/board/waveshare/ESP32_S3_Touch_LCD_4.3.h @@ -0,0 +1,271 @@ +/* + * SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD + * + * SPDX-License-Identifier: Apache-2.0 + */ + +#pragma once + +// *INDENT-OFF* + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////// 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 + */ +#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 (1) // 0/1 +/** + * LCD Bus Type. + */ +#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_RGB + + #define ESP_PANEL_LCD_RGB_CLK_HZ (16 * 1000 * 1000) + #define ESP_PANEL_LCD_RGB_HPW (4) + #define ESP_PANEL_LCD_RGB_HBP (8) + #define ESP_PANEL_LCD_RGB_HFP (8) + #define ESP_PANEL_LCD_RGB_VPW (4) + #define ESP_PANEL_LCD_RGB_VBP (8) + #define ESP_PANEL_LCD_RGB_VFP (8) + #define ESP_PANEL_LCD_RGB_PCLK_ACTIVE_NEG (1) // 0: rising edge, 1: falling edge + + // | 8-bit RGB888 | 16-bit RGB565 | + // |--------------|---------------| + #define ESP_PANEL_LCD_RGB_DATA_WIDTH (16) // | 8 | 16 | + #define ESP_PANEL_LCD_RGB_PIXEL_BITS (16) // | 24 | 16 | + #define ESP_PANEL_LCD_RGB_FRAME_BUF_NUM (1) // 1/2/3 + #define ESP_PANEL_LCD_RGB_BOUNCE_BUF_SIZE (ESP_PANEL_LCD_WIDTH * 10) // 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 + + // | RGB565 | RGB666 | RGB888 | + // |--------|--------|--------| + #define ESP_PANEL_LCD_RGB_IO_DATA0 (14) // | B0 | B0-1 | B0-3 | + #define ESP_PANEL_LCD_RGB_IO_DATA1 (38) // | B1 | B2 | B4 | + #define ESP_PANEL_LCD_RGB_IO_DATA2 (18) // | B2 | B3 | B5 | + #define ESP_PANEL_LCD_RGB_IO_DATA3 (17) // | B3 | B4 | B6 | + #define ESP_PANEL_LCD_RGB_IO_DATA4 (10) // | B4 | B5 | B7 | + #define ESP_PANEL_LCD_RGB_IO_DATA5 (39) // | G0 | G0 | G0-2 | + #define ESP_PANEL_LCD_RGB_IO_DATA6 (0) // | G1 | G1 | G3 | + #define ESP_PANEL_LCD_RGB_IO_DATA7 (45) // | G2 | G2 | G4 | +#if ESP_PANEL_LCD_RGB_DATA_WIDTH > 8 + #define ESP_PANEL_LCD_RGB_IO_DATA8 (48) // | G3 | G3 | G5 | + #define ESP_PANEL_LCD_RGB_IO_DATA9 (47) // | G4 | G4 | G6 | + #define ESP_PANEL_LCD_RGB_IO_DATA10 (21) // | G5 | G5 | G7 | + #define ESP_PANEL_LCD_RGB_IO_DATA11 (1) // | R0 | R0-1 | R0-3 | + #define ESP_PANEL_LCD_RGB_IO_DATA12 (2) // | R1 | R2 | R4 | + #define ESP_PANEL_LCD_RGB_IO_DATA13 (42) // | R2 | R3 | R5 | + #define ESP_PANEL_LCD_RGB_IO_DATA14 (41) // | R3 | R4 | R6 | + #define ESP_PANEL_LCD_RGB_IO_DATA15 (40) // | R4 | R5 | R7 | +#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 + +#endif /* ESP_PANEL_LCD_BUS_TYPE */ + +/** + * LCD Vendor Initialization Commands. + * + * Vendor specific initialization can be different between manufacturers, should consult the LCD supplier for + * initialization sequence code. Please uncomment and change the following macro definitions. Otherwise, the LCD driver + * will use the default initialization sequence code. + * + * There are two formats for the sequence code: + * 1. Raw data: {command, (uint8_t []){ data0, data1, ... }, data_size, delay_ms} + * 2. Formater: ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(delay_ms, command, { data0, data1, ... }) and + * ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(delay_ms, command) + */ +// #define ESP_PANEL_LCD_VENDOR_INIT_CMD \ +// { \ +// {0xFF, (uint8_t []){0x77, 0x01, 0x00, 0x00, 0x10}, 5, 0}, \ +// {0xC0, (uint8_t []){0x3B, 0x00}, 2, 0}, \ +// {0xC1, (uint8_t []){0x0D, 0x02}, 2, 0}, \ +// {0x29, (uint8_t []){0x00}, 0, 120}, \ +// or \ +// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xFF, {0x77, 0x01, 0x00, 0x00, 0x10}), \ +// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC0, {0x3B, 0x00}), \ +// ESP_PANEL_LCD_CMD_WITH_8BIT_PARAM(0, 0xC1, {0x0D, 0x02}), \ +// ESP_PANEL_LCD_CMD_WITH_NONE_PARAM(120, 0x29), \ +// } + +/* LCD Color Settings */ +/* LCD color depth in bits */ +#define ESP_PANEL_LCD_COLOR_BITS (18) // 8/16/18/24 +/* + * LCD RGB Element Order. Choose one of the following: + * - 0: RGB + * - 1: BGR + */ +#define ESP_PANEL_LCD_BGR_ORDER (0) // 0/1 +#define ESP_PANEL_LCD_INEVRT_COLOR (0) // 0/1 + +/* LCD Transformation Flags */ +#define ESP_PANEL_LCD_SWAP_XY (0) // 0/1 +#define ESP_PANEL_LCD_MIRROR_X (0) // 0/1 +#define ESP_PANEL_LCD_MIRROR_Y (0) // 0/1 + +/* LCD Other Settings */ +/* IO num of RESET pin, set to -1 if not use */ +#define ESP_PANEL_LCD_IO_RST (-1) +#define ESP_PANEL_LCD_RST_LEVEL (0) // 0: low level, 1: high level + +#endif /* ESP_PANEL_USE_LCD */ + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////////////// Please update the following macros to configure the touch panel /////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* Set to 1 when using an touch panel */ +#define ESP_PANEL_USE_TOUCH (1) // 0/1 +#if ESP_PANEL_USE_TOUCH +/** + * Touch controller name + */ +#define ESP_PANEL_TOUCH_NAME GT911 + +/* Touch resolution in pixels */ +#define ESP_PANEL_TOUCH_H_RES (ESP_PANEL_LCD_WIDTH) // Typically set to the same value as the width of LCD +#define ESP_PANEL_TOUCH_V_RES (ESP_PANEL_LCD_HEIGHT) // Typically set to the same value as the height of LCD + +/* Touch Panel 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_TOUCH_BUS_SKIP_INIT_HOST (0) // 0/1 +/** + * Touch panel bus type + */ +#define ESP_PANEL_TOUCH_BUS_TYPE (ESP_PANEL_BUS_TYPE_I2C) +/* Touch panel bus parameters */ +#if ESP_PANEL_TOUCH_BUS_TYPE == ESP_PANEL_BUS_TYPE_I2C + + #define ESP_PANEL_TOUCH_BUS_HOST_ID (0) // Typically set to 0 + #define ESP_PANEL_TOUCH_I2C_ADDRESS (0) // For GT911, there are two addresses: 0x5D(default) and 0x14 +#if !ESP_PANEL_TOUCH_BUS_SKIP_INIT_HOST + #define ESP_PANEL_TOUCH_I2C_CLK_HZ (400 * 1000) + // Typically set to 400K + #define ESP_PANEL_TOUCH_I2C_SCL_PULLUP (1) // 0/1 + #define ESP_PANEL_TOUCH_I2C_SDA_PULLUP (1) // 0/1 + #define ESP_PANEL_TOUCH_I2C_IO_SCL (9) + #define ESP_PANEL_TOUCH_I2C_IO_SDA (8) +#endif + +#endif /* ESP_PANEL_TOUCH_BUS_TYPE */ + +/* Touch Transformation Flags */ +#define ESP_PANEL_TOUCH_SWAP_XY (0) // 0/1 +#define ESP_PANEL_TOUCH_MIRROR_X (0) // 0/1 +#define ESP_PANEL_TOUCH_MIRROR_Y (0) // 0/1 + +/* Touch Other Settings */ +/* IO num of RESET pin, set to -1 if not use */ +#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_INT_LEVEL (0) // 0: low level, 1: high level + +#endif /* ESP_PANEL_USE_TOUCH */ + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////// Please update the following macros to configure the backlight //////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +#define ESP_PANEL_USE_BACKLIGHT (0) // 0/1 +#if ESP_PANEL_USE_BACKLIGHT +/* IO num of backlight pin */ +#define ESP_PANEL_BACKLIGHT_IO (-1) +#define ESP_PANEL_BACKLIGHT_ON_LEVEL (1) // 0: low level, 1: high level + +/* Set to 1 if turn off the backlight after initializing the panel; otherwise, set it to turn on */ +#define ESP_PANEL_BACKLIGHT_IDLE_OFF (0) // 0: on, 1: off + +/* Set to 1 if use PWM for brightness control */ +#define ESP_PANEL_LCD_BL_USE_PWM (0) // 0/1 +#endif /* ESP_PANEL_USE_BACKLIGHT */ + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////// Please update the following macros to configure the IO expander ////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/* Set to 0 if not using IO Expander */ +#define ESP_PANEL_USE_EXPANDER (1) // 0/1 +#if ESP_PANEL_USE_EXPANDER +/** + * IO expander name. + */ +#define ESP_PANEL_EXPANDER_NAME CH422G + +/* IO expander Settings */ +/** + * 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 +/* IO expander parameters */ +#define ESP_PANEL_EXPANDER_HOST_ID (0) // Typically set to 0 +#define ESP_PANEL_EXPANDER_I2C_ADDRESS (0x20) +#if !ESP_PANEL_EXPANDER_SKIP_INIT_HOST + #define ESP_PANEL_EXPANDER_I2C_CLK_HZ (400 * 1000) + // Typically set to 400K + #define ESP_PANEL_EXPANDER_I2C_SCL_PULLUP (1) // 0/1 + #define ESP_PANEL_EXPANDER_I2C_SDA_PULLUP (1) // 0/1 + #define ESP_PANEL_EXPANDER_I2C_IO_SCL (18) + #define ESP_PANEL_EXPANDER_I2C_IO_SDA (8) +#endif +#endif /* ESP_PANEL_USE_EXPANDER */ + +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +///////////////////////////// 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_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 ) + +// *INDENT-OFF* From bb48530a17b9e37812c3abfb2d31d301054409c6 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Wed, 31 Jul 2024 10:02:58 +0800 Subject: [PATCH 16/20] fix(examples): fix WiFiClock description closes https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues/95 --- CHANGELOG.md | 1 + examples/SquareLine/v8/WiFiClock/README.md | 4 +++- examples/SquareLine/v8/WiFiClock/WiFiClock.ino | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07cd1968..cbd9dc3f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * fix(examples): fix `LV_USE_DEMO_WIDGETS` typo by @lboue (#98) * fix(examples): fix `Tearing fucntion` typo by @lboue (#96) * fix(examples): fix WiFiClock log HTTP error code to serial console by @lboue (#97) +* fix(examples): fix WiFiClock description * fix(gt911): allow to set the GT911 touch device address by @lboue (#86) * fix(conf): fix the issue that the `ESP_PANEL_EXPANDER_HOST_ID` flag is not working properly * fix(conf): fix `LCD Venbdor` typo (#92) diff --git a/examples/SquareLine/v8/WiFiClock/README.md b/examples/SquareLine/v8/WiFiClock/README.md index b55aadb4..88ca9f57 100644 --- a/examples/SquareLine/v8/WiFiClock/README.md +++ b/examples/SquareLine/v8/WiFiClock/README.md @@ -1,6 +1,8 @@ # Squareline Simple Wi-Fi Clock Example -This example implements a simple Wi-Fi clock demo, which UI is created by Squareline Studio. And this example applies to LCDs with resolutions between *320x240* and *800x480*. +This example implements a simple Wi-Fi clock demo, which UI is created by Squareline Studio. + +This example can run on various LCD resolutions, but since the UI itself is designed based on a 320x240 resolution, it will look very uncoordinated if the actual resolution is too large. ## How to Use diff --git a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino index 686d963f..4cc6fb9f 100644 --- a/examples/SquareLine/v8/WiFiClock/WiFiClock.ino +++ b/examples/SquareLine/v8/WiFiClock/WiFiClock.ino @@ -1,7 +1,9 @@ /** * # Squareline Simple Wi-Fi Clock Example * - * This example implements a simple Wi-Fi clock demo, which UI is created by Squareline Studio. And this example applies to LCDs with resolutions between *320x240* and *800x480*. + * This example implements a simple Wi-Fi clock demo, which UI is created by Squareline Studio. + * + * This example can run on various LCD resolutions, but since the UI itself is designed based on a 320x240 resolution, it will look very uncoordinated if the actual resolution is too large. * * ## How to Use * From 3d1937db81350d0788d8e261693425deae145226 Mon Sep 17 00:00:00 2001 From: Liu Zhongwei Date: Wed, 31 Jul 2024 11:44:19 +0800 Subject: [PATCH 17/20] fix(version): correct version compare patch --- ESP_Panel_Board_Custom.h | 5 ++++- ESP_Panel_Board_Supported.h | 7 +++++-- ESP_Panel_Conf.h | 4 ++-- examples/LCD/3wireSPI_RGB/ESP_Panel_Conf.h | 4 ++-- examples/LCD/QSPI/ESP_Panel_Conf.h | 4 ++-- examples/LCD/RGB/ESP_Panel_Conf.h | 4 ++-- examples/LCD/SPI/ESP_Panel_Conf.h | 4 ++-- .../LVGL/v8/Porting/ESP_Panel_Board_Custom.h | 5 ++++- .../LVGL/v8/Porting/ESP_Panel_Board_Supported.h | 7 +++++-- examples/LVGL/v8/Porting/ESP_Panel_Conf.h | 4 ++-- .../LVGL/v8/Rotation/ESP_Panel_Board_Custom.h | 5 ++++- .../LVGL/v8/Rotation/ESP_Panel_Board_Supported.h | 7 +++++-- examples/LVGL/v8/Rotation/ESP_Panel_Conf.h | 4 ++-- .../Panel/PanelTest/ESP_Panel_Board_Custom.h | 5 ++++- .../Panel/PanelTest/ESP_Panel_Board_Supported.h | 7 +++++-- examples/Panel/PanelTest/ESP_Panel_Conf.h | 4 ++-- examples/PlatformIO/src/ESP_Panel_Board_Custom.h | 5 ++++- .../PlatformIO/src/ESP_Panel_Board_Supported.h | 7 +++++-- examples/PlatformIO/src/ESP_Panel_Conf.h | 4 ++-- .../v8/Porting/ESP_Panel_Board_Custom.h | 5 ++++- .../v8/Porting/ESP_Panel_Board_Supported.h | 7 +++++-- examples/SquareLine/v8/Porting/ESP_Panel_Conf.h | 4 ++-- .../v8/WiFiClock/ESP_Panel_Board_Custom.h | 5 ++++- .../v8/WiFiClock/ESP_Panel_Board_Supported.h | 7 +++++-- .../SquareLine/v8/WiFiClock/ESP_Panel_Conf.h | 4 ++-- examples/Touch/I2C/ESP_Panel_Conf.h | 4 ++-- examples/Touch/SPI/ESP_Panel_Conf.h | 4 ++-- src/ESP_PanelVersions.h | 16 ++++++++-------- 28 files changed, 97 insertions(+), 55 deletions(-) diff --git a/ESP_Panel_Board_Custom.h b/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/ESP_Panel_Board_Custom.h +++ b/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/ESP_Panel_Board_Supported.h b/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/ESP_Panel_Board_Supported.h +++ b/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/ESP_Panel_Conf.h b/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/ESP_Panel_Conf.h +++ b/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LCD/3wireSPI_RGB/ESP_Panel_Conf.h b/examples/LCD/3wireSPI_RGB/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LCD/3wireSPI_RGB/ESP_Panel_Conf.h +++ b/examples/LCD/3wireSPI_RGB/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LCD/QSPI/ESP_Panel_Conf.h b/examples/LCD/QSPI/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LCD/QSPI/ESP_Panel_Conf.h +++ b/examples/LCD/QSPI/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LCD/RGB/ESP_Panel_Conf.h b/examples/LCD/RGB/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LCD/RGB/ESP_Panel_Conf.h +++ b/examples/LCD/RGB/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LCD/SPI/ESP_Panel_Conf.h b/examples/LCD/SPI/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LCD/SPI/ESP_Panel_Conf.h +++ b/examples/LCD/SPI/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h b/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/LVGL/v8/Porting/ESP_Panel_Conf.h b/examples/LVGL/v8/Porting/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LVGL/v8/Porting/ESP_Panel_Conf.h +++ b/examples/LVGL/v8/Porting/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/LVGL/v8/Rotation/ESP_Panel_Conf.h b/examples/LVGL/v8/Rotation/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/LVGL/v8/Rotation/ESP_Panel_Conf.h +++ b/examples/LVGL/v8/Rotation/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h b/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h +++ b/examples/Panel/PanelTest/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/Panel/PanelTest/ESP_Panel_Conf.h b/examples/Panel/PanelTest/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/Panel/PanelTest/ESP_Panel_Conf.h +++ b/examples/Panel/PanelTest/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Custom.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/PlatformIO/src/ESP_Panel_Board_Supported.h b/examples/PlatformIO/src/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/PlatformIO/src/ESP_Panel_Board_Supported.h +++ b/examples/PlatformIO/src/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/PlatformIO/src/ESP_Panel_Conf.h b/examples/PlatformIO/src/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/PlatformIO/src/ESP_Panel_Conf.h +++ b/examples/PlatformIO/src/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/SquareLine/v8/Porting/ESP_Panel_Conf.h b/examples/SquareLine/v8/Porting/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/SquareLine/v8/Porting/ESP_Panel_Conf.h +++ b/examples/SquareLine/v8/Porting/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h index 93d34b61..5ed0f923 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Custom.h @@ -363,6 +363,9 @@ // #define ESP_PANEL_BEGIN_BACKLIGHT_END_FUNCTION( panel ) // #define ESP_PANEL_BEGIN_END_FUNCTION( panel ) +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: @@ -376,7 +379,7 @@ */ #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 2 #endif /* ESP_PANEL_USE_CUSTOM_BOARD */ diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h index 58d065c3..a1b8821c 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Board_Supported.h @@ -83,6 +83,9 @@ */ // #define BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3 +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +/////////////////////////////////////////////// File Version /////////////////////////////////////////////////////////// +//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with * the current version of `ESP_Panel_Board_Supported.h` in the library. The detailed rules are as follows: @@ -95,7 +98,7 @@ * */ #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif diff --git a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Conf.h b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/SquareLine/v8/WiFiClock/ESP_Panel_Conf.h +++ b/examples/SquareLine/v8/WiFiClock/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/Touch/I2C/ESP_Panel_Conf.h b/examples/Touch/I2C/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/Touch/I2C/ESP_Panel_Conf.h +++ b/examples/Touch/I2C/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/examples/Touch/SPI/ESP_Panel_Conf.h b/examples/Touch/SPI/ESP_Panel_Conf.h index e90f8ccd..d860e8e1 100644 --- a/examples/Touch/SPI/ESP_Panel_Conf.h +++ b/examples/Touch/SPI/ESP_Panel_Conf.h @@ -63,7 +63,7 @@ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /** * Do not change the following versions, they are used to check if the configurations in this file are compatible with - * the current version of `ESP_Panel_Board_Custom.h` in the library. The detailed rules are as follows: + * the current version of `ESP_Panel_Conf.h` in the library. The detailed rules are as follows: * * 1. If the major version is not consistent, then the configurations in this file are incompatible with the library * and must be replaced with the file from the library. @@ -74,4 +74,4 @@ */ #define ESP_PANEL_CONF_FILE_VERSION_MAJOR 0 #define ESP_PANEL_CONF_FILE_VERSION_MINOR 1 -#define ESP_PANEL_CONF_FILE_VERSION_PATCH 1 +#define ESP_PANEL_CONF_FILE_VERSION_PATCH 2 diff --git a/src/ESP_PanelVersions.h b/src/ESP_PanelVersions.h index e0b3ffff..d9ee68b6 100644 --- a/src/ESP_PanelVersions.h +++ b/src/ESP_PanelVersions.h @@ -16,17 +16,17 @@ /* File `ESP_Panel_Conf.h` */ #define ESP_PANEL_CONF_VERSION_MAJOR 0 #define ESP_PANEL_CONF_VERSION_MINOR 1 -#define ESP_PANEL_CONF_VERSION_PATCH 1 +#define ESP_PANEL_CONF_VERSION_PATCH 2 /* File `ESP_Panel_Board_Custom.h` */ #define ESP_PANEL_BOARD_CUSTOM_VERSION_MAJOR 0 #define ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH 2 /* File `ESP_Panel_Board_Supported.h` */ #define ESP_PANEL_BOARD_SUPPORTED_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR 2 -#define ESP_PANEL_BOARD_SUPPORTED_VERSION_PATCH 1 +#define ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR 3 +#define ESP_PANEL_BOARD_SUPPORTED_VERSION_PATCH 0 /* Check if the current configuration file version is compatible with the library version */ // File `ESP_Panel_Conf.h` @@ -43,7 +43,7 @@ #error "The file `ESP_Panel_Conf.h` version is not compatible. Please update it with the file from the library" #elif ESP_PANEL_CONF_FILE_VERSION_MINOR < ESP_PANEL_CONF_VERSION_MINOR #warning "The file `ESP_Panel_Conf.h` version is outdated. Some new configurations are missing" -#elif ESP_PANEL_CONF_FILE_VERSION_MINOR > ESP_PANEL_CONF_VERSION_MINOR +#elif ESP_PANEL_CONF_FILE_VERSION_PATCH > ESP_PANEL_VERSION_PATCH #warning "The file `ESP_Panel_Conf.h` version is newer than the library. Some new configurations are not supported" #endif /* ESP_PANEL_CONF_INCLUDE_INSIDE */ @@ -56,7 +56,7 @@ !defined(ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR) && \ !defined(ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH) #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0 -#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 2 +#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 1 #define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0 #endif // Check if the current configuration file version is compatible with the library version @@ -64,7 +64,7 @@ #error "The file `ESP_Panel_Board_Supported.h` version is not compatible. Please update it with the file from the library" #elif ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR < ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR #warning "The file `ESP_Panel_Board_Supported.h` version is outdated. Some new configurations are missing" -#elif ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR > ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR +#elif ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH > ESP_PANEL_BOARD_SUPPORTED_VERSION_MINOR #warning "The file `ESP_Panel_Board_Supported.h` version is newer than the library. Some new configurations are not supported" #endif @@ -83,7 +83,7 @@ #error "The file `ESP_Panel_Board_Custom.h` version is not compatible. Please update it with the file from the library" #elif ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR < ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR #warning "The file `ESP_Panel_Board_Custom.h` version is outdated. Some new configurations are missing" -#elif ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR > ESP_PANEL_BOARD_CUSTOM_VERSION_MINOR +#elif ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH > ESP_PANEL_BOARD_CUSTOM_VERSION_PATCH #warning "The file `ESP_Panel_Board_Custom.h` version is newer than the library. Some new configurations are not supported" #endif #endif /* CONFIG_ESP_PANEL_USE_SUPPORTED_BOARD || ESP_PANEL_USE_SUPPORTED_BOARD */ From 44db7fa69efb9a4ddddb39d2cca8f76f0850a1c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Wed, 31 Jul 2024 08:25:48 +0200 Subject: [PATCH 18/20] Update README.md Add CrowPanel 7.0" | --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0755275..f9bea462 100644 --- a/README.md +++ b/README.md @@ -63,6 +63,7 @@ Below is a list of [supported development boards](docs/Board_Instructions.md): | **Manufacturer** | **Board Model** | | --------------- | --------------- | | [Espressif](docs/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-BOX, ESP32-S3-BOX-3, ESP32-S3-BOX-3B, ESP32-S3-BOX-3(beta), ESP32-S3-BOX-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG | +| [Elecrow](docs/Board_Instructions.md#elecrow) | CrowPanel 7.0" | | [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 | | [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 | | [Waveshare](docs/Board_Instructions.md#waveshare) | ESP32-S3-Touch-LCD-4.3 | From c78286809aad0329bec27761f57fae6eebc0b81e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20BOU=C3=89?= Date: Wed, 31 Jul 2024 08:27:20 +0200 Subject: [PATCH 19/20] Update README_CN.md Add CrowPanel --- README_CN.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README_CN.md b/README_CN.md index 48fb7112..19e4b320 100644 --- a/README_CN.md +++ b/README_CN.md @@ -64,6 +64,7 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性: | -------- | -------------- | | [Espressif](docs/Board_Instructions.md#espressif) | ESP32-C3-LCDkit, ESP32-S3-BOX, ESP32-S3-BOX-3, ESP32-S3-BOX-3B, ESP32-S3-BOX-3(beta), ESP32-S3-BOX-Lite, ESP32-S3-EYE, ESP32-S3-Korvo-2, ESP32-S3-LCD-EV-Board, ESP32-S3-LCD-EV-Board-2, ESP32-S3-USB-OTG | | [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 | +| [Elecrow](docs/Board_Instructions.md#elecrow) | CrowPanel 7.0" | | [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 | | [Waveshare](docs/Board_Instructions.md#waveshare) | ESP32-S3-Touch-LCD-4.3 | From 75e57ad38e1b725f7406e5e381d404d2349bf0b9 Mon Sep 17 00:00:00 2001 From: GS GILL Date: Thu, 1 Aug 2024 02:21:57 +0530 Subject: [PATCH 20/20] Fixed Typo error that does not allow the code to compile when using supported boards --- src/board/ESP_PanelBoard.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/board/ESP_PanelBoard.h b/src/board/ESP_PanelBoard.h index 95a95de0..6ae99775 100644 --- a/src/board/ESP_PanelBoard.h +++ b/src/board/ESP_PanelBoard.h @@ -13,7 +13,7 @@ defined(BOARD_ESP32_S3_BOX_3_BETA) + defined(BOARD_ESP32_S3_BOX_LITE) + defined(BOARD_ESP32_S3_EYE) + \ defined(BOARD_ESP32_S3_KORVO_2) + defined(BOARD_ESP32_S3_LCD_EV_BOARD) + \ defined(BOARD_ESP32_S3_LCD_EV_BOARD_V1_5) + defined(BOARD_ESP32_S3_LCD_EV_BOARD_2) + \ - defined(BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5) + defined(BOARD_ESP32_S3_USB_OTG) + defined(BOARD_ELECROW_CROWPANEL_7_0) \ + defined(BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5) + defined(BOARD_ESP32_S3_USB_OTG) + defined(BOARD_ELECROW_CROWPANEL_7_0) + \ defined(BOARD_M5STACK_M5CORE2) + defined(BOARD_M5STACK_M5DIAL) + defined(BOARD_M5STACK_M5CORES3) + \ defined(BOARD_ESP32_4848S040C_I_Y_3) + defined(BOARD_WAVESHARE_ESP32_S3_Touch_LCD_4_3) \ > 1