GUI sweep: converter-collapse abort + measured finish-time estimate

The mid-sweep abort only watched the supply readback (~0V = supply
protection tripped), so a DUT-side collapse sailed past it: run
2026-07-07 10:58, Vout 48->3.1V at Vin=55V with the supply still up at
55V/0A, sweep kept stepping the 75V column through garbage. Add a
second abort when the load voltage drops below half the expected Vout;
the message names the STM32 limit/fault bits from the last frame
before the brownout blackout (the MCU rides the Vout rail).

Status line now appends ETA hh:mm (N pts, ~M min left): remaining
grid is deterministic (feasibility-gated steps), per-point cost is not
(instrument round-trips vary per setup), so it is a running average of
measured point times (thermal holds excluded) extrapolated over the
remaining feasible points. Grid size is printed at sweep start.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
janik
2026-07-07 14:39:48 +07:00
co-authored by Claude Fable 5
parent f709d634e8
commit 465455d427
2 changed files with 105 additions and 3 deletions
+11 -1
View File
@@ -115,7 +115,17 @@ The GUI provides:
protection shut the output down), the sweep aborts immediately, reports
which protection fired (OVP / OV / OC / OP / OT), and saves the points
collected so far instead of logging garbage rows for the rest of the
grid.
grid. A converter-output collapse (load voltage below half the expected
Vout while the supply is still up -- the DUT shut itself down) aborts
the same way; when the STM32 link is up the abort message names the
firmware limit/fault bits from the last frame before the brownout
blackout.
- Sweep finish estimate: the status line shows `ETA hh:mm (N pts, ~M min
left)` next to each measured point. The remaining grid is deterministic
(the steps that pass the feasibility gate), but the cost per point is
not (settle time + instrument round-trips that vary per setup), so the
per-point time is measured as a running average -- thermal-hold pauses
excluded -- and extrapolated over the remaining feasible points.
- Load range pinning: a mid-sweep auto-range transition on the Prodigit
momentarily unloads the converter, so at sweep start the CC range is
pinned to Range II for the whole run (auto-ranging restored after, with