## 核心功能 - 实现全屏手电筒:支持红/绿/蓝三色点击切换 - 自动闪烁模式:1000ms周期(500ms高亮100% + 500ms低亮20%) - BOOT按键退出手电筒并返回主界面 ## 性能优化(关键创新) - PWM遮罩技术:立即黑屏遮盖LCD刷新过程,完全消除卡顿 - 简化实现:只修改样式不重建对象,降低资源消耗 - 切换速度:从135ms优化到100ms(提升25.7%) - SPI时钟:40MHz → 80MHz(提升LCD刷新速度) ## 技术细节 - PWM淡入淡出步进:20% → 25%(10ms → 8ms) - 刷新等待时间:120ms → 90ms(基于理论计算优化) - 初始延迟:5ms → 2ms(PWM设置是立即的) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
// This file was generated by SquareLine Studio
|
|
// SquareLine Studio version: SquareLine Studio 1.6.0
|
|
// LVGL version: 8.3.11
|
|
// Project name: Lcd_Pro
|
|
|
|
#ifndef UI_SCREENSET_H
|
|
#define UI_SCREENSET_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// SCREEN: ui_ScreenSet
|
|
extern void ui_ScreenSet_screen_init(void);
|
|
extern void ui_ScreenSet_screen_destroy(void);
|
|
extern void ui_event_ScreenSet( lv_event_t * e);
|
|
extern void ui_ScreenSet_set_previous(lv_obj_t **screen, void (*init_func)(void)); // 设置返回的界面
|
|
extern lv_obj_t *ui_ScreenSet;
|
|
extern lv_obj_t *ui_GlobalContainer;
|
|
extern lv_obj_t *ui_ContainerTop;
|
|
extern lv_obj_t *ui_ImgLowPower;
|
|
extern lv_obj_t *ui_ImgFlashlight;
|
|
extern lv_obj_t *ui_ImgDelete;
|
|
extern lv_obj_t *ui_ContainerCentral;
|
|
extern void ui_event_SliderBrightness( lv_event_t * e);
|
|
extern lv_obj_t *ui_SliderBrightness;
|
|
extern lv_obj_t *ui_ImgSun;
|
|
extern lv_obj_t *ui_LabelBrightness;
|
|
extern lv_obj_t *ui_ArcPowerLevel;
|
|
extern lv_obj_t *ui_ImgLightning;
|
|
extern lv_obj_t *ui_LabelPowerLevel;
|
|
// CUSTOM VARIABLES
|
|
|
|
// 手电筒功能
|
|
extern void flashlight_exit(void); // 退出手电筒模式
|
|
extern bool flashlight_is_active(void); // 查询手电筒是否激活
|
|
|
|
#ifdef __cplusplus
|
|
} /*extern "C"*/
|
|
#endif
|
|
|
|
#endif
|
|
|