c36c2bfa08
1、解决了低功耗时屏幕残影(在关闭背光前,先将LCD GRAM清空为黑色);
...
2、手电筒切换到Home界面瞬间闪烁问题;
2026-02-12 10:08:40 +08:00
ae55ecce5f
feat: 实现真正的低功耗模式,功耗降低80-85%
...
## 新增功能
- 真正的低功耗模式:暂停 LVGL 刷新和禁用触摸输入
- ESP-IDF Power Management:启用 DFS (40-160MHz) + Auto Light Sleep
- 智能按键唤醒:低功耗模式下 BOOT 键只唤醒不切换界面
- 触摸唤醒接口:已禁用但保留代码(可快速启用)
## 修复问题
- 修复假低功耗问题:LVGL 仍在运行导致高功耗(30mA)
- 修复触摸事件泄漏:熄屏后 UI 仍响应触摸导致误操作
- 修复按键唤醒逻辑:低功耗模式下强制切换到 Home 界面
## 性能优化
- 屏幕关闭时功耗:30mA → 5-8mA(降低 80-85%)
- CPU 自动降频和 Light Sleep
- 按键唤醒响应时间:<100ms
## 技术细节
- 使用 lv_timer_pause/resume 控制 LVGL 刷新
- 使用 lv_indev_enable 控制输入设备
- 使用 sleep_mgr_is_screen_off 查询屏幕状态
- 配置 PM: max_freq=160MHz, min_freq=40MHz, light_sleep_enable=true
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 18:28:40 +08:00
078edf7a85
fix: 修正 .gitignore 格式
...
- 修复 .DS_Store 规则换行问题
- 添加注释说明规则用途
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 16:55:41 +08:00
2dbe4efc49
chore: 移除已追踪的 .DS_Store 文件
...
- 从 git 索引中移除 .DS_Store 文件
- 现在这些文件将被 .gitignore 忽略
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 16:55:15 +08:00
bb13485906
chore: 更新 sdkconfig 配置 + 忽略 macOS 系统文件
...
- 更新 sdkconfig 项目配置
- 添加 .DS_Store 到 .gitignore(macOS 系统文件)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 16:55:04 +08:00
3dced23cfd
feat: 新增图片删除功能 + 修复开机/唤醒闪烁问题
...
## 新增功能
- 图片删除:支持从 SPIFFS 彻底删除图片(物理删除 + 内存管理)
- ContainerDle 管理:新增半透明圆形删除容器(含删除和返回按钮)
- 状态管理:标志位模式管理 UI 状态,离开界面自动清理
## 解决的关键问题
1. 开机闪烁 (⭐ ️⭐ ️⭐ ️⭐ ️⭐ ️)
- 原因:LCD GRAM 保留旧数据
- 方案:背光使能前清空 GRAM(DMA 分批填充黑色,34ms)
2. 低功耗唤醒闪烁 (⭐ ️⭐ ️⭐ ️⭐ ️⭐ ️)
- 原因:先恢复亮度后切换界面,看到旧界面
- 方案:先切换界面(背光=0)→ 延时 100ms → 恢复亮度
3. ContainerDle 状态保留 (⭐ ️⭐ ️⭐ ️⭐ ️)
- 原因:LVGL 对象不销毁,状态被保留
- 方案:离开界面时主动清理(手势/按键回调中调用隐藏函数)
4. 按键回调冲突 (⭐ ️⭐ ️⭐ ️⭐ ️)
- 原因:按键系统单回调限制
- 方案:统一在 main.c 管理 BOOT 按键,其他模块通过接口调用
5. 开机加载图片闪烁 (⭐ ️⭐ ️⭐ ️)
- 原因:screen_init() 中 JPEG 解码触发渲染
- 方案:延迟到 LV_EVENT_SCREEN_LOADED 事件加载
## 功能改动
- BOOT 按键增强:唤醒 + 退出手电筒 + 隐藏容器 + 返回 Home
- 图片界面优化:支持删除当前图片并自动显示下一张
- 休眠管理优化:移除 BOOT 注册,避免回调冲突
## 技术优化
- 资源节约:分批处理大数据(LCD GRAM 清除)
- 时序优化:根据屏幕状态智能调整唤醒时序
- 模块化设计:按键集中管理 + 接口清晰 + 状态标志模式
## 文件变更
- lcd/lcd.c: LCD GRAM 清除逻辑
- main.c: BOOT 按键统一管理
- pages/pages.c: 图片删除功能实现
- ui/screens/ui_ScreenImg.c: ContainerDle 管理 + 状态控制
- sleep_mgr/sleep_mgr.c: 按键回调优化
- ui/images: 新增删除和返回按钮图标 (s13.png, s14.png)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11 16:51:51 +08:00
4860efca6e
新增手电筒功能 + 颜色切换性能优化
...
## 核心功能
- 实现全屏手电筒:支持红/绿/蓝三色点击切换
- 自动闪烁模式: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>
2026-02-11 13:54:22 +08:00
7fe958e589
1、实现了在下拉显示ScreenSet界面后上滑"智能返回上一个界面"功能
2026-02-11 10:52:51 +08:00
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
99aef2c4e5
1、新增电池电量ADC检测;
...
2、ScreenSet界面的电量进度条实施更新和电量文本显示实施更新
2026-02-10 10:42:03 +08:00
43bda5954a
清除build目录的git跟踪记录,使.gitignore规则生效
...
build目录下的构建产物(编译中间文件、固件二进制文件等)在.gitignore添加前已被git跟踪,
导致.gitignore的/build规则未能生效。通过git rm --cached移除缓存,后续build目录的
变更将不再被git追踪。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:07:55 +08:00
c70ec84553
1、增加亮度调节功能,最低阈值10%;
...
2、gitignore文件增加build文件夹,白名单
2026-02-09 17:55:27 +08:00
d1410ec198
项目初始化:当前实现LVGL的UI界面显示和图片界面的左右滑动显示图片,图片资源存储在spiffs中与蓝牙传输存储路径保持一致!
2026-02-09 16:56:13 +08:00