Skip to content

Commit 6df9145

Browse files
committed
Merge branch 'feat/support_mipi_dsi_lcd' into 'master'
feat(bus & lcd): support MIPI-DSI LCD Closes #119 Closes #39 See merge request ae_group/ESP32_Display_Panel!2
2 parents fca144d + ab9ad35 commit 6df9145

File tree

204 files changed

+6129
-1333
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

204 files changed

+6129
-1333
lines changed

.build-rules.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ test_apps/lcd/qspi:
1515
disable:
1616
- if: SOC_GPSPI_SUPPORTED != 1
1717

18+
test_apps/lcd/mipi_dsi:
19+
disable:
20+
- if: SOC_MIPI_DSI_SUPPORTED != 1
21+
1822
test_apps/lcd/rgb:
1923
disable:
2024
- if: SOC_LCD_RGB_SUPPORTED != 1

.gitlab/ci/build.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@
4949
- IMAGE: espressif/idf:release-v5.1
5050
- IMAGE: espressif/idf:release-v5.2
5151
- IMAGE: espressif/idf:release-v5.3
52+
- IMAGE: espressif/idf:release-v5.4
53+
54+
.build_esp32_p4_idf_release_version:
55+
parallel:
56+
matrix:
57+
- IMAGE: espressif/idf:release-v5.3
58+
- IMAGE: espressif/idf:release-v5.4
5259

5360
# Test apps
5461
build_test_apps_lcd_3wire_spi_rgb:
@@ -59,6 +66,14 @@ build_test_apps_lcd_3wire_spi_rgb:
5966
variables:
6067
EXAMPLE_DIR: test_apps/lcd/3wire_spi_rgb
6168

69+
build_test_apps_lcd_mipi_dsi:
70+
extends:
71+
- .build_examples_template
72+
- .build_esp32_p4_idf_release_version
73+
- .rules:build:test_apps_lcd_mipi_dsi
74+
variables:
75+
EXAMPLE_DIR: test_apps/lcd/mipi_dsi
76+
6277
build_test_apps_lcd_qspi:
6378
extends:
6479
- .build_examples_template

.gitlab/ci/rules.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@
2626
.patterns-test_apps_lcd_3wire_spi_rgb: &patterns-test_apps_lcd_3wire_spi_rgb
2727
- "test_apps/lcd/3wire_spi_rgb/**/*"
2828

29+
.patterns-test_apps_lcd_mipi_dsi: &patterns-test_apps_lcd_mipi_dsi
30+
- "test_apps/lcd/mipi_dsi/**/*"
31+
2932
.patterns-test_apps_lcd_qspi: &patterns-test_apps_lcd_qspi
3033
- "test_apps/lcd/qspi/**/*"
3134

@@ -103,6 +106,19 @@
103106
- <<: *if-dev-push
104107
changes: *patterns-test_apps_lcd_3wire_spi_rgb
105108

109+
.rules:build:test_apps_lcd_mipi_dsi:
110+
rules:
111+
- <<: *if-protected
112+
- <<: *if-label-build
113+
- <<: *if-label-target_test
114+
- <<: *if-trigger-job
115+
- <<: *if-dev-push
116+
changes: *patterns-build_system
117+
- <<: *if-dev-push
118+
changes: *patterns-component
119+
- <<: *if-dev-push
120+
changes: *patterns-test_apps_lcd_mipi_dsi
121+
106122
.rules:build:test_apps_lcd_qspi:
107123
rules:
108124
- <<: *if-protected

CHANGELOG.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,36 @@
11
# ChangeLog
22

3-
## v0.1.9 - 2024-10-29
3+
## v0.2.0 - 2024-11-08
44

5-
* feat(board): add support for Waveshare ESP32-S3-Touch-LCD-2.1
5+
### Enhancements:
66

7-
## v0.1.8 - 2024-10-25
7+
* feat(repo): support build on the esp-idf
8+
* feat(bus & lcd): support MIPI-DSI LCD
9+
* feat(lcd): add LCD controller EK79007
10+
* feat(lcd): add LCD controller ILI9881C
11+
* feat(panel): add support for MIPI-DSI LCD
12+
* feat(board): add support for Waveshare ESP32-S3-Touch-LCD-2.1 @martinroger (#117)
13+
* feat(board): add support for Espressif ESP32-P4-Function-EV-Board
14+
* feat(examples): add MIPI-DSI LCD
15+
* feat(examples): optimize anti-tear rotation in lvgl_port_v8
16+
* feat(ci): update for MIPI-DSI LCD
17+
* feat(test_apps): add MIPI-DSI LCD
818

9-
* feat(board): add support for Waveshare ESP32-S3-Touch-LCD-1.85
19+
### Bugfixes:
1020

11-
### Enhancements:
21+
* fix(touch): release ISR semaphore when delete
1222

13-
## v0.1.7 - 2024-08-22
23+
## v0.1.8 - 2024-10-25
1424

1525
### Enhancements:
1626

27+
* feat(board): add support for Waveshare ESP32-S3-Touch-LCD-1.85 @martinroger (#115)
1728
* feat(docs): add additional information about screen drift issue
1829

30+
### Bugfixes:
31+
32+
* fix(examples): correct readme broken links
33+
1934
## v0.1.6 - 2024-07-30
2035

2136
### Enhancements:

ESP_Panel_Board_Custom.h

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,6 @@
110110
// |--------------|---------------|
111111
#define ESP_PANEL_LCD_RGB_DATA_WIDTH (16) // | 8 | 16 |
112112
#define ESP_PANEL_LCD_RGB_PIXEL_BITS (16) // | 24 | 16 |
113-
114-
#define ESP_PANEL_LCD_RGB_FRAME_BUF_NUM (1) // 1/2/3
115113
#define ESP_PANEL_LCD_RGB_BOUNCE_BUF_SIZE (0) // Bounce buffer size in bytes. This function is used to avoid screen drift.
116114
// To enable the bounce buffer, set it to a non-zero value. Typically set to `ESP_PANEL_LCD_WIDTH * 10`
117115
// The size of the Bounce Buffer must satisfy `width_of_lcd * height_of_lcd = size_of_buffer * N`,
@@ -121,7 +119,6 @@
121119
#define ESP_PANEL_LCD_RGB_IO_DE (17) // -1 if not used
122120
#define ESP_PANEL_LCD_RGB_IO_PCLK (9)
123121
#define ESP_PANEL_LCD_RGB_IO_DISP (-1) // -1 if not used
124-
125122
// | RGB565 | RGB666 | RGB888 |
126123
// |--------|--------|--------|
127124
#define ESP_PANEL_LCD_RGB_IO_DATA0 (10) // | B0 | B0-1 | B0-3 |
@@ -158,6 +155,22 @@
158155
// The `mirror()` function will be implemented by LCD command if set to 1.
159156
#endif
160157

158+
#elif ESP_PANEL_LCD_BUS_TYPE == ESP_PANEL_BUS_TYPE_MIPI_DSI
159+
160+
#define ESP_PANEL_LCD_MIPI_DSI_LANE_NUM (2) // ESP32-P4 supports 1 or 2 lanes
161+
#define ESP_PANEL_LCD_MIPI_DSI_LANE_RATE_MBPS (1000) // Single lane bit rate, should consult the LCD supplier or check the
162+
// LCD drive IC datasheet for the supported lane rate.
163+
// ESP32-P4 supports max 1500Mbps
164+
#define ESP_PANEL_LCD_MIPI_DSI_PHY_LDO_ID (3) // -1 if not used
165+
#define ESP_PANEL_LCD_MIPI_DPI_CLK_MHZ (52)
166+
#define ESP_PANEL_LCD_MIPI_DPI_PIXEL_BITS (ESP_PANEL_LCD_RGB565_COLOR_BITS_16)
167+
#define ESP_PANEL_LCD_MIPI_DSI_HPW (10)
168+
#define ESP_PANEL_LCD_MIPI_DSI_HBP (160)
169+
#define ESP_PANEL_LCD_MIPI_DSI_HFP (160)
170+
#define ESP_PANEL_LCD_MIPI_DSI_VPW (1)
171+
#define ESP_PANEL_LCD_MIPI_DSI_VBP (23)
172+
#define ESP_PANEL_LCD_MIPI_DSI_VFP (12)
173+
161174
#else
162175

163176
#error "The function is not ready and will be implemented in the future."
@@ -380,8 +393,8 @@
380393
*
381394
*/
382395
#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MAJOR 0
383-
#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 2
384-
#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 3
396+
#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_MINOR 3
397+
#define ESP_PANEL_BOARD_CUSTOM_FILE_VERSION_PATCH 0
385398

386399
#endif /* ESP_PANEL_USE_CUSTOM_BOARD */
387400

ESP_Panel_Board_Supported.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
* - BOARD_ESP32_S3_LCD_EV_BOARD_2 (ESP32-S3-LCD-EV-Board-2(v1.1-v1.4))): https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-lcd-ev-board/user_guide_v1.4.html
3232
* - BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5 (ESP32-S3-LCD-EV-Board-2(v1.5)): https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-lcd-ev-board/user_guide.html
3333
* - BOARD_ESP32_S3_USB_OTG (ESP32-S3-USB-OTG): https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-otg/index.html
34+
* - BOARD_ESP32_P4_FUNCTION_EV_BOARD (ESP32-P4-Function-EV-Board): https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html
3435
*
3536
*/
3637
// #define BOARD_ESP32_C3_LCDKIT
@@ -45,6 +46,7 @@
4546
// #define BOARD_ESP32_S3_LCD_EV_BOARD_2
4647
// #define BOARD_ESP32_S3_LCD_EV_BOARD_2_V1_5
4748
// #define BOARD_ESP32_S3_USB_OTG
49+
// #define BOARD_ESP32_P4_FUNCTION_EV_BOARD
4850

4951
/*
5052
* Elecrow (https://www.elecrow.com):
@@ -101,7 +103,7 @@
101103
*
102104
*/
103105
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MAJOR 0
104-
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 5
105-
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 1
106+
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_MINOR 6
107+
#define ESP_PANEL_BOARD_SUPPORTED_FILE_VERSION_PATCH 0
106108

107109
#endif

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Below is the list of [supported development boards](docs/Board_Instructions.md):
3636

3737
| **Manufacturer** | **Board Model** |
3838
| ---------------- | --------------- |
39-
| [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 |
39+
| [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, ESP32-P4-Function-EV-Board |
4040
| [Elecrow](docs/Board_Instructions.md#elecrow) | CrowPanel 7.0" |
4141
| [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 |
4242
| [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 |

README_CN.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ ESP32_Display_Panel 的功能框图如下所示,主要包含以下特性:
3636

3737
| **厂商** | **开发板型号** |
3838
| -------- | -------------- |
39-
| [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 |
39+
| [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, ESP32-P4-Function-EV-Board |
4040
| [M5Stack](docs/Board_Instructions.md#m5stack) | M5STACK-M5CORE2, M5STACK-M5DIAL, M5STACK-M5CORES3 |
4141
| [Elecrow](docs/Board_Instructions.md#elecrow) | CrowPanel 7.0" |
4242
| [Jingcai](docs/Board_Instructions.md#shenzhen-jingcai-intelligent) | ESP32-4848S040C_I_Y_3 |

docs/Board_Contribution_Guide.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Board Contribution Guide
22

3+
* [中文版本](./Board_Contribution_Guide_CN.md)
4+
5+
## Table of Contents
6+
7+
- [Board Contribution Guide](#board-contribution-guide)
8+
- [Table of Contents](#table-of-contents)
9+
- [Contribution Guidelines](#contribution-guidelines)
10+
- [File Modifications](#file-modifications)
11+
- [Adaptation Process](#adaptation-process)
12+
313
## Contribution Guidelines
414

515
1. The development board must at least ensure its hardware schematic is open-source, providing a link or file for reference.

docs/Board_Contribution_Guide_CN.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# 开发板贡献指南
22

3+
* [English Version](./Board_Contribution_Guide.md)
4+
5+
## 目录
6+
7+
- [开发板贡献指南](#开发板贡献指南)
8+
- [目录](#目录)
9+
- [贡献说明](#贡献说明)
10+
- [文件修改](#文件修改)
11+
- [适配流程](#适配流程)
12+
313
## 贡献说明
414

515
1. 开发板至少需要确保其硬件原理图开源,并提供链接或文件。

docs/Board_Instructions.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
| <img src="https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/ESP32-S3-LCD-EV-Board_480x480.png" width="150"> | [ESP32-S3-LCD-EV-Board](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-lcd-ev-board/index.html) | 3-wire SPI + RGB | GC9503 | 480x480 | I2C | FT5x06 |
1717
| <img src="https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/ESP32-S3-LCD-EV-Board_800x480.png" width="150"> | [ESP32-S3-LCD-EV-Board-2](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-lcd-ev-board/index.html) | RGB | ST7262E43 | 800x480 | I2C | GT1151 |
1818
| <img src="https://docs.espressif.com/projects/esp-dev-kits/en/latest/_images/pic_product_esp32_s3_otg.png" width="150"> | [ESP32-S3-USB-OTG](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32s3/esp32-s3-usb-otg/index.html) | SPI | ST7789 | 240x240 | - | - |
19+
| <img src="https://www.espressif.com/sites/default/files/dev-board/ESP32-P4-Function-EV-Board_L_2.png" width="150"> | [ESP32-P4-Function-EV-Board](https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32p4/esp32-p4-function-ev-board/index.html) | MIPI-DSI | EK79007 | 1024x600 | I2C | GT911 |
1920

2021
### [Elecrow](https://www.elecrow.com/)
2122

@@ -62,6 +63,7 @@ Below are recommended configurations for developing GUI applications on differen
6263
| ESP32-S3-LCD-EV-Board | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | **See Note 1** | 16M Flash (3MB) |
6364
| ESP32-S3-LCD-EV-Board-2 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | **See Note 1** | 16M Flash (3MB) |
6465
| ESP32-S3-USB-OTG | ESP32-S3-USB-OTG | - | - | - | - | 8M with spiffs |
66+
| ESP32-P4-Function-EV-Board | ESP32P4 Dev Module | Enabled | QIO | 16MB | Disabled | 16M Flash (3MB) |
6567
| M5STACK-M5CORE2 | M5Stack-Core2 | Enabled | - | - | - | Default |
6668
| M5STACK-M5DIAL | ESP32S3 Dev Module | OPI | QIO 80MHz | 8MB | Disabled | Default |
6769
| M5STACK-M5CORES3 | ESP32S3 Dev Module | OPI | QIO 80MHz | 16MB | Enabled | Default 4MB with spiffs |

docs/FAQ.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# FAQ
22

3+
* [中文版本](./FAQ_CN.md)
4+
5+
## Table of Contents
6+
7+
- [FAQ](#faq)
8+
- [Table of Contents](#table-of-contents)
9+
- [Where is the directory for Arduino libraries?](#where-is-the-directory-for-arduino-libraries)
10+
- [How to Install ESP32\_Display\_Panel in Arduino IDE?](#how-to-install-esp32_display_panel-in-arduino-ide)
11+
- [Where are the installation directory for arduino-esp32 and the SDK located?](#where-are-the-installation-directory-for-arduino-esp32-and-the-sdk-located)
12+
- [How to fix screen drift issue when driving RGB LCD with ESP32-S3?](#how-to-fix-screen-drift-issue-when-driving-rgb-lcd-with-esp32-s3)
13+
- [How to Use ESP32\_Display\_Panel on PlatformIO?](#how-to-use-esp32_display_panel-on-platformio)
14+
315
## Where is the directory for Arduino libraries?
416

517
You can find and modify the directory path for Arduino libraries by selecting `File` > `Preferences` > `Settings` > `Sketchbook location` from the menu bar in the Arduino IDE.

docs/FAQ_CN.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# 常见问题解答
22

3+
* [English Version](./FAQ.md)
4+
5+
## 目录
6+
7+
- [常见问题解答](#常见问题解答)
8+
- [目录](#目录)
9+
- [Arduino 库的目录在哪儿?](#arduino-库的目录在哪儿)
10+
- [如何在 Arduino IDE 中安装 ESP32\_Display\_Panel?](#如何在-arduino-ide-中安装-esp32_display_panel)
11+
- [arduino-eps32 的安装目录以及 SDK 的目录在哪儿?](#arduino-eps32-的安装目录以及-sdk-的目录在哪儿)
12+
- [使用 ESP32-S3 驱动 RGB LCD 时出现画面漂移问题的解决方案](#使用-esp32-s3-驱动-rgb-lcd-时出现画面漂移问题的解决方案)
13+
- [如何在 PlatformIO 上使用 ESP32\_Display\_Panel?](#如何在-platformio-上使用-esp32_display_panel)
14+
315
## Arduino 库的目录在哪儿?
416

517
您可以在 Arduino IDE 的菜单栏中选择 `File` > `Preferences` > `Settings` > `Sketchbook location` 来查找和修改 Arduino 库的目录路径。

0 commit comments

Comments
 (0)