Rdzleo
0bdf7be875
feat: 应援灯防撕裂优化 - DMA直接填充GRAM + LVGL flush拦截 + PWM黑屏遮蔽
应援灯颜色切换从 LVGL 渲染改为直接 DMA 填充 GRAM,彻底消除 LVGL 刷新竞争:
lcd.c/lcd.h:
- 新增 lcd_fill_color_with_buf() 直接 DMA 分条填充全屏纯色
- 新增 TEON(0x35) 启用 TE 内部同步信号
- 新增 lcd_read_scanline()/lcd_wait_vsync_timeout() VSYNC 读取接口
(实测 QSPI 模式下 TESLRD 始终返回 0xFFFF,软件 VSYNC 不可用)
ui_ScreenSet.c:
- LVGL flush 回调拦截:进入应援灯时替换为空操作,退出时恢复
解决 LVGL 周期刷新覆盖 DMA 颜色导致红色方块残留的问题
- DMA 缓冲区生命周期管理:进入时分配,退出时释放
- 颜色切换 PWM=0 黑屏遮蔽:DMA 期间完全熄灭背光,撕裂不可见
- 滑块交互优化:拖动期间锁定其他按钮 + PWM 50ms 节流
- 手动滑动检测替代 LVGL 手势(layer_top 上手势不可靠)
.gitignore: 排除 docs/*.pdf 文档文件
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-30 15:18:41 +08:00
..
2026-02-24 15:57:32 +08:00
2026-02-24 15:28:34 +08:00
2026-02-27 17:07:51 +08:00
2026-02-24 15:28:34 +08:00
2026-03-27 10:55:17 +08:00
2026-03-19 15:28:14 +08:00
2026-03-30 15:18:41 +08:00
2026-02-28 18:14:19 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-03-10 17:36:18 +08:00
2026-03-17 09:45:29 +08:00
2026-02-28 10:23:04 +08:00
2026-03-30 15:18:41 +08:00
2026-03-02 10:12:59 +08:00
2026-03-19 15:28:14 +08:00
2026-03-19 15:28:14 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-03-24 17:12:35 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-27 17:07:51 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-03-27 10:55:17 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-28 10:23:04 +08:00
2026-03-24 17:12:35 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00
2026-02-24 15:28:34 +08:00