Front panel, scope-style trigger, and persistence

/ SigScope siglent qt ui persistence

What I tried

The first version worked but I couldn’t find Single, everything was a combo box, and turning a knob on the scope took over a second to show up. So version two copies the front panel. Four channel columns with a volts/div knob and an offset knob each, lit AC/DC/BW/INV buttons, a time/div knob, trigger source and slope as button rows, and a big Run/Stop. The trigger now works the scope’s way: pick Auto, Normal or Single, then press Run/Stop to go. Single re-arms a running scope instead of stopping it, which took one review to catch.

The knobs are painted with QPainter, 20 detents over 300 degrees, a colored arc showing where you are in the 1-2-5 ladder. Mouse wheel is one detent, vertical drag is 12 px per detent.

Auto Setup used to drag the whole link into recovery, so it moved into a Utility menu and now pauses the live feed, waits for the scope to answer again, does one full poll, and resumes. There’s a Pause/Live button for the same reason.

Then persistence. A Display card with Off, 1s, 5s, 10s, 30s and infinite. It sends the scope’s own PESU command so the scope screen matches, and the app keeps an accumulation image per channel, stamps each new sweep at low alpha, and multiplies the alpha down every frame for the timed modes. Live trace is drawn on top at full brightness. Then an intensity row because the persisted band was as bright as the live trace and you couldn’t tell them apart.

The front-panel layout connected to the scope, square wave on CH1 at 50 µs/div, 8.3 fps.
The front-panel layout connected to the scope, square wave on CH1 at 50 µs/div, 8.3 fps.
Infinite persistence with the trigger free-running. Every past sweep stays as the yellow band, the live sweep on top.
Infinite persistence with the trigger free-running. Every past sweep stays as the yellow band, the live sweep on top.

What I measured

What broke or surprised me

Next

Cursors and measurements. Both menu keys are already on the panel, disabled. The SCPI for them is documented and I’ve already read PAVA? values off the scope in the first day’s spikes.