lxi
Control LXI compatible instruments such as oscilloscopes.
TLDR
Discover LXI devices on available networks
Capture a screenshot, detecting a plugin automatically
Capture a screenshot using a specified plugin
Send an SCPI command to an instrument
Run a benchmark for request and response performance
SYNOPSIS
lxi [ --help ] [ --version ] <command> [<args>]
DESCRIPTION
lxi is a commandline tool for controlling LXI compatible instruments such as modern oscilloscopes, power supplies, spectrum analyzers, etc.
OPTIONS
- -h, --help
-
Display help
- -v, --version
-
Display program version
COMMANDS
discover [<options>]
Search available networks for LXI devices
scpi [<options>] <SCPI-command>
Send SCPI command
screenshot [<options>] [<filename>]
Capture screenshot
benchmark [<options>]
Benchmark
run [<options>] <filename>
Run Lua script
DISCOVER OPTIONS
- -t, --timeout <seconds>
-
Timeout in seconds
- -m, --mdns
-
Search via mDNS/DNS-SD
SCPI OPTIONS
- -a, --address <ip>
-
IP address of LXI device
- -p, --port
-
Use port
- -t, --timeout <seconds>
-
Timeout in seconds
- -x, --hex
-
Print response in hexadecimal
- -i, --interactive
-
Enter interactive mode
- -s, --script <filename>
-
Run script (plain text file with one SCPI command per line)
- -r, --raw
-
Use raw/TCP protocol
SCREENSHOT OPTIONS
- -a, --address <ip>
-
IP address of LXI device
- -t, --timeout <seconds>
-
Timeout in seconds
- -p, --plugin <name>
-
Use screenshot plugin by name
If this option is omitted the tool will automatically try to select the most suitable plugin.
- -l, --list
-
List available screenshot plugins
- To write screenshot image to stdout simply use '-' as the output filename.
BENCHMARK OPTIONS
- -a, --address <ip>
-
IP address of LXI device
- -p, --port
-
Use port
- -t, --timeout <seconds>
-
Timeout in seconds
- -c, --count <count>
-
Number of request messages
- -r, --raw
-
Use raw/TCP protocol
RUN OPTIONS
- -t, --timeout <seconds>
-
Timeout in seconds
EXAMPLES
- Search for LXI instruments:
-
lxi discover
- Search for LXI instruments using mDNS/DNS-SD:
-
lxi discover --mdns
- Send SCPI command:
-
lxi scpi --address 10.0.0.42 "*IDN?"
- Send SCPI command and dump response to file:
-
lxi scpi --address 10.0.0.42 "*IDN?" > response.txt
- Capture screenshot from a Rigol 1000Z series oscilloscope:
-
lxi screenshot --address 10.0.0.42 --plugin rigol-1000z
Or by using screenshot plugin autodetection simply:
lxi screenshot --address 10.0.0.42
Note: Some LXI devices are slow to process SCPI commands, in which case you might need to take care to increase the timeout value.
WEBSITE
Visit https://lxi-tools.github.io
AUTHOR
Written by Martin Lund <martin.lund@keep-it-simple.com>