1.4 KiB
1.4 KiB
本模块为独立的辅助脚本集,按功能分为四层:
- 固件与设备操作层:
flash_gd32.py通过 HTTP 把 Intel HEX 展平 BIN 并经由 ESP32 OTA 中继写入 GD32,轮询/system/status确认GD32_COMPLETE后写台账_last_gd32_sha.txt;build_mem.bat/cpu_sample.ps1/wv2_roles.ps1分别负责 IDF 构建与 Windows 进程采样。 - ECAT 数据采集与诊断层:
rec_ecat_slots.py以固定频率轮询服务/api/motor/state,去重落盘到 CSV(M/F/H 三类行),作为后续分析的唯一输入;probe_ecat_slot_atomicity.py在此基础上做同一 seq 重复读的撕裂判定;probe_ecat_vs_wifi.py将 ECAT 帧与 WiFi 二进制/motor/state?bin=1对照,逐字节验证一致性;anal_ecat_jumps.py基于 p99 尺度+孤立尖峰形态检测撕裂,并提供--selftest注入混合帧的灵敏度自检。 - 服务端行为验证层:
test_app_lease.py通过sys.path.insert直接 importesp32_server,用假_ecat_post/_ecat_find_port启动真实 HTTP 服务,模拟 WS 租约建立/Grace 重连/进程退出等场景断言 EtherCAT 循环启停;Python 版的浏览器 E2E 用例由对应.mjs借助 CDP (ws://127.0.0.1:9333) 操控 WebView 页面执行断言。 - 依赖方向单向向外:所有脚本只读本地文件与服务 HTTP API,不反向修改业务代码;采集与分析脚本之间通过固定 CSV 格式(
ecat_slots_raw.csv)解耦。