Easily configurable lab assistant that logs data using SCPI protocol
-
Connect all of your SCPI-compatible test equipments (DMMs, AFGs, oscilloscopes, DC power supplies, spectrum analyzers, etc.) to a central computer. Supported connection methods include:
- SCPI over TTY over USB (
/dev/ttyUSB0
) - SCPI over TCP over LAN (IP address + port)
- (TODO) SCPI over USBTMC (
/dev/usbtmc0
)
- SCPI over TTY over USB (
-
Write a YAML configuration describing your setup:
channels: dmm: !tcp host: 10.11.13.200 port: 5025 ps: !tty dev: /dev/ttyUSB0 baud: 9600 stop: 2
-
In the same YAML file, write your testing plan:
steps: - !send {channel: ps, cmd: 'OUTP ON'} - !delay {seconds: 1} - !send {channel: dmm, cmd: 'MEAS:VOLT:DC?'} - U1: !recv {channel: dmm, unit: V} - !send {channel: ps, cmd: 'OUTP OFF'} - !send {channel: dmm, cmd: 'MEAS:VOLT:DC?'} - U2: !recv {channel: dmm, unit: V} - U: !math {op: '-', operands: ['U1', 'U2'], unit: V}
-
Download and compile
lab-scpi
:git get b1f6c1c4/lab-scpi cd lab-scpi cmake -G Ninja -S . -B cmake-build-release -DCMAKE_BUILD_TYPE=Release cmake --build cmake-build-release
-
Run the executable:
./cmake-build-release/lab <path-to-config>.yaml <path-to-data>.json