WaveBench v0.2.0
WaveBench v0.2.0 - readable evidence reports / 可读的测量证据报告
中文说明
WaveBench v0.2.0 的重点是把已经采集到的测量数据变成更容易阅读、复盘和分享的证据报告。
这一版没有扩展更多仪器型号,也没有引入 GUI。目标很明确:让 data/raw/... 和 data/runs/... 里已经存在的数据更有用。
新增功能
-
新增离线 capture / run package 读取能力,支持读取
data/raw/...和data/runs/...。 -
新增:
wavebench capture inspect <capture_dir>
用于查看采集包摘要。
-
新增:
wavebench run report <run_dir>
用于从已有 run package 生成静态 HTML 报告。
-
新增:
wavebench scope capture --screenshot
支持 RTM2032 保存 PNG 截图 artifact。
-
run plan 的
scope.capture现在支持:[[steps]] kind = "scope.capture" screenshot = true
-
HTML 报告现在会在存在截图时自动嵌入截图缩略图,并生成 Screenshots 区块。
-
HTML 报告新增 Signal analysis 区块,展示:
- 频率
- Vpp
- RMS
- 均值
- duty cycle
- rise/fall time
- quality warnings
-
新增
plans/demo_dg4202_10k_screenshot_report.toml,作为 v0.2 的最小实机 demo plan。 -
WSL 环境下新增
pyvisa-pyfallback:当 native RS VISA 不可用时,可以通过pyvisa-py继续连接仪器。
安全模型
-
run report和capture inspect都是离线命令,不会连接仪器。 -
截图是 capture artifact,不是 report 的副作用。
-
run plan 继续保持显式语义:
- 不隐藏 reset
- 不在 capture 前隐式 autoscale
- 不偷偷修改电源输出
- 不自动修正硬件状态
-
source restore 仍然需要显式启用:
[restore] source_state = true
验证情况
- 单元测试:118 tests passing。
- WSL 实机 demo 已通过:
- DG4202 输出
- RTM2032 采集
- 10 kHz 波形
- screenshot artifact
- HTML report generation
- Demo report 中已确认包含 Signal analysis 和 Screenshots 区块。
已知边界
- 没有 GUI。
- 没有 YAML workflow layer。
- run plan 仍不支持条件分支、循环、矩阵实验或表达式语言。
- report 里的 Signal analysis 目前汇总已有 capture metadata,不重新读取 NPY 做二次分析。
- 仪器支持仍然保持窄范围,只针对当前文档中验证过的 RTM2032 / DG4202 / DP800 路径。
English Notes
WaveBench v0.2.0 focuses on turning captured measurement data into readable evidence.
This release does not expand the instrument matrix or introduce a GUI. The goal is simple: make existing data/raw/... and data/runs/... artifacts easier to inspect, review, and share.
New features
-
Added offline capture/run package readers for
data/raw/...anddata/runs/.... -
Added:
wavebench capture inspect <capture_dir>
for human-readable capture summaries.
-
Added:
wavebench run report <run_dir>
for static offline HTML reports.
-
Added:
wavebench scope capture --screenshot
for RTM2032 PNG screenshot artifacts.
-
Run-plan
scope.capturenow supports:[[steps]] kind = "scope.capture" screenshot = true
-
HTML reports now embed screenshot thumbnails and include a Screenshots section when captures provide
screenshot.png. -
HTML reports now include a Signal analysis section with:
- frequency
- Vpp
- RMS
- mean
- duty cycle
- rise/fall time
- quality warnings
-
Added
plans/demo_dg4202_10k_screenshot_report.tomlas a minimal v0.2 hardware demo plan. -
Added WSL-friendly VISA fallback through
pyvisa-pywhen native RS VISA is unavailable.
Safety model
-
run reportandcapture inspectare offline-only commands and never connect to instruments. -
Screenshots are capture artifacts, not report side effects.
-
Run plans remain explicit:
- no hidden reset
- no implicit autoscale before capture
- no hidden power output changes
- no automatic hardware correction
-
Source restore remains opt-in:
[restore] source_state = true
Validation
- Unit test suite: 118 tests passing.
- Real WSL hardware demo passed:
- DG4202 output
- RTM2032 capture
- 10 kHz waveform
- screenshot artifact
- HTML report generation
- Demo reports include both Signal analysis and Screenshots sections.
Known limits
- No GUI.
- No YAML workflow layer.
- No conditionals, loops, matrix experiments, or expression language in run plans.
- Signal analysis in reports summarizes existing capture metadata; it does not reprocess NPY waveforms yet.
- Instrument support remains intentionally narrow and verified only for the documented RTM2032 / DG4202 / DP800 paths.