开发历史与踩坑记录

旧帧/新帧局刷重叠、字库9异常、天气温度覆盖、残影与快刷的历史排障记录。

版本与验证范围

2026年7月历史项目记录;未在本轮重新编译、烧录或硬件测量,芯片/引脚/时序/功耗不能代替当前工程。

日期:2026-07-15

时间线

日期 里程碑
2026-06-01 SSD1683 初始化序列完成 (16 步),PSR RES=01 修复
2026-06-07 局部刷新修复(文字重叠)+ 残影优化
2026-06-09 天气显示修复 + 字体 bug 修复 + 快刷实现

关键踩坑

1. 文字重叠(6月7日)

现象:新闻局部刷新时文字叠在一起
原因:ssd1683_partial_update() 只写新内容到 0x24,旧内容没写 0x26
修复:增加 old_img 参数,先写 0x26 再写 0x24
效果:全刷 2.9s → 局刷 440ms

2. 字体 '9' 显示为 '0'(6月9日)

现象:日期"6月9日"显示"6月00日",温度"29度"→"20度"
原因:gui_paint.c 里 font8x16[10](字符'9')的位图和 font8x16[1]('0')完全相同
修复:手动重绘 '9' 的位图

3. 天气温度冲突(6月9日)

现象:第1行"29°" 但第2行"23-20度",不一致
原因:DeepSeek 返回的 today_high/low 覆盖了 Open-Meteo 的真实值
修复:parse_weather() save/restore 机制保护 Open-Meteo 温度

4. 天气图标迭代(6月9日)

  • 自绘 SVG → 线条交叉 ❌
  • svgpathtools 转换 → 重影 ❌
  • 1px 手绘 → 没重影但线条交叉 ❌
  • OpenWeatherMap PNG 转 1-bit → 填充风,辨识度高 ✅

5. 残影积累

修复1 (6月7日):GHOST_CLEAN_INTERVAL 8→3(每3次局刷做全刷)
修复2 (6月9日):快刷后 3→6(快刷残影比局刷少,放宽)

6. 快刷实现(6月9日)

参考:inksight 项目 + Waveshare Init_Fast
技巧:温度寄存器写 0x6E 让内部 LUT 加速
效果:全刷 2.9s → 快刷 1.7s

答辩与竞赛问答

Q: 为什么 ESP32 不是 STM32?

A: ESP32 内置 WiFi+BLE 双模,休眠功耗 ~10μA。STM32 需外挂模块。ESP32 模组 ~15 元 vs 树莓派 ~200 元。

Q: BLE 256 字节 MTU 怎么解决?

A: dirty flag 机制——BLE 只更新内存变量,主循环统一写 NVS。图片分块 340 字节→base64→JSON 包装 ~495 字节。

Q: Flash/RAM 够吗?

A: 520KB SRAM。帧缓冲 15KB,BLE ~50KB,WiFi ~50KB。NVS 24KB + SPIFFS 2MB。新闻缓存用 NVS 不占 RAM。

关键词

#踩坑 #局刷 #字体bug #天气图标 #快刷 #BLE_MTU

相关

项目总览 墨水屏驱动详解


所属索引 待补充 · 主页 待补充

归档索引 待补充

来源与关联索引
来源
个人知识库
原笔记
05-历史归档/旧项目/墨水屏原始记录/开发历史与排障.md
资料性质
历史记录。原文的版本、来源与验证边界继续保留。
关联笔记 4
返回资料归档

想去哪里?

22 个入口

首页作品作品展厅全部项目文章总览文件夹标签资料归档关于认识 Lan探索路线工具与工作台最近在做InkFeed · 4.2 英寸电子纸信息终端VIBRATION · 柔性振动检测与采集链路TRACE · 航向保持与灰度循迹小车STRIDE · 八自由度四足机器人SCOPE · 固件日志浏览器温度为什么被 AI 改了?FIFO 有半帧,就一定是故障吗?直线守航向,弧线再看黑线。

Tab 选择入口 · Enter 打开 · Esc 关闭