Add plot-sweep command, degauss buttons, sweep ramp-down, and time estimate

- Add offline `plot-sweep` CLI command: generates efficiency overlay,
  heatmap, and power loss plots from sweep CSV (no instruments needed)
- Add degauss buttons to CH5/CH6 in GUI (sends :DEMAg SCPI command)
- Gradual load ramp-down at end of 2D sweep to avoid transients
- Live sweep time estimate in GUI based on grid size × settle time
- Update HIOKI submodule to include degauss CLI command

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 16:31:33 +07:00
parent 5fe2ec4556
commit 3f65b5f2f2
5 changed files with 245 additions and 2 deletions

View File

@@ -43,6 +43,7 @@ class Cmd(Enum):
SET_CURRENT_RANGE = auto()
SET_VOLTAGE_AUTO = auto()
SET_CURRENT_AUTO = auto()
DEGAUSS = auto()
# System
SET_INTERVAL = auto()
@@ -205,6 +206,10 @@ class InstrumentWorker(threading.Thread):
bench.meter.set_voltage_auto(args[0], args[1])
case Cmd.SET_CURRENT_AUTO:
bench.meter.set_current_auto(args[0], args[1])
case Cmd.DEGAUSS:
channels = args[0] if args else [5, 6]
items = ",".join(f"I{ch}" for ch in channels)
bench.meter.write(f":DEMAg {items}")
# System
case Cmd.SET_INTERVAL: