特性 (UI):实现包含屏幕、图像和字体的 UI 组件

新增资源文件:添加了字体、图像和屏幕相关的头文件与源文件。
定义数据结构:创建了用于描述字体和图像的数据结构。
实现主屏逻辑:实现了主屏幕的创建函数以及周期性刷新(tick)函数。
集成 LVGL 管理:集成了 LVGL 主题初始化及屏幕管理功能。
添加 UI 初始化:新增 UI 初始化及刷新函数,用于管理界面更新。
重构主入口:重构主应用程序入口,以支持 UI 任务及 FreeRTOS 多任务调度。
更新构建配置:更新了 CMakeLists 及组件配置,以包含新的依赖项。
This commit is contained in:
Wang Beihong
2026-04-05 21:50:06 +08:00
parent e72ad9fcf0
commit 990abc210c
29 changed files with 15373 additions and 18 deletions

36
components/ui/screens.h Normal file
View File

@@ -0,0 +1,36 @@
#ifndef EEZ_LVGL_UI_SCREENS_H
#define EEZ_LVGL_UI_SCREENS_H
#include <lvgl.h>
#ifdef __cplusplus
extern "C" {
#endif
// Screens
enum ScreensEnum {
_SCREEN_ID_FIRST = 1,
SCREEN_ID_MAIN = 1,
_SCREEN_ID_LAST = 1
};
typedef struct _objects_t {
lv_obj_t *main;
} objects_t;
extern objects_t objects;
void create_screen_main();
void tick_screen_main();
void tick_screen_by_id(enum ScreensEnum screenId);
void tick_screen(int screen_index);
void create_screens();
#ifdef __cplusplus
}
#endif
#endif /*EEZ_LVGL_UI_SCREENS_H*/