diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 6ad99eda..7111ea9c 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -4,9 +4,6 @@ on: workflow_dispatch: pull_request: types: [opened, reopened, synchronize] - push: - branches: - - master jobs: pre-commit: diff --git a/README.md b/README.md index 51f7addd..1f63c5e7 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Arduino Lint](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml) [![pre-commit](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/pre-commit.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/pre-commit.yml) [![Version Consistency](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml) +[![Arduino Lint](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml) [![Version Consistency](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml) **Latest Arduino Library Version**: [![GitHub Release](https://img.shields.io/github/v/release/esp-arduino-libs/ESP32_Display_Panel)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/releases) @@ -50,9 +50,9 @@ Below is the list of [supported LCD controllers](docs/LCD_Controllers.md): | **Manufacturer** | **Model** | | ---------------- | --------- | -| Fitipower | EK9716B | +| Fitipower | EK9716B, EK79007 | | GalaxyCore | GC9A01, GC9B71, GC9503 | -| Ilitek | ILI9341 | +| Ilitek | ILI9341, ILI9881C | | NewVision | NV3022B | | Sitronix | ST7262, ST7701, ST7789, ST7796, ST77916, ST77922 | diff --git a/README_CN.md b/README_CN.md index 9cfd4395..682e99ce 100644 --- a/README_CN.md +++ b/README_CN.md @@ -1,4 +1,4 @@ -[![Arduino Lint](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml) [![pre-commit](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/pre-commit.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/pre-commit.yml) [![Version Consistency](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml) +[![Arduino Lint](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/arduino_lint.yml) [![Version Consistency](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml/badge.svg)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/actions/workflows/check_lib_versions.yml) **最新 Arduino 库版本**: [![GitHub Release](https://img.shields.io/github/v/release/esp-arduino-libs/ESP32_Display_Panel)](https://github.com/esp-arduino-libs/ESP32_Display_Panel/releases) @@ -50,9 +50,9 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性: | **厂商** | **型号** | | -------- | -------- | -| Fitipower | EK9716B | +| Fitipower | EK9716B, EK79007 | | GalaxyCore | GC9A01, GC9B71, GC9503 | -| Ilitek | ILI9341 | +| Ilitek | ILI9341, ILI9881C | | NewVision | NV3022B | | Sitronix | ST7262, ST7701, ST7789, ST7796, ST77916, ST77922 | diff --git a/docs/LCD_Controllers.md b/docs/LCD_Controllers.md index 0b306133..12fc333b 100644 --- a/docs/LCD_Controllers.md +++ b/docs/LCD_Controllers.md @@ -1,18 +1,20 @@ # LCD Controllers -| **Name** | **Version** | -| -------------------------------------------------------------------------------- | ----------- | -| [GC9A01](https://components.espressif.com/components/espressif/esp_lcd_gc9a01) | 2.0.0 | -| [GC9B71](https://components.espressif.com/components/espressif/esp_lcd_gc9b71) | 1.0.1 | -| [GC9503](https://components.espressif.com/components/espressif/esp_lcd_gc9503) | 3.0.1 | -| [ILI9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | 2.0.0 | -| [NV3022B](https://components.espressif.com/components/espressif/esp_lcd_nv3022b) | 0.0.1 | -| [SH8601](https://components.espressif.com/components/espressif/esp_lcd_sh8601) | 1.0.0 | -| [SPD2010](https://components.espressif.com/components/espressif/esp_lcd_spd2010) | 1.0.1 | -| ST7262 | - | -| [ST7701](https://components.espressif.com/components/espressif/esp_lcd_st7701) | 1.0.1 | -| ST7789 | - | -| [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 | - | +| **Name** | **Version** | +| ---------------------------------------------------------------------------------- | ----------- | +| EK9716B | - | +| [EK79007](https://components.espressif.com/components/espressif/esp_lcd_ek79007) | 1.0.0 | +| [GC9A01](https://components.espressif.com/components/espressif/esp_lcd_gc9a01) | 2.0.0 | +| [GC9B71](https://components.espressif.com/components/espressif/esp_lcd_gc9b71) | 1.0.1 | +| [GC9503](https://components.espressif.com/components/espressif/esp_lcd_gc9503) | 3.0.1 | +| [ILI9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | 2.0.0 | +| [ILI9881C](https://components.espressif.com/components/espressif/esp_lcd_ili9881c) | 1.0.0 | +| [NV3022B](https://components.espressif.com/components/espressif/esp_lcd_nv3022b) | 0.0.1 | +| [SH8601](https://components.espressif.com/components/espressif/esp_lcd_sh8601) | 1.0.0 | +| [SPD2010](https://components.espressif.com/components/espressif/esp_lcd_spd2010) | 1.0.1 | +| ST7262 | - | +| [ST7701](https://components.espressif.com/components/espressif/esp_lcd_st7701) | 1.0.1 | +| ST7789 | - | +| [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 | diff --git a/idf_component.yml b/idf_component.yml index e39a12ec..27fb31e5 100644 --- a/idf_component.yml +++ b/idf_component.yml @@ -1,5 +1,5 @@ version: "0.2.0" -description: ESP32_Display_Panel is an library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. +description: ESP32_Display_Panel is a library designed for ESP SoCs to drive display panels and facilitate rapid GUI development. url: https://github.com/esp-arduino-libs/ESP32_Display_Panel repository: https://github.com/esp-arduino-libs/ESP32_Display_Panel.git issues: https://github.com/esp-arduino-libs/ESP32_Display_Panel/issues diff --git a/library.properties b/library.properties index c8b92e57..c3cf1a04 100644 --- a/library.properties +++ b/library.properties @@ -2,8 +2,8 @@ name=ESP32_Display_Panel version=0.2.0 author=espressif maintainer=espressif -sentence=ESP32_Display_Panel is an 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,ESP32-P4-Function-EV-Board,M5STACK-M5CORE2,M5STACK-M5DIAL,M5STACK-M5CORES3,ESP32-4848S040C_I_Y_3,ESP32-S3-Touch-LCD-4.3,ESP32-S3-Touch-LCD-1.85,ESP32-S3-Touch-LCD-2.1. 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. +sentence=ESP32_Display_Panel is a 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,ESP32-P4-Function-EV-Board,M5STACK-M5CORE2,M5STACK-M5DIAL,M5STACK-M5CORES3,ESP32-4848S040C_I_Y_3,ESP32-S3-Touch-LCD-4.3,ESP32-S3-Touch-LCD-1.85,ESP32-S3-Touch-LCD-2.1. Currently supported devices: Bus,LCD,Touch,Backlight,IO expander. Currently supported Bus: I2C,SPI,QSPI,3-wire SPI + RGB,MIPI-DSI. Currently supported LCD controllers: EK9716B,EK79007,GC9A01,GC9B71,GC9503,ILI9341,ILI9881C,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/lcd/base/esp_lcd_ili9881c.c b/src/lcd/base/esp_lcd_ili9881c.c index bbcffb51..1260dad9 100644 --- a/src/lcd/base/esp_lcd_ili9881c.c +++ b/src/lcd/base/esp_lcd_ili9881c.c @@ -118,16 +118,6 @@ esp_err_t esp_lcd_new_panel_ili9881c(const esp_lcd_panel_io_handle_t io, const e break; } - // The ID register is on the CMD_Page 1 - uint8_t ID1, ID2, ID3; - esp_lcd_panel_io_tx_param(io, ILI9881C_CMD_CNDBKxSEL, (uint8_t[]) { - ILI9881C_CMD_BKxSEL_BYTE0, ILI9881C_CMD_BKxSEL_BYTE1, ILI9881C_CMD_BKxSEL_BYTE2_PAGE1 - }, 3); - esp_lcd_panel_io_rx_param(io, 0x00, &ID1, 1); - esp_lcd_panel_io_rx_param(io, 0x01, &ID2, 1); - esp_lcd_panel_io_rx_param(io, 0x02, &ID3, 1); - ESP_LOGI(TAG, "ID1: 0x%x, ID2: 0x%x, ID3: 0x%x", ID1, ID2, ID3); - ili9881c->io = io; ili9881c->init_cmds = vendor_config->init_cmds; ili9881c->init_cmds_size = vendor_config->init_cmds_size; @@ -389,6 +379,17 @@ static esp_err_t panel_ili9881c_init(esp_lcd_panel_t *panel) { ili9881c_panel_t *ili9881c = (ili9881c_panel_t *)panel->user_data; esp_lcd_panel_io_handle_t io = ili9881c->io; + + // The ID register is on the CMD_Page 1 + uint8_t ID1, ID2, ID3; + esp_lcd_panel_io_tx_param(io, ILI9881C_CMD_CNDBKxSEL, (uint8_t[]) { + ILI9881C_CMD_BKxSEL_BYTE0, ILI9881C_CMD_BKxSEL_BYTE1, ILI9881C_CMD_BKxSEL_BYTE2_PAGE1 + }, 3); + esp_lcd_panel_io_rx_param(io, 0x00, &ID1, 1); + esp_lcd_panel_io_rx_param(io, 0x01, &ID2, 1); + esp_lcd_panel_io_rx_param(io, 0x02, &ID3, 1); + ESP_LOGI(TAG, "ID1: 0x%x, ID2: 0x%x, ID3: 0x%x", ID1, ID2, ID3); + const esp_lcd_panel_vendor_init_cmd_t *init_cmds = NULL; uint16_t init_cmds_size = 0; uint8_t lane_command = ILI9881C_DSI_2_LANE;