fix various issues for esp32 (#3007)
* kconfig: Fix invalid dependancy in fsdrv LV_USE_FS_* symbols are integers, instead of usual booleans. We must treat them as such. * ci: Get LVGL version from git tag * docu: Update Espressif readme * ci run apt update before installing
This commit is contained in:
14
.github/workflows/esp_upload_component.yml
vendored
14
.github/workflows/esp_upload_component.yml
vendored
@@ -1,19 +1,23 @@
|
|||||||
name: Push LVGL release to Espressif Component Service
|
name: Push LVGL release to Espressif Component Service
|
||||||
|
|
||||||
# Upload on successful release
|
# If the commit is tagged, it will be uploaded. Other scenario silently fail.
|
||||||
on:
|
on:
|
||||||
release:
|
push:
|
||||||
types:
|
branches:
|
||||||
- released
|
- master
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
upload_components:
|
upload_components:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@master
|
||||||
- name: Upload component to component service
|
with:
|
||||||
|
submodules: "recursive"
|
||||||
|
|
||||||
|
- name: Upload component to component registry
|
||||||
uses: espressif/github-actions/upload_components@master
|
uses: espressif/github-actions/upload_components@master
|
||||||
with:
|
with:
|
||||||
name: "lvgl"
|
name: "lvgl"
|
||||||
|
version: "git"
|
||||||
namespace: "lvgl"
|
namespace: "lvgl"
|
||||||
api_token: ${{ secrets.ESP_IDF_COMPONENT_API_TOKEN }}
|
api_token: ${{ secrets.ESP_IDF_COMPONENT_API_TOKEN }}
|
||||||
|
|||||||
6
Kconfig
6
Kconfig
@@ -843,21 +843,21 @@ menu "LVGL configuration"
|
|||||||
default 0
|
default 0
|
||||||
config LV_FS_STDIO_PATH
|
config LV_FS_STDIO_PATH
|
||||||
string "Set the working directory"
|
string "Set the working directory"
|
||||||
depends on LV_USE_FS_STDIO
|
depends on LV_USE_FS_STDIO != 0
|
||||||
|
|
||||||
config LV_USE_FS_POSIX
|
config LV_USE_FS_POSIX
|
||||||
int "File system on top of posix API"
|
int "File system on top of posix API"
|
||||||
default 0
|
default 0
|
||||||
config LV_FS_POSIX_PATH
|
config LV_FS_POSIX_PATH
|
||||||
string "Set the working directory"
|
string "Set the working directory"
|
||||||
depends on LV_USE_FS_POSIX
|
depends on LV_USE_FS_POSIX != 0
|
||||||
|
|
||||||
config LV_USE_FS_WIN32
|
config LV_USE_FS_WIN32
|
||||||
int "File system on top of Win32 API"
|
int "File system on top of Win32 API"
|
||||||
default 0
|
default 0
|
||||||
config LV_FS_WIN32_PATH
|
config LV_FS_WIN32_PATH
|
||||||
string "Set the working directory"
|
string "Set the working directory"
|
||||||
depends on LV_USE_FS_WIN32
|
depends on LV_USE_FS_WIN32 != 0
|
||||||
|
|
||||||
config LV_USE_FS_FATFS
|
config LV_USE_FS_FATFS
|
||||||
int "File system on top of FatFS"
|
int "File system on top of FatFS"
|
||||||
|
|||||||
@@ -3,45 +3,60 @@
|
|||||||
:github_url: |github_link_base|/get-started/espressif.md
|
:github_url: |github_link_base|/get-started/espressif.md
|
||||||
```
|
```
|
||||||
|
|
||||||
# Espressif (ESP32)
|
# Espressif (ESP32 chip series)
|
||||||
Since v7.7.1 LVGL includes a Kconfig file, so LVGL can be used as an ESP-IDF v4 component.
|
LVGL can be used and configured as a standard [ESP-IDF](https://github.com/espressif/esp-idf) component.
|
||||||
|
|
||||||
## Get the LVGL demo project for ESP32
|
More information about ESP-IDF build system can be found [here](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/build-system.html).
|
||||||
|
|
||||||
We've created [lv_port_esp32](https://github.com/lvgl/lv_port_esp32), a project using ESP-IDF and LVGL to show one of the demos from [lv_examples](https://github.com/lvgl/lv_examples).
|
## LVGL demo project for ESP32
|
||||||
You are able to configure the project to use one of the many supported display controllers, see [lvgl_esp32_drivers](https://github.com/lvgl/lvgl_esp32_drivers) for a complete list
|
|
||||||
of supported display and indev (touch) controllers.
|
|
||||||
|
|
||||||
## Use LVGL in your ESP32 project
|
We've created [lv_port_esp32](https://github.com/lvgl/lv_port_esp32), a project using ESP-IDF and LVGL to show one of the demos from [lv_demos](https://github.com/lvgl/lv_demos).
|
||||||
|
You can configure the project to use one of the many supported display controllers and targets (chips).
|
||||||
|
|
||||||
|
See [lvgl_esp32_drivers](https://github.com/lvgl/lvgl_esp32_drivers) repository for a complete list
|
||||||
|
of supported display and indev (touch) controllers and targets.
|
||||||
|
|
||||||
|
## Using LVGL in your ESP-IDF project
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
ESP-IDF v4 framework is the suggested version to use.
|
* ESP-IDF v4.1 and above
|
||||||
|
* ESP evaluation board with a display
|
||||||
|
|
||||||
### Get LVGL
|
### Obtaining LVGL
|
||||||
|
|
||||||
It is suggested that you add LVGL as a "component" to your project. This component can be located inside a directory named "components" in the project root directory.
|
__Option 1:__ git submodule
|
||||||
|
|
||||||
When your project is a git repository you can include LVGL as a git submodule:
|
Simply clone LVGL into your `project_root/components` directory and it will be automatically integrated into the project.
|
||||||
|
If the project is a git repository you can include LVGL as a git submodule:
|
||||||
|
|
||||||
```c
|
```sh
|
||||||
git submodule add https://github.com/lvgl/lvgl.git components/lvgl
|
git submodule add https://github.com/lvgl/lvgl.git components/lvgl
|
||||||
```
|
```
|
||||||
|
|
||||||
The above command will clone LVGL's main repository into the `components/lvgl` directory. LVGL includes a `CMakeLists.txt` file that sets some configuration options so you can use LVGL right away.
|
The above command will clone LVGL's main repository into the `components/lvgl` directory. LVGL includes a `CMakeLists.txt` file that sets some configuration options so you can use LVGL right away.
|
||||||
|
|
||||||
When you are ready to configure LVGL, launch the configuration menu with `idf.py menuconfig` on your project root directory, go to `Component config` and then `LVGL configuration`.
|
__Option 2:__ IDF Component Manager
|
||||||
|
|
||||||
## Use lvgl_esp32_drivers in your project
|
LVGL is also distributed through [IDF Component Manager](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/tools/idf-component-manager.html).
|
||||||
|
It allows users to seamlessly integrate [LVGL component](https://components.espressif.com/component/lvgl/lvgl) into their project with following command:
|
||||||
|
|
||||||
You can also add `lvgl_esp32_drivers` as a "component". This component can be located inside a directory named "components" on your project root directory.
|
```sh
|
||||||
|
idf.py add-dependency lvgl/lvgl>=8.*
|
||||||
|
```
|
||||||
|
|
||||||
|
During next project build, LVGL component will be fetched from the component registry and added to project build.
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
When you are ready to configure LVGL, launch the configuration menu with `idf.py menuconfig` in your project root directory, go to `Component config` and then `LVGL configuration`.
|
||||||
|
|
||||||
|
## Using lvgl_esp32_drivers in ESP-IDF project
|
||||||
|
|
||||||
|
You can also add `lvgl_esp32_drivers` as a "component". This component should be located inside a directory named "components" in your project root directory.
|
||||||
|
|
||||||
When your project is a git repository you can include `lvgl_esp32_drivers` as a git submodule:
|
When your project is a git repository you can include `lvgl_esp32_drivers` as a git submodule:
|
||||||
|
|
||||||
```c
|
```sh
|
||||||
git submodule add https://github.com/lvgl/lvgl_esp32_drivers.git components/lvgl_esp32_drivers
|
git submodule add https://github.com/lvgl/lvgl_esp32_drivers.git components/lvgl_esp32_drivers
|
||||||
```
|
```
|
||||||
|
|
||||||
### Support for ESP32-S2
|
|
||||||
|
|
||||||
Basic support for ESP32-S2 has been added into the `lvgl_esp32_drivers` repository.
|
|
||||||
|
|||||||
@@ -1,3 +1,2 @@
|
|||||||
version: "8.0.2"
|
|
||||||
description: LVGL - Light and Versatile Graphics Library
|
description: LVGL - Light and Versatile Graphics Library
|
||||||
url: https://github.com/lvgl/lvgl
|
url: https://github.com/lvgl/lvgl
|
||||||
@@ -5,4 +5,5 @@
|
|||||||
# here, such as MicroPython and PC simulator packages.
|
# here, such as MicroPython and PC simulator packages.
|
||||||
#
|
#
|
||||||
# Note: This script is run by the CI workflows.
|
# Note: This script is run by the CI workflows.
|
||||||
|
sudo apt update
|
||||||
sudo apt install gcc python3 libpng-dev ruby-full gcovr cmake
|
sudo apt install gcc python3 libpng-dev ruby-full gcovr cmake
|
||||||
|
|||||||
Reference in New Issue
Block a user