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
5 changed files with 48 additions and 29 deletions

View File

@@ -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 }}

View File

@@ -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"

View File

@@ -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.

View File

@@ -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

View File

@@ -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