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:
Tomas Rezucha 2022-01-14 18:47:49 +01:00 committed by GitHub
parent 37c038569c
commit e7a0f3b99c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 48 additions and 29 deletions

View File

@ -1,19 +1,23 @@
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:
release:
types:
- released
push:
branches:
- master
jobs:
upload_components:
runs-on: ubuntu-latest
steps:
- 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
with:
name: "lvgl"
version: "git"
namespace: "lvgl"
api_token: ${{ secrets.ESP_IDF_COMPONENT_API_TOKEN }}

View File

@ -843,21 +843,21 @@ menu "LVGL configuration"
default 0
config LV_FS_STDIO_PATH
string "Set the working directory"
depends on LV_USE_FS_STDIO
depends on LV_USE_FS_STDIO != 0
config LV_USE_FS_POSIX
int "File system on top of posix API"
default 0
config LV_FS_POSIX_PATH
string "Set the working directory"
depends on LV_USE_FS_POSIX
depends on LV_USE_FS_POSIX != 0
config LV_USE_FS_WIN32
int "File system on top of Win32 API"
default 0
config LV_FS_WIN32_PATH
string "Set the working directory"
depends on LV_USE_FS_WIN32
depends on LV_USE_FS_WIN32 != 0
config LV_USE_FS_FATFS
int "File system on top of FatFS"

View File

@ -3,45 +3,60 @@
:github_url: |github_link_base|/get-started/espressif.md
```
# Espressif (ESP32)
Since v7.7.1 LVGL includes a Kconfig file, so LVGL can be used as an ESP-IDF v4 component.
# Espressif (ESP32 chip series)
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).
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.
## LVGL demo project for ESP32
## 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
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
```
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:
```c
```sh
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.

View File

@ -1,3 +1,2 @@
version: "8.0.2"
description: LVGL - Light and Versatile Graphics Library
url: https://github.com/lvgl/lvgl

View File

@ -5,4 +5,5 @@
# here, such as MicroPython and PC simulator packages.
#
# Note: This script is run by the CI workflows.
sudo apt update
sudo apt install gcc python3 libpng-dev ruby-full gcovr cmake