Skip to content

Commit

Permalink
Merge pull request espressif#306 from espressif/feat/lvgl_port_2.0
Browse files Browse the repository at this point in the history
feat(LVGL port): Support for LVGL9 and support for MIPI-DSI screen.
  • Loading branch information
espzav authored Mar 13, 2024
2 parents fcdc258 + 7f31349 commit 17b7757
Show file tree
Hide file tree
Showing 66 changed files with 3,924 additions and 1,635 deletions.
9 changes: 9 additions & 0 deletions .build-test-rules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,12 @@ examples:
reason: Example depends on BSP, which is supported only for IDF >= 5.0
- if: IDF_VERSION_MAJOR < 5 and IDF_TARGET in ["esp32c2", "esp32p4", "esp32c5", "esp32c6"]
reason: Example depends on target, which is supported only for IDF >= 5.0

components/lcd/esp_lcd_gc9503/test_apps:
disable:
- if: IDF_VERSION_MAJOR < 5
reason: Component is supported only for IDF >= 5.0
components/lcd/esp_lcd_ssd1681:
disable:
- if: IDF_VERSION_MAJOR < 5
reason: Component is supported only for IDF >= 5.0
1 change: 1 addition & 0 deletions .github/workflows/upload_component_noglib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,4 @@ jobs:
namespace: "espressif"
api_token: ${{ secrets.IDF_COMPONENT_API_TOKEN }}
dry_run: ${{ github.ref_name != 'master' || github.repository_owner != 'espressif' }}
commit_sha: ''
7 changes: 6 additions & 1 deletion .idf_build_apps.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
target = "all"
paths = "examples"
paths = "."
recursive = true
exclude = [
"test_app",
"SquareLine",
"bsp"
]
manifest_file = ".build-test-rules.yml"
check_warnings = true
ignore_warning_file = ".ignore_build_warnings.txt"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp-box-3/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ ESP32-S3-BOX-3 also uses a Type-C USB connector that provides 5 V of power input
| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 |
| [espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911) | ^1 |
|[espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| [espressif/icm42670](https://components.espressif.com/components/espressif/icm42670) | ^1 |
| idf |>=4.4.5|
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp-box-3/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

esp_codec_dev:
version: "^1"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp-box-lite/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ESP32-S3-BOX-Lite also uses a Type-C USB connector that provides 5 V of power in
|----------------------------------------------------------------------------------------------|-------|
| [espressif/button](https://components.espressif.com/components/espressif/button) | >=2.4 |
|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3|
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| idf |>=4.4.5|
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
3 changes: 2 additions & 1 deletion bsp/esp-box-lite/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ dependencies:
public: true

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

esp_codec_dev:
version: "^1.0.3"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp-box/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ESP32-S3-BOX also uses a Type-C USB connector that provides 5 V of power input,
| [espressif/button](https://components.espressif.com/components/espressif/button) | >=2.5 |
| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1.0.3|
|[espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| [espressif/icm42670](https://components.espressif.com/components/espressif/icm42670) | ^1 |
| idf |>=4.4.5|
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp-box/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

esp_codec_dev:
version: "^1.0.3"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp32_azure_iot_kit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Please refer to specific README.md files in in examples folder.
|----------------------------------------------------------------------------------------------|----------|
| [espressif/bh1750](https://components.espressif.com/components/espressif/bh1750) | ^1.0.0 |
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0|
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| [espressif/fbm320](https://components.espressif.com/components/espressif/fbm320) | ^1.0.0 |
| [espressif/hts221](https://components.espressif.com/components/espressif/hts221) | ^1.1.1 |
| [espressif/mag3110](https://components.espressif.com/components/espressif/mag3110) | ^1.0.0 |
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp32_azure_iot_kit/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

button:
version: ">=2.5,<4.0"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp32_c3_lcdkit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ ESP32-C3-LCDkit also uses a Type-C USB connector that provides 5 V of power inpu
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2,<4.0|
| [espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev) | ^1 |
|[espressif/esp_lcd_gc9a01](https://components.espressif.com/components/espressif/esp_lcd_gc9a01)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| [espressif/knob](https://components.espressif.com/components/espressif/knob) | ^0.1.3 |
| [espressif/led_strip](https://components.espressif.com/components/espressif/led_strip) | ^2 |
| idf | >=5.0.0|
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp32_c3_lcdkit/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ dependencies:

espressif/esp_lvgl_port:
public: true
version: ^1
version: "^2"
override_path: "../../components/esp_lvgl_port"

led_strip:
version: "^2"
Expand Down
14 changes: 7 additions & 7 deletions bsp/esp32_p4_function_ev_board/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ ESP32-P4 Function EV Board is internal Espressif board for testing features on E

<!-- Autogenerated start: Dependencies -->
### Dependencies
| component | version |
|----------------------------------------------------------------------------------------------------------|---------------|
| [espressif/esp_lcd_ili9881c](https://components.espressif.com/components/espressif/esp_lcd_ili9881c) | >=0.2.0 |
|[espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) |fix/lvgl_port_9|
| idf | >=5.2 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
| component |version|
|----------------------------------------------------------------------------------------------------------|-------|
| [espressif/esp_lcd_ili9881c](https://components.espressif.com/components/espressif/esp_lcd_ili9881c) |>=0.2.0|
|[espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| idf | >=5.2 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
6 changes: 4 additions & 2 deletions bsp/esp32_p4_function_ev_board/esp32_p4_function_ev_board.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ static const char *TAG = "ESP32_P4_EV";
static lv_indev_t *disp_indev = NULL;
#endif // (BSP_CONFIG_NO_GRAPHIC_LIB == 0)

sdmmc_card_t *bsp_sdcard = NULL; // Global uSD card handler
static esp_lcd_touch_handle_t tp; // LCD touch handle
static bool i2c_initialized = false;
static TaskHandle_t usb_host_task; // USB Host Library task
Expand Down Expand Up @@ -72,10 +73,11 @@ esp_err_t bsp_sdcard_mount(void)
.format_if_mount_failed = false,
#endif
.max_files = 5,
.allocation_unit_size = 16 * 1024
.allocation_unit_size = 64 * 1024
};

const sdmmc_host_t host = SDMMC_HOST_DEFAULT();
sdmmc_host_t host = SDMMC_HOST_DEFAULT();
host.max_freq_khz = SDMMC_FREQ_HIGHSPEED;
const sdmmc_slot_config_t slot_config = {
.clk = BSP_SD_CLK,
.cmd = BSP_SD_CMD,
Expand Down
5 changes: 2 additions & 3 deletions bsp/esp32_p4_function_ev_board/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: fix/lvgl_port_9
version: "^2"
public: true
path: "components/esp_lvgl_port/"
git: https://github.com/espressif/esp-bsp.git
override_path: "../../components/esp_lvgl_port"
2 changes: 1 addition & 1 deletion bsp/esp32_s2_kaluga_kit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Please refer to README.md in examples folder.
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0|
| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 |
|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1.0.3 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| [espressif/led_strip](https://components.espressif.com/components/espressif/led_strip) | ^2.5 |
| idf | >=4.4.5 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp32_s2_kaluga_kit/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: ^1
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

button:
version: ">=2.5,<4.0"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp32_s2_kaluga_kit/include/bsp/esp32_s2_kaluga_kit.h
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ esp_err_t bsp_spiffs_unmount(void);
#define BSP_LCD_PIXEL_CLOCK_HZ (40 * 1000 * 1000)
#define BSP_LCD_SPI_NUM (SPI3_HOST)

#define BSP_LCD_DRAW_BUFF_SIZE (BSP_LCD_H_RES * BSP_LCD_V_RES)
#define BSP_LCD_DRAW_BUFF_SIZE (BSP_LCD_H_RES * 20)
#define BSP_LCD_DRAW_BUFF_DOUBLE (0)

/**
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp32_s3_eye/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The ESP32-S3-EYE board consists of two parts: the main board (ESP32-S3-EYE-MB) t
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0|
| [espressif/esp32-camera](https://components.espressif.com/components/espressif/esp32-camera) | ^2.0.2 |
|[espressif/esp_codec_dev](https://components.espressif.com/components/espressif/esp_codec_dev)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| idf | >=4.4.5 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
3 changes: 2 additions & 1 deletion bsp/esp32_s3_eye/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

esp32-camera:
version: "^2.0.2"
Expand Down
2 changes: 1 addition & 1 deletion bsp/esp32_s3_korvo_2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ The ESP32-S3-Korvo-2 is a multimedia development board based on the ESP32-S3 chi
|[espressif/esp_io_expander_tca9554](https://components.espressif.com/components/espressif/esp_io_expander_tca9554)| ^1 |
| [espressif/esp_lcd_ili9341](https://components.espressif.com/components/espressif/esp_lcd_ili9341) | ^1 |
| [espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| idf | >=4.4.5 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
3 changes: 2 additions & 1 deletion bsp/esp32_s3_korvo_2/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,6 @@ dependencies:
public: true

espressif/esp_lvgl_port:
version: ^1
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"
2 changes: 1 addition & 1 deletion bsp/esp32_s3_usb_otg/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ ESP32-S3-USB-OTG is a development board that focuses on USB-OTG function verific
| component | version |
|----------------------------------------------------------------------------------------------|----------|
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0|
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| idf | >=4.4 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
3 changes: 2 additions & 1 deletion bsp/esp32_s3_usb_otg/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,6 @@ dependencies:
public: true

espressif/esp_lvgl_port:
version: ^1
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"
2 changes: 1 addition & 1 deletion bsp/esp_bsp_generic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@ Example code:
| [espressif/esp_lcd_touch_gt1151](https://components.espressif.com/components/espressif/esp_lcd_touch_gt1151) | ^1 |
| [espressif/esp_lcd_touch_gt911](https://components.espressif.com/components/espressif/esp_lcd_touch_gt911) | ^1 |
|[espressif/esp_lcd_touch_tt21100](https://components.espressif.com/components/espressif/esp_lcd_touch_tt21100)| ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^1 |
| [espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port) | ^2 |
| [espressif/led_indicator](https://components.espressif.com/components/espressif/led_indicator) | ^0.9 |
| idf | >=4.4.2 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
Expand Down
3 changes: 2 additions & 1 deletion bsp/esp_bsp_generic/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ dependencies:
public: true

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

examples:
- path: ../../examples/generic_button_led
2 changes: 1 addition & 1 deletion bsp/esp_wrover_kit/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Most of the ESP32 I/O pins are broken out to the board’s pin headers for easy
| component | version |
|----------------------------------------------------------------------------------------------|----------|
| [espressif/button](https://components.espressif.com/components/espressif/button) |>=2.5,<4.0|
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^1 |
|[espressif/esp_lvgl_port](https://components.espressif.com/components/espressif/esp_lvgl_port)| ^2 |
| idf | >=4.4.5 |
| [lvgl/lvgl](https://components.espressif.com/components/lvgl/lvgl) | ^8 |
<!-- Autogenerated end: Dependencies -->
3 changes: 2 additions & 1 deletion bsp/esp_wrover_kit/idf_component.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ dependencies:
lvgl/lvgl: "^8"

espressif/esp_lvgl_port:
version: "^1"
version: "^2"
public: true
override_path: "../../components/esp_lvgl_port"

button:
version: ">=2.5,<4.0"
Expand Down
33 changes: 33 additions & 0 deletions components/esp_lvgl_port/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog

## 2.0.0

### Features

- Divided into files per feature
- Added support for LVGL9
- Added support for MIPI-DSI display

## 1.4.0

### Features

- Added support for USB HID mouse/keyboard as an input device

## 1.3.0

### Features

- Added low power interface

## 1.2.0

### Features

- Added support for encoder (knob) as an input device

## 1.1.0

### Features

- Added support for navigation buttons as an input device
Loading

0 comments on commit 17b7757

Please sign in to comment.