From b7091effb7d6229da91cbabb9fc66ae9ce3d9c98 Mon Sep 17 00:00:00 2001 From: ScottW514 Date: Mon, 17 Aug 2026 20:55:39 -0400 Subject: [PATCH] dladder: print the hv_current trace, like pthresh The trace is the per-rung witness: the laser-off G0 between rungs reads 0, so the runs of nonzero current count the rungs that struck and their level tracks each rung's dose. Without it a run reports only a range, and which rungs fired has to be read off the material alone. --- scripts/bench/live_fire_drills.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/bench/live_fire_drills.py b/scripts/bench/live_fire_drills.py index 58e8ae6..9de4ef4 100644 --- a/scripts/bench/live_fire_drills.py +++ b/scripts/bench/live_fire_drills.py @@ -670,6 +670,21 @@ def drill_dladder(g): max(emis) if emis else '-')) print('hv_current range: %s..%s' % (min(hv_vals) if hv_vals else '-', max(hv_vals) if hv_vals else '-')) + if samples: + t0 = samples[0]['t'] + print('hv_current trace (t s : raw) - the laser-off G0 between rungs') + print('reads 0, so the runs of nonzero current count the rungs that') + print('struck, and their level tracks the dose of each:') + line = [] + for smp in samples: + if smp['hv'] is None: + continue + line.append('%5.1f:%s' % (smp['t'] - t0, smp['hv'])) + if len(line) == 8: + print(' ' + ' '.join(line)) + line = [] + if line: + print(' ' + ' '.join(line)) print('Check the controller said "laser armed (density)" - a plain') print('"laser armed" means the analog path ran and this is a duty') print('ladder, not a density one.')