From 3ba6c9f60b3265f6471cfdee17aa6011254b1799 Mon Sep 17 00:00:00 2001 From: R0ck Date: Wed, 14 Oct 2026 17:32:36 +0100 Subject: [PATCH] experiments: the chip counters cover the run, and the export is JSON --- pages/experiments.md | 8 ++++++-- pages/reference-control.md | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pages/experiments.md b/pages/experiments.md index 851616d..bf32aeb 100644 --- a/pages/experiments.md +++ b/pages/experiments.md @@ -29,8 +29,12 @@ against the same network, with the results tabulated side by side. instead of with the mesh. `experiment.senders` takes the node names. 6. **Start it, and watch the log.** Each run boots every node's firmware, settles, sends, and tears down. -7. **Export.** `experiment.export` writes an HTML report with every arm, every - run and the deltas between them. +7. **Export.** `experiment.export` writes the whole experiment to a JSON file: + the definition, every run's raw numbers and the means per arm. Each run + carries `chip`, what every node's radio counted over the run, measured from + the same point as the delivery totals, so the boot and the advert settle are + in neither. Two arms that deliver identically can still differ in what their + firmware read from the chip, and this is where that shows. ![The Bench view: the sweep definition, past runs, the experiment log and per-node timelines](images/view-bench.png) diff --git a/pages/reference-control.md b/pages/reference-control.md index 1277ede..ea1f9c1 100644 --- a/pages/reference-control.md +++ b/pages/reference-control.md @@ -3655,7 +3655,7 @@ Write the whole experiment to a file, its definition beside every cell's raw num |---|---|---|---| | `path` | string | optional, primary | where to write it; empty writes meshbench-experiment.json in the system temporary directory, and a path that cannot be written is refused | -**Answers** `path`, `bytes`. JSON, holding the arms, seeds, senders and timings alongside `results`, which is every cell including the per-second histogram, the at-risk shares and `chip`, each node's radio counters at the end of the cell, and `summary`, which is the means. It will write an empty one before anything has run. +**Answers** `path`, `bytes`. JSON, holding the arms, seeds, senders and timings alongside `results`, which is every cell including the per-second histogram, the at-risk shares and `chip`, what each node's radio counted over the cell and how it was set at the end, and `summary`, which is the means. It will write an empty one before anything has run. **Example** - keep the sweep, wherever the machine puts temporary files