|
|
9223fd5a7d
|
feat: BLE传输优化 + GIF条件编译 + 自定义GIF播放器
一、BLE 蓝牙优化
- 设备名称改为动态名称 Airhub_MAC(基于BLE MAC地址)
- 广播数据拆分为 ADV + Scan Response 两包
- 图片接收完成后数据直通显示(跳过SPIFFS重读,减少200-500ms延迟)
- BLE耗时操作(NVS写入+导航显示)转移到独立FreeRTOS任务,避免BTC_TASK栈溢出
- 缩短BLE连接间隔(min=7.5ms, max=20ms),提升传输吞吐量
- 减少传输日志输出(每100包打印一次),提升传输速度
二、显示性能优化
- LVGL绘制缓冲区从DMA 30行改为PSRAM 120行大缓冲,减少flush次数
- CPU最大频率从160MHz提升到240MHz,提升解码性能
三、GIF动图支持(条件编译,当前默认关闭)
- 实现自定义GIF播放器:Palette LUT查表 + TRUE_COLOR无Alpha + 后台线程解码流水线
- 使用 #if LV_USE_GIF 条件编译包裹所有GIF代码,sdkconfig中CONFIG_LV_USE_GIF=n时零开销
- 启用GIF时需设置 CONFIG_LV_USE_GIF=y 即可
四、图片管理优化
- BLE接收新图片后直接追加到列表(避免重扫SPIFFS目录)
- SPIFFS图片扫描支持.gif扩展名(条件编译控制)
五、文档更新
- 设备运行日志:GIF性能瓶颈分析与优化方案
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
2026-02-27 09:43:02 +08:00 |
|
|
|
c36c2bfa08
|
1、解决了低功耗时屏幕残影(在关闭背光前,先将LCD GRAM清空为黑色);
2、手电筒切换到Home界面瞬间闪烁问题;
|
2026-02-12 10:08:40 +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 |
|
|
|
d1410ec198
|
项目初始化:当前实现LVGL的UI界面显示和图片界面的左右滑动显示图片,图片资源存储在spiffs中与蓝牙传输存储路径保持一致!
|
2026-02-09 16:56:13 +08:00 |
|