benchControlPlatform

benchControlPlatform

A desktop app that controls bench instruments: an oscilloscope, two power supplies and a USB meter.

Version
0.6.0
License
MIT OR Apache-2.0
Built with
Rust, egui 0.31
macOS
used with the instruments
Linux
build and tests tried
The oscilloscope page in demo mode: the tab bar with all four instruments, a toolbar, two waveforms with cursors, four channel tiles and the measurement inspector.
The oscilloscope page in demo mode.

What it does

One window

A fixed page per instrument. A tab bar shows the state and key values of all four on every page and has "All outputs off" for the supplies.

Oscilloscope and supplies

The oscilloscope page shows live waveforms with cursors and measurements, saves screenshots and waveform CSV files, and has a SCPI console. The supply pages set voltage, current and protection limits, switch the output, keep memory presets and draw a trend.

USB meter

The meter page streams voltage, current and power at 100 samples per second, adds up energy and capacity, and records every sample to a CSV file.

Screenshots

All taken in demo mode.

The IPS3608 supply page in demo mode: voltage, current and power readouts, the output switch, six memory tiles, a trend and the protection, connection and device column.
A supply page: readouts, setpoints, protection, memory presets and the trend.
The FNB58 meter page in demo mode: voltage, current and power readouts, three trend strips, session totals and a running recording.
The meter page: three trend strips, session totals and a running recording.
The HM310T page in demo mode with mixed states in the tab bar: one supply not connected, one failed to open its port, and no meter found.
The tab bar with mixed states: a disconnected, a failed and a missing instrument.

Supported instruments

DeviceKindTransportStatus
Rigol DHO924SoscilloscopeLAN, SCPI over TCPverified
Hanmatek HM310Tpower supplyUSB serial, Modbus RTUverified
FNIRSI IPS3608power supplyUSB CDC serial, FNIRSI binary protocolverified
FNIRSI FNB58USB power meterUSB HIDverified

All four are verified: the project's owner runs each of them with the app, on macOS. What each one does, its limits and what is not supported or not confirmed: Instruments.

Try it without hardware

BCP_DEMO=1 cargo run
BCP_DEMO=mixed cargo run

Demo mode fills the app with fixed sample data, reaches no instrument, and neither reads nor writes the settings file. mixed shows a disconnected, a failed and a missing instrument. The variables for the start page, the window size, a capture and the demo states are in Getting started.

Add your instrument

Adding an instrument today means changes in several central files, not only a folder of its own. Please send your instrument back as a merge request, also when it is not finished: it is welcome as experimental, and nobody has to integrate it a second time.

Works with a coding agent: point it at AGENTS.md.

Contributing and adding an instrument

Before you connect a supply

The app switches real power supplies, and it comes without any warranty (see the license, MIT OR Apache-2.0).