Files
ESP32_COMM/.zcode/plans/plan-sess_39cf81dd-da5e-490d-ac6f-8d97a21b5323.md
小龙虾 770ae14156
SPI Link v2 Self-Test / selftest (push) Has been cancelled
feat(spi_link): 添加SPI Link v2 PC自测框架并优化协议稳定性
添加SPI Link v2的PC端自测功能,包含交叉校验基准测试,覆盖HELLO/OTA/CAN/PING等
多种协议场景。同时重构了health monitor中的多字段读取逻辑,消除了volatile变量
的撕裂读问题,并增强了BLE OTA的数据传输可靠性。

refactor(health_monitor): 修复heap hook多字段撕裂读问题

采用portMUX_CRITICAL临界区实现多字段一致快照读取,消除任务上下文与heap hook
之间的数据竞争。修改了HookSnap结构体设计,通过一次性拷贝volatile变量避免
跨字段组合时的数据不一致。JSON输出中明确标注estimated值的置信度。

fix(ble_ota): 实现DATA_IN丢包负反馈机制

当malloc失败或队列满时发送缺口ACK通知前端按completed_bytes续传,避免
静默丢包导致的8秒超时重传风暴。增加节流机制防止负ACK在重传叠加时打爆
NimBLE mbuf池,提升低内存环境下的OTA传输稳定性。

refactor(spi_master): 从堆分配改为固定Job池管理

将SPI worker的动态堆分配Job改为固定大小的静态池管理,避免频繁的
calloc/free操作影响实时性。新增acquireJobSlot/releaseJobSlot机制
管理池槽生命周期,提升SPI通信的可靠性和内存使用效率。
2026-07-21 01:16:43 +08:00

1.6 KiB

目标

重新生成 G:/Robot_v2/DCU/SPEC/code_optimization_audit_2026-07-19.html,让它反映当前工作树的代码状态(已修改的 health_monitor.*、spi_master.*、ble_ota_data.cpp、version.h、tools/js/common/connection.js 等)。

步骤

  1. 在 G:/Robot_v2/DCU 下运行生成器(不带 --verify,按你刚才的选择):

    python tools/gen_code_optimization_audit.py
    
    • 默认输出到 SPEC/code_optimization_audit_<今天日期>.html,即 code_optimization_audit_2026-07-20.html(今天 2026-07-20)。
    • 注意:现有文件名是 ..._2026-07-19.html,新生成的会是 ..._2026-07-20.html,不会覆盖旧文件。
  2. 检查脚本输出:

    • 看 [audit] files=... lines=...、findings 数量、是否出现 重复 finding ID 或锚点漂移错误。
    • 脚本内置 HTML 结构与内部链接自校验,失败会返回非 0。
  3. 如有锚点漂移(某个 finding 引用的行号在改动后对不上原证据),脚本会报错并指出哪个 finding;此时需要我先核对对应源码再决定是调整脚本里的锚点还是接受新行号——会先汇报给你,不会私自改 finding 逻辑。

  4. 生成成功后,简要汇报:

    • 新报告路径
    • findings 数量与 P0/P1/P2 分布是否变化
    • 与旧报告的关键差异(例如新增/消失的 finding、行号变化)
    • 旧报告 2026-07-19.html 是否保留(默认保留)

不做的事

  • 不带 --verify(不跑 ESP32/GD32 构建、SPI 自测、前端语法检查)
  • 不删除旧报告 2026-07-19.html
  • 不改生成器脚本本身
  • 不做 git 提交