Files
zhengxinandCursor 851e347cf5 初始提交卡包 USB 工程
纳入固件源码、屏幕组件、nand_xfer 工具和文档。忽略本机构建产物、sdkconfig,以及含本机路径的依赖锁。

Co-authored-by: Cursor <[email protected]>
2026-10-13 21:54:50 +08:00

52 lines
1.3 KiB
C

#ifndef UI_H
#define UI_H
#include "lvgl.h"
#include "esp_log.h"
#include "gui_guider.h"
#ifdef __cplusplus
extern "C" {
#endif
#define UI_PAGE_COUNT 3 // 0:小奇, 1:天气, 2:时间, 3:G值, 4:里程
#define UI_IDX_PULLDOWN 3 // 下拉设置页
#define UI_IDX_COMPONENTS 4 // 小组件页
// --- 变量的“外部引用”声明 ---
// 告诉编译器:这些变量在别处定义了,你尽管用
extern lv_obj_t * current_lottie;
extern lv_obj_t * page_weather;
extern lv_obj_t * page_time;
extern lv_obj_t * page_gforce;
extern lv_obj_t * page_trip;
extern lv_obj_t * page_components;
extern lv_obj_t * page_settings;
extern lv_obj_t * page_zodiacs;
extern int current_page_idx;
extern int settings_page_idx;
extern int last_page_idx;
extern lv_timer_t * idle_timer;
extern int lottie_id;
extern bool is_ui_mode;
extern const char * TAG_MAIN; // 共享 main.c 里的 TAG_MAIN
extern lv_ui guider_ui;
// --- 函数声明 ---
void ui_event_gesture_cb(lv_event_t * e);
void idle_timer_cb(lv_timer_t * timer); // 新增声明
void ui_pages_create(void); // 一次性创建所有页面
void ui_hide_all_pages(void); // 隐藏所有页面,回到动画
void ui_change_page(int new_idx, lv_screen_load_anim_t anim_type); // 核心切换函数
void ui_reset_idle_timer(void);
#ifdef __cplusplus
}
#endif
#endif