This repository is an extension of EveApps, designed to provide LVGL support for reference purposes.
For more information about LVGL, visit LVGL.io. The original LVGL source code can be downloaded from GitHub.
The current LVGL version used is V9.0.0.
This repository has been modified to support EVE chips and has been tested with various examples, including the "widget demo," "benchmark demo," and "music demo" on a Raspberry Pico RP2040 with a BT816 chip.
Users should have prior experience with LVGL.
This repository can't work alone, please download EveApps from https://github.com/Bridgetek/EveApps.
The folder "common" of EveApps repo is required.
- Download EveApps.
- Download LVGL-Eve (this repo) and copy the Demo_lvgl folder to EveApps/
- Change lvgl configuration in lv_conf depends on your project, such as enable log, enable demos.
- Change HSIZE in Demo_lvgl/eve_lvgl to your LCD's height for display buffer. (optional, need further optimize)
- Add the example or demo which needed to run in Demo_lvgl/eve_lvgl. Demo need to be enabled in step 3.
EVE_CoCmd_dlStart(s_pHalContext);
//lv_example_get_started_1();
lv_demo_widgets(); //enable the widget demo
//lv_demo_benchmark();Requires the Pico toolchain https://github.com/ndabas/pico-setup-windows to be installed.
Pico-SDK version 1.3.0 is required
The following steps will build for Raspberry Pi Pico.
- Install cmake 3.19.x, python, Visual Studio 2019 community (must select C++), GNU Arm Embedded Toolchain for window.
- Launch the Developer Command Prompt for VS
set PICO_SDK_PATH=[path to pico-sdk]
set PICO_TOOLCHAIN_PATH=[path to GNU Arm Embedded Toolchain\\10 2020-q4-major\\bin]
cd EveApps
mkdir build
cd build
cmake -G "NMake Makefiles" -DEVE_APPS_PLATFORM=EVE_PLATFORM_RP2040 -DEVE_APPS_GRAPHICS=[EVE graphics] ..
nmake Demo_lvgl
# [EVE graphics] can be EVE or module name, such as BT817, BT815, VM800B35A_BK ...Example:
$ cmake.exe -G "NMake Makefiles" -DEVE_APPS_PLATFORM=EVE_PLATFORM_RP2040 -DEVE_APPS_GRAPHICS=EVE_GRAPHICS_BT816 -DEVE_APPS_DISPLAY=EVE_DISPLAY_WXGA ..
$ nmake Demo_lvgl
Display resolution is set via EVE_APPS_DISPLAY, example: cmake -G "NMake Makefiles" -DEVE_APPS_DISPLAY=EVE_DISPLAY_WXGA
By default, WVGA is set
EVE graphics is set via EVE_APPS_GRAPHICS, example: cmake -G "NMake Makefiles" -DEVE_APPS_GRAPHICS=EVE_GRAPHICS_BT815
By default, MULTI is set
| RP2040 | EVE | UART | SD |
|---|---|---|---|
| GP0 (TX) | RX (debug) | ||
| GP1 (RX) | TX (optional) | ||
| GP2 (SPI0 SCK) | SCK | ||
| GP3 (SPI0 MOSI) | MOSI | ||
| GP4 (SPI0 MISO) | MISO | ||
| GP5 (GPIO) | CS | ||
| GP6 (GPIO) | INT | ||
| GP7 (GPIO) | PWD | ||
| 5V | 5V | ||
| GND | GND |
TBD
TBD
At present, LVGL-Eve supports only fundamental functions, implying that not all necessary LVGL functions are available. For specific information regarding the LVGL examples supported in LVGL-Eve, please consult the documentation located at docs/LVGL_examples_supported_test_v1.0.pdf.
Unsupported cases:
- Rotation is solely applicable to images and does not extend to other objects like buttons or images with an outline.
- The functionality of the canvas is not available.
For cases with partial support, the following issues may be addressed in a future release:
- In the current version, shadows appear to function only for a single object. If multiple objects are present, the shadows do not display correctly.
- Scroll bars are observed more frequently in EVE's settings, prompting the need for further investigation.
- There exists a layout problem wherein certain objects extend beyond the outer box boundaries.
- The lines separating two lines of text are not visible.
To avoid underrun issues, it is necessary to reduce the complexity of demos due to the limitations of the display list.
This repository has taken following as a reference
https://github.com/juanjqh/lvgl_eve_gpu_test-main
This version is v1.0.0-alpha
v1.0.0-alpha
- Initial version