Skip to content

Commit e5a4866

Browse files
committed
Merge branch 'feat/update_lcd_components' into 'master'
feat(lcd): Add LCD component support for S31 and introduce new LCD component See merge request ae_group/esp-iot-solution!1578
2 parents 3eaed72 + 754ed7f commit e5a4866

149 files changed

Lines changed: 4023 additions & 112 deletions

File tree

Some content is hidden

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

.gitlab/ci/build.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1151,6 +1151,14 @@ build_components_display_lcd_esp_lcd_gc9d01_test_apps:
11511151
variables:
11521152
EXAMPLE_DIR: components/display/lcd/esp_lcd_gc9d01/test_apps
11531153

1154+
build_components_display_lcd_esp_lcd_gc9503_mipi_test_apps:
1155+
extends:
1156+
- .build_examples_template
1157+
- .rules:build:components_display_lcd_esp_lcd_gc9503_mipi_test_apps
1158+
- .build_idf_ge_than_v5_3
1159+
variables:
1160+
EXAMPLE_DIR: components/display/lcd/esp_lcd_gc9503_mipi/test_apps
1161+
11541162
build_components_display_lcd_esp_lcd_hx8399_test_apps:
11551163
extends:
11561164
- .build_examples_template
@@ -1255,6 +1263,14 @@ build_components_display_lcd_esp_lcd_st77922_test_apps:
12551263
variables:
12561264
EXAMPLE_DIR: components/display/lcd/esp_lcd_st77922/test_apps
12571265

1266+
build_components_display_lcd_esp_lcd_st77926_test_apps:
1267+
extends:
1268+
- .build_examples_template
1269+
- .rules:build:components_display_lcd_esp_lcd_st77926_test_apps
1270+
- .build_idf_ge_than_v5_4
1271+
variables:
1272+
EXAMPLE_DIR: components/display/lcd/esp_lcd_st77926/test_apps
1273+
12581274
build_components_display_lcd_esp_lcd_usb_display_test_apps:
12591275
extends:
12601276
- .build_examples_template
@@ -1263,6 +1279,14 @@ build_components_display_lcd_esp_lcd_usb_display_test_apps:
12631279
variables:
12641280
EXAMPLE_DIR: components/display/lcd/esp_lcd_usb_display/test_apps
12651281

1282+
build_components_display_lcd_touch_esp_lcd_touch_ft6336u_test_apps:
1283+
extends:
1284+
- .build_examples_template
1285+
- .rules:build:components_display_lcd_touch_esp_lcd_touch_ft6336u_test_apps
1286+
- .build_idf_ge_than_v5_4
1287+
variables:
1288+
EXAMPLE_DIR: components/display/lcd_touch/esp_lcd_touch_ft6336u/test_apps
1289+
12661290
build_components_display_lcd_touch_esp_lcd_touch_ili2118_test_apps:
12671291
extends:
12681292
- .build_examples_template
@@ -1287,6 +1311,14 @@ build_components_display_lcd_touch_esp_lcd_touch_st7123_test_apps:
12871311
variables:
12881312
EXAMPLE_DIR: components/display/lcd_touch/esp_lcd_touch_st7123/test_apps
12891313

1314+
build_components_display_lcd_touch_esp_lcd_touch_st77926_test_apps:
1315+
extends:
1316+
- .build_examples_template
1317+
- .rules:build:components_display_lcd_touch_esp_lcd_touch_st77926_test_apps
1318+
- .build_idf_ge_than_v5_3
1319+
variables:
1320+
EXAMPLE_DIR: components/display/lcd_touch/esp_lcd_touch_st77926/test_apps
1321+
12901322
build_components_display_tools_esp_lv_decoder_test_apps:
12911323
extends:
12921324
- .build_examples_template

.gitlab/ci/rules.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
.patterns-components_display_lcd_esp_lcd_gc9d01: &patterns-components_display_lcd_esp_lcd_gc9d01
121121
- "components/display/lcd/esp_lcd_gc9d01/**/*"
122122

123+
.patterns-components_display_lcd_esp_lcd_gc9503_mipi: &patterns-components_display_lcd_esp_lcd_gc9503_mipi
124+
- "components/display/lcd/esp_lcd_gc9503_mipi/**/*"
125+
123126
.patterns-components_display_lcd_esp_lcd_hx8399: &patterns-components_display_lcd_esp_lcd_hx8399
124127
- "components/display/lcd/esp_lcd_hx8399/**/*"
125128

@@ -159,9 +162,15 @@
159162
.patterns-components_display_lcd_esp_lcd_st77922: &patterns-components_display_lcd_esp_lcd_st77922
160163
- "components/display/lcd/esp_lcd_st77922/**/*"
161164

165+
.patterns-components_display_lcd_esp_lcd_st77926: &patterns-components_display_lcd_esp_lcd_st77926
166+
- "components/display/lcd/esp_lcd_st77926/**/*"
167+
162168
.patterns-components_display_lcd_esp_lcd_usb_display: &patterns-components_display_lcd_esp_lcd_usb_display
163169
- "components/display/lcd/esp_lcd_usb_display/**/*"
164170

171+
.patterns-components_display_lcd_touch_esp_lcd_touch_ft6336u: &patterns-components_display_lcd_touch_esp_lcd_touch_ft6336u
172+
- "components/display/lcd_touch/esp_lcd_touch_ft6336u/**/*"
173+
165174
.patterns-components_display_lcd_touch_esp_lcd_touch_ili2118: &patterns-components_display_lcd_touch_esp_lcd_touch_ili2118
166175
- "components/display/lcd_touch/esp_lcd_touch_ili2118/**/*"
167176

@@ -171,6 +180,9 @@
171180
.patterns-components_display_lcd_touch_esp_lcd_touch_st7123: &patterns-components_display_lcd_touch_esp_lcd_touch_st7123
172181
- "components/display/lcd_touch/esp_lcd_touch_st7123/**/*"
173182

183+
.patterns-components_display_lcd_touch_esp_lcd_touch_st77926: &patterns-components_display_lcd_touch_esp_lcd_touch_st77926
184+
- "components/display/lcd_touch/esp_lcd_touch_st77926/**/*"
185+
174186
.patterns-components_display_tools_esp_lv_decoder: &patterns-components_display_tools_esp_lv_decoder
175187
- "components/display/tools/esp_lv_decoder/**/*"
176188
- "tools/cmake_utilities/package_manager.cmake"
@@ -2511,6 +2523,17 @@
25112523
- <<: *if-dev-push
25122524
changes: *patterns-components_display_lcd_esp_lcd_gc9d01
25132525

2526+
.rules:build:components_display_lcd_esp_lcd_gc9503_mipi_test_apps:
2527+
rules:
2528+
- <<: *if-protected
2529+
- <<: *if-label-build
2530+
- <<: *if-label-target_test
2531+
- <<: *if-trigger-job
2532+
- <<: *if-dev-push
2533+
changes: *patterns-build_system
2534+
- <<: *if-dev-push
2535+
changes: *patterns-components_display_lcd_esp_lcd_gc9503_mipi
2536+
25142537
.rules:build:components_display_lcd_esp_lcd_hx8399_test_apps:
25152538
rules:
25162539
- <<: *if-protected
@@ -2654,6 +2677,16 @@
26542677
- <<: *if-dev-push
26552678
changes: *patterns-components_display_lcd_esp_lcd_st77922
26562679

2680+
.rules:build:components_display_lcd_esp_lcd_st77926_test_apps:
2681+
rules:
2682+
- <<: *if-protected
2683+
- <<: *if-label-build
2684+
- <<: *if-trigger-job
2685+
- <<: *if-dev-push
2686+
changes: *patterns-build_system
2687+
- <<: *if-dev-push
2688+
changes: *patterns-components_display_lcd_esp_lcd_st77926
2689+
26572690
.rules:build:components_display_lcd_esp_lcd_usb_display_test_apps:
26582691
rules:
26592692
- <<: *if-protected
@@ -2665,6 +2698,16 @@
26652698
- <<: *if-dev-push
26662699
changes: *patterns-components_display_lcd_esp_lcd_usb_display
26672700

2701+
.rules:build:components_display_lcd_touch_esp_lcd_touch_ft6336u_test_apps:
2702+
rules:
2703+
- <<: *if-protected
2704+
- <<: *if-label-build
2705+
- <<: *if-trigger-job
2706+
- <<: *if-dev-push
2707+
changes: *patterns-build_system
2708+
- <<: *if-dev-push
2709+
changes: *patterns-components_display_lcd_touch_esp_lcd_touch_ft6336u
2710+
26682711
.rules:build:components_display_lcd_touch_esp_lcd_touch_ili2118_test_apps:
26692712
rules:
26702713
- <<: *if-protected
@@ -2698,6 +2741,16 @@
26982741
- <<: *if-dev-push
26992742
changes: *patterns-components_display_lcd_touch_esp_lcd_touch_st7123
27002743

2744+
.rules:build:components_display_lcd_touch_esp_lcd_touch_st77926_test_apps:
2745+
rules:
2746+
- <<: *if-protected
2747+
- <<: *if-label-build
2748+
- <<: *if-trigger-job
2749+
- <<: *if-dev-push
2750+
changes: *patterns-build_system
2751+
- <<: *if-dev-push
2752+
changes: *patterns-components_display_lcd_touch_esp_lcd_touch_st77926
2753+
27012754
.rules:build:components_display_tools_esp_lv_decoder_test_apps:
27022755
rules:
27032756
- <<: *if-protected

.gitlab/ci/target_test.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -662,6 +662,7 @@ components_test_esp_lcd_st77922:
662662
TEST_FOLDER: components/display/lcd/esp_lcd_st77922
663663
TEST_ENV: esp32_s3_lcd_ev_board
664664

665+
665666
components_led_lightbulb_driver_test:
666667
extends:
667668
- .pytest_template

components/.build-rules.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ components/display/lcd/esp_lcd_gc9d01/test_apps:
171171
enable:
172172
- if: INCLUDE_DEFAULT == 1
173173

174+
components/display/lcd/esp_lcd_gc9503_mipi/test_apps:
175+
enable:
176+
- if: IDF_TARGET in ["esp32p4"]
177+
174178
components/display/lcd/esp_lcd_er88577/test_apps:
175179
enable:
176180
- if: IDF_TARGET in ["esp32p4"]
@@ -227,10 +231,18 @@ components/display/lcd/esp_lcd_st77922/test_apps:
227231
enable:
228232
- if: INCLUDE_DEFAULT == 1
229233

234+
components/display/lcd/esp_lcd_st77926/test_apps:
235+
enable:
236+
- if: INCLUDE_DEFAULT == 1
237+
230238
components/display/lcd/esp_lcd_usb_display/test_apps:
231239
enable:
232240
- if: IDF_TARGET in ["esp32p4"]
233241

242+
components/display/lcd_touch/esp_lcd_touch_ft6336u/test_apps:
243+
enable:
244+
- if: INCLUDE_DEFAULT == 1
245+
234246
components/display/lcd_touch/esp_lcd_touch_ili2118/test_apps:
235247
enable:
236248
- if: INCLUDE_DEFAULT == 1
@@ -243,6 +255,10 @@ components/display/lcd_touch/esp_lcd_touch_st7123/test_apps:
243255
enable:
244256
- if: INCLUDE_DEFAULT == 1
245257

258+
components/display/lcd_touch/esp_lcd_touch_st77926/test_apps:
259+
enable:
260+
- if: INCLUDE_DEFAULT == 1
261+
246262
components/display/tools/esp_lv_decoder/test_apps:
247263
enable:
248264
- if: IDF_TARGET in ["esp32s3","esp32c3", "esp32p4"] and IDF_VERSION_MAJOR == 6

components/display/lcd/esp_lcd_axs15231b/README.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Implementation of the AXS15231B LCD & Touch controller with esp_lcd component.
1111
## Add to project
1212

1313
Packages from this repository are uploaded to [Espressif's component service](https://components.espressif.com/).
14-
You can add them to your project via `idf.py add-dependancy`, e.g.
14+
You can add them to your project via `idf.py add-dependency`, e.g.
1515
```
1616
idf.py add-dependency esp_lcd_axs15231b==1.0.0
1717
```
@@ -128,8 +128,8 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
128128

129129
ESP_LOGI(TAG, "Install panel IO");
130130
esp_lcd_panel_io_handle_t io_handle = NULL;
131-
const esp_lcd_panel_io_spi_config_t io_config = ILI9341_PANEL_IO_SPI_CONFIG(EXAMPLE_PIN_NUM_LCD_CS, EXAMPLE_PIN_NUM_LCD_DC,
132-
example_callback, &example_callback_ctx);
131+
const esp_lcd_panel_io_i80_config_t io_config = AXS15231B_PANEL_IO_I80_CONFIG(EXAMPLE_PIN_NUM_LCD_CS, EXAMPLE_PIN_NUM_LCD_DC,
132+
example_callback, &example_callback_ctx);
133133
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i80(i80_bus, &io_config, &io_handle));
134134

135135
/**
@@ -181,7 +181,11 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
181181
ESP_ERROR_CHECK(esp_lcd_new_panel_io_dbi(mipi_dsi_bus, &dbi_config, &mipi_dbi_io));
182182
183183
ESP_LOGI(TAG, "Install AXS15231B panel driver");
184+
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
184185
esp_lcd_dpi_panel_config_t dpi_config = AXS15231B_240_960_PANEL_60HZ_DPI_CONFIG(LCD_COLOR_PIXEL_FORMAT_RGB888);
186+
#else
187+
esp_lcd_dpi_panel_config_t dpi_config = AXS15231B_240_960_PANEL_60HZ_DPI_CONFIG_CF(LCD_COLOR_PIXEL_FORMAT_RGB888);
188+
#endif
185189
axs15231b_vendor_config_t vendor_config = {
186190
.flags = {
187191
.use_mipi_interface = 1,
@@ -207,6 +211,8 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
207211

208212
```
209213
esp_lcd_panel_io_i2c_config_t io_config = ESP_LCD_TOUCH_IO_I2C_AXS15231B_CONFIG();
214+
esp_lcd_panel_io_handle_t io_handle = NULL;
215+
ESP_ERROR_CHECK(esp_lcd_new_panel_io_i2c(i2c_bus_handle, &io_config, &io_handle));
210216
211217
esp_lcd_touch_config_t tp_cfg = {
212218
.x_max = CONFIG_LCD_HRES,
@@ -225,7 +231,7 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
225231
};
226232
227233
esp_lcd_touch_handle_t tp;
228-
esp_lcd_touch_new_i2c_axs15231b(io_config, &tp_cfg, &tp);
234+
esp_lcd_touch_new_i2c_axs15231b(io_handle, &tp_cfg, &tp);
229235
```
230236

231237
Read data from the touch controller and store it in RAM memory. It should be called regularly in poll.

components/display/lcd/esp_lcd_axs15231b/test_apps/sdkconfig.defaults.esp32p4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_IDF_TARGET="esp32p4"
2+
CONFIG_PARTITION_TABLE_OFFSET=0x10000
23
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
34
CONFIG_COMPILER_OPTIMIZATION_PERF=y
45
CONFIG_SPIRAM=y

components/display/lcd/esp_lcd_co5300/README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ For more information on LCD, please refer to the [LCD documentation](https://doc
1515
## Add to project
1616

1717
Packages from this repository are uploaded to [Espressif's component service](https://components.espressif.com/).
18-
You can add them to your project via `idf.py add-dependancy`, e.g.
18+
You can add them to your project via `idf.py add-dependency`, e.g.
1919

2020
```
2121
idf.py add-dependency "espressif/esp_lcd_co5300"
@@ -158,7 +158,11 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
158158

159159
ESP_LOGI(TAG, "Install LCD driver of co5300");
160160
esp_lcd_panel_handle_t panel_handle = NULL;
161+
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
161162
esp_lcd_dpi_panel_config_t dpi_config = CO5300_466_466_PANEL_60HZ_DPI_CONFIG(EXAMPLE_MIPI_DPI_PX_FORMAT);
163+
#else
164+
esp_lcd_dpi_panel_config_t dpi_config = CO5300_466_466_PANEL_60HZ_DPI_CONFIG_CF(EXAMPLE_MIPI_DPI_PX_FORMAT);
165+
#endif
162166
co5300_vendor_config_t vendor_config = {
163167
// .init_cmds = lcd_init_cmds, // Uncomment these line if use custom initialization commands
164168
// .init_cmds_size = sizeof(lcd_init_cmds) / sizeof(co5300_lcd_init_cmd_t),

components/display/lcd/esp_lcd_co5300/test_apps/sdkconfig.defaults.esp32p4

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
CONFIG_PARTITION_TABLE_OFFSET=0x10000
12
CONFIG_SPIRAM=y
23
CONFIG_COMPILER_OPTIMIZATION_PERF=y
34
CONFIG_IDF_EXPERIMENTAL_FEATURES=y

components/display/lcd/esp_lcd_ek79007/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ For more information on LCD, please refer to the [LCD documentation](https://doc
1515
## Add to project
1616

1717
Packages from this repository are uploaded to [Espressif's component service](https://components.espressif.com/).
18-
You can add them to your project via `idf.py add-dependancy`, e.g.
18+
You can add them to your project via `idf.py add-dependency`, e.g.
1919

2020
```
2121
idf.py add-dependency "espressif/esp_lcd_ek79007"
@@ -59,14 +59,16 @@ Alternatively, you can create `idf_component.yml`. More is in [Espressif's docum
5959

6060
ESP_LOGI(TAG, "Install EK79007S panel driver");
6161
esp_lcd_panel_handle_t panel_handle = NULL;
62+
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(6, 0, 0)
6263
const esp_lcd_dpi_panel_config_t dpi_config = EK79007_1024_600_PANEL_60HZ_CONFIG(EXAMPLE_MIPI_DPI_PX_FORMAT);
64+
#else
65+
const esp_lcd_dpi_panel_config_t dpi_config = EK79007_1024_600_PANEL_60HZ_CONFIG_CF(EXAMPLE_MIPI_DPI_PX_FORMAT);
66+
#endif
6367
ek79007_vendor_config_t vendor_config = {
64-
.flags = {
65-
.use_mipi_interface = 1,
66-
},
6768
.mipi_config = {
6869
.dsi_bus = mipi_dsi_bus,
6970
.dpi_config = &dpi_config,
71+
.lane_num = 2,
7072
},
7173
};
7274
const esp_lcd_panel_dev_config_t panel_config = {

components/display/lcd/esp_lcd_ek79007/test_apps/sdkconfig.defaults

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
CONFIG_IDF_TARGET="esp32p4"
2+
CONFIG_PARTITION_TABLE_OFFSET=0x10000
23
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
34
CONFIG_COMPILER_OPTIMIZATION_PERF=y
45
CONFIG_SPIRAM=y

0 commit comments

Comments
 (0)