LVGL Manual
LVGL is a highly customizable, modern aesthetically pleasing, easy-to-use, open source free embedded graphics library (MIT protocol), founded by Gábor Kiss-Vámosi from Hungary. Currently, the LVGL source code is hosted on the Github platform for maintenance. Under the promotion of community member Man Jianting , the RT-Thread community and the LVGL community have completed the source code docking. The LVGL official Github source code repository has become a software package for RT-Thread. RT-Thread community partners only need to use the Env tool or RT-Studio to pull the latest source code of LVGL and automatically add it to the RT-Thread project.
List of BSPs that have been adapted to LVGL | Explanation video
Both RT-Thread simulators are compatible with LVGL. You can run the LVGL graphics library on the RT-Thread operating system without a development board. In the adapted BSP, users can complete the LVGL configuration and generate a project with one click. After compiling and downloading, the LVGL routines are automatically demonstrated. Please refer to the documentation or (and) the explanation video for how to configure.
For the transplant template, please refer to Zhengdian Atom STM32L475 Pandora | STM32F469 Discovery | Nuvoton series
There are three LVGL configuration files:
Profile Name | Location | Function | Do users need to modify this file? |
lv_conf_internal.h | Sets features not configured by the user to default | unnecessary | |
lv_rt_thread_conf.h | Take over the configuration related to the operating system (such as time base signal, memory, etc.) | unnecessary | |
lv_conf.h | User-defined configuration | The user needs to create it in the applications/lvgl folder of the specific BSP |
From the table above, we can see that although there are three configuration files, only the last one actually requires user intervention. That is, the user needs to create an lvgl folder in the applications folder of the BSP. This folder is used to store lvgl-related files. The content is as follows:
File name | effect |
lv_conf.h | User-defined configuration of LVGL function (the file name cannot be changed randomly) |
lv_port_disp.c | |
lv_port_indev.c | |
User interface initialization file |
Since RT-Thread version 4.1.1 (including 4.1.1), users no longer need to create
lv_port_disp.h
andlv_port_indev.h
files.
Users do not need to worry about LVGL initialization. LVGL will be automatically initialized by RT-Thread when the device is powered on. It will also automatically call lv_port_disp_init
and lv_port_indev_init
to initialize the user's display screen, input device driver and interface drawing function. These initialization tasks have been automatically initialized in the lv_rt_thread_port.clv_user_gui_init
file on the LVGL side .
As for whether to connect the RT-Thread display device framework and the touch framework, users can freely deal with it. If you do not want to connect the RT-Thread display and touch framework, you can directly connect the driver to the connection function on the LVGL side .
If you encounter any issues related to porting, please go to the RT-Thread community forum to ask questions: https://club.rt-thread.org/index.html
If you encounter any problems with LVGL, please go to the LVGL community forum to ask questions (please use English): https://forum.lvgl.io/
Last updated