SCPI-based drivers and helper scripts for common lab instruments (e.g., Rigol DM3058E DMM, Siglent SPD1305X/3303X PSUs). Uses PyVISA with the pure-Python backend by default.
-
System prep (USB access, libusb, udev rules)
./install/setup_system.sh # replug instruments after this -
Python env and package install
python3 -m venv .venv source .venv/bin/activate pip install -e .
-
Verify discovery
python3 examples/list_devices.py --idn # should print INSTR entries for connected devices -
Try a command
- Measure current with the DMM (defaults to Keithley 2110 adapter; swap imports in the script if needed):
python3 examples/measure_current.py --num-samples 5
- Nudge the Siglent SPD1305X supply:
python3 examples/spd1305-module-test.py
- Measure current with the DMM (defaults to Keithley 2110 adapter; swap imports in the script if needed):
- The
install/99-visa.rulesudev rule plusplugdevgroup membership are required for non-root USB access;install/setup_system.shapplies them. - If NI-VISA is installed, PyVISA will use it; otherwise
pyvisa-pyhandles USB/LAN via libusb. - Device drivers live under
src/testbench/**; add new instruments by subclassing the domain interfaces insrc/testbench/domains/. - These instructions are tested on Ubuntu 22.04.