之前 e2e_web_send_latency.py / recover_ecat_after_reset.py / measure_click_to_motion.py 全在 .gitignore 里(e2e_/measure_ 通配),换台机器 clone 就跑不了验收;且 recover 脚本零失败路径(--skip-e2e 无条件退 0)。现在统一到已跟踪的 check_ 前缀, .gitignore 一行例外都不用加,并把"跑过了"和"恢复了"绑成一件事。 - check_recover_after_reset.py:force_reopen 后改为轮询到 dc=1/250us/loop=1/op=1/ wkc>=3(上限 15s,替掉原来单点采样那次假 loop=0),并断言守卫心跳在涨、 发一帧 3s 内出口必须跟上;退出码 0/1/2(前置不满足=BLOCKED=2)。 - check_web_send_latency.py:新增第 6 段读 health.guard(旧 exe 无 guard 块 / alive_ticks 不涨 都算 FAIL),第 5 段改调已入库的 check_click_to_motion.py。 它每次发送只等 2s,结构上看不到 8s 判据,所以只报"守卫当时是死是活", 不拿它冒充触发验证。 - check_guard_idle_silence.py:健康总线的"另一极"——90s 静默 + 25s 1Hz 发送, 要求心跳在涨、armed 恒 0、fires/wr 零增量、每次发送都被消费。这是防 "把守卫修成重连风暴"的真机版(对应离线 T1b/T4/T5/T6)。 - check_guard_fires_hw.py:需人在场按 GD32 RESET 制造冻结,证明 armed 秒起、 tx_stale_s 爬过 8s、fires +1、日志有 [GUARD] 全量重连、松手后 20s 内出口 重新前进,再验证 60s 冷却内不第二次触发;--with-pm-hold 另证"静音"时心跳仍在涨。 只认 guard.fires,不认 wr(wr 汇总所有恢复路径,会以错误的理由通过)。 - guard_probe.py:两个真机脚本共用同一份前置判据与通路选择(先 :2625 页面代理, 再直连 native 8090..8095)。前置没满足一律 BLOCKED——loop=0 或 pm_hold=1 时判据 按设计是静音的,那种"绿了"毫无意义,所以判据只放一个执行点。
84 lines
2.0 KiB
Plaintext
84 lines
2.0 KiB
Plaintext
# Python
|
|
__pycache__/
|
|
*.py[cod]
|
|
*.egg-info/
|
|
.pytest_cache/
|
|
|
|
# 虚拟环境(本地生成,勿入库)
|
|
venv/
|
|
.venv/
|
|
env/
|
|
|
|
# 固件 / 日志产物(本目录只做前端与本地服务,固件由 ESP32_COMM 构建)
|
|
*.bin
|
|
*.elf
|
|
*.map
|
|
*.log
|
|
|
|
# 采样 / 自测产物(现场跑出来的原始数据,动辄几十 MB,勿入库)
|
|
*.csv
|
|
*.jsonl
|
|
scripts/_*_out.txt
|
|
|
|
# 一次性排障探针(跟着某次现场问题写的,问题闭环后即失效)
|
|
scripts/probe_*.py
|
|
scripts/selftest_*.py
|
|
|
|
# 本地一次性排障产物(页面测试驱动 / 诊断脚本 / 截图 / 测试报告),不入库
|
|
/_local/
|
|
# 例外:这两个已入库,是可复用的通用采样器
|
|
!scripts/probe_ecat_slot_atomicity.py
|
|
!scripts/probe_ecat_vs_wifi.py
|
|
|
|
# 电机页配置落盘(本机 UI 状态,每人不同;页面服务自动读写)
|
|
/data/motor_ui_state.json
|
|
/data/motor_ui_state.json.tmp
|
|
|
|
# ── 调试/临时脚本与本地采样产物(不入库)──
|
|
# _ 前缀:现场排障探针、预览截图、一次性驱动
|
|
scripts/_*
|
|
# 一次性分析/采样/测量/追踪脚本
|
|
# 注:验收链上的脚本一律用 check_ 前缀入库(check_web_send_latency /
|
|
# check_recover_after_reset / check_click_to_motion / check_guard_*),
|
|
# 下面这些 e2e_/measure_/capture_ 通配只挡新的一次性草稿
|
|
scripts/anal_*.py
|
|
scripts/collect_*.py
|
|
scripts/capture_*.py
|
|
scripts/measure_*.py
|
|
scripts/e2e_*.py
|
|
scripts/trace_*.py
|
|
scripts/flash_gd32_ecat.py
|
|
scripts/test_ecat_version_*.py
|
|
scripts/test_gd32_restart_version.py
|
|
scripts/test_motor_ui_state.*
|
|
scripts/test_ver_*.py
|
|
|
|
# lab 实验中间产物(图/表/hex/探针输出;已入库的 lab/*.html 保持跟踪)
|
|
/lab/cpu_probe/
|
|
/lab/skip_meter/
|
|
/lab/_flash_*.py
|
|
/lab/*.json
|
|
/lab/*.svg
|
|
/lab/*.hex
|
|
/lab/*probe*.txt
|
|
/lab/*summary*.json
|
|
/lab/*_report.json
|
|
/lab/*_hist.json
|
|
|
|
# 运行时页面状态、桥接采样、本机 dump
|
|
/data/
|
|
*.jsonl
|
|
/logs*.json
|
|
/st*.json
|
|
|
|
# 编辑器 / 系统
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# 本地现场备份(可用前端快照)与 UI 诊断输出
|
|
/_backup/
|
|
/output/
|