Rdzleo 5eddd2aa72 feat: 新增按键驱动、休眠管理和电池监控功能,修复内存损坏和开机闪烁问题
 新增功能
- 按键驱动模块:GPIO中断+软件去抖,支持BOOT和KEY2按键事件回调
- 休眠管理器:10秒无操作自动休眠,触摸/按键唤醒,UI集成开关
- 电池电量监控:GPIO3 ADC实时检测,ScreenSet界面圆弧显示

🐛 Bug修复
- 修复FreeRTOS任务栈溢出导致内存损坏(battery任务栈2048→4096)
- 修复图片文件名损坏问题(改用静态缓冲区替代动态分配)
- 修复触摸中断引脚配置错误(GPIO4→GPIO5,匹配V1.0硬件)
- 修复开机闪烁问题(调整背光初始化时序,UI渲染后再点亮)

🎨 界面优化
- ScreenSet恢复为标准Screen切换方式(移除浮动面板架构)
- 亮度调节支持0%(完全关闭)和10-100%范围
- ScreenHome界面电量显示独立(不关联实时电量)
- 手势导航优化:下拉显示设置,上滑返回主界面

 性能优化
- 启动时间优化:从650ms缩短至170ms
- 内存管理优化:图片列表使用静态数组(10×32字节)
- 任务栈配置调优:battery 4096, button 3072, sleep_mgr 3072

📝 其他改进
- CMakeLists.txt添加新模块编译配置
- 添加硬件版本兼容性注释(GPIO引脚说明)
- 完善函数注释和错误日志输出
- sdkconfig配置更新

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 10:28:25 +08:00

13 lines
571 B
C

#include "esp_err.h"
#include <stdint.h>
void app_test_display(); // 测试显示
void app_img_display(); // 显示图片
esp_err_t nvs_change_img(char *imgname); // 改变NVS中的图片路径
void app_img_change(); // 改变图片
void img_switch_task(void *pvParameters);// 图片切换任务
void img_loop_task(void *pvParameters); // 图片循环任务
void pwm_init(); // 初始化PWM背光
void pwm_set_brightness(uint8_t percent); // 设置屏幕亮度(0=关闭, 10-100%)
uint8_t pwm_get_brightness(void); // 获取当前亮度值