Hi,
I have released lxi-tools for GNU/Linux - see
https://lxi-tools.github.ioThe lxi-tools open source project provides the following:
- "lxi" - a command line tool that features a simple interface for discovering LXI compatible instruments, sending SCPI messages, capturing screenshots, benchmarking, and scripted automation
- "lxi-gui" - a GUI application that features some of the same features as the command line tool and additional features such as a screenshot viewer and a data recorder
- "liblxi" - a C library which provides a high level API for LXI instrument discovery (using VXI-11 or mDNS/DNS-SD) and basic SCPI communication (using RAW/TCP or VXI-11/TCP)
It's fully open source and available for download.
For details on how to use the commandline interface please see
https://github.com/lxi-tools/lxi-toolsInstallation:Latest lxi-tools:
lxi-tools-1.21.tar.xz (
Changes,
GitHub)
Latest liblxi:
liblxi-1.13.tar.xz (
Changes,
GitHub)
Install latest stable version using snap:
$ snap install lxi-tools Install latest development version using snap:
$ snap install lxi-tools --edge Supported snap architectures: amd64, i386, armhf
Visit
https://snapcraft.io to see how to install snap for your distribution.
If you are a Windows user you can install e.g. Virtualbox (see
https://www.virtualbox.org) and install Linux (e.g. Ubuntu 17.10) in a VM under which you install and run lxi-tools.
Note: Remember to reconfigure the VMs network interface to use a bridged network adapter (not NAT).
Motivation:This open source project is for people who don't care for the proprietary, costly, and often times inferior tools available for controlling LXI compatible instruments. The very reason I authored lxi-tools/liblxi is because I wanted better and simpler tools for controlling my instruments. Stuff like NI VISA drivers/tools etc. are just too bloated for my taste and not really open source friendly. I think we can do better. After all, LXI is an open standard so why not make some proper open source tools to support it
Tested instruments:The lxi commandline tool included in lxi-tools is tested to work successfully with the following instruments:
Instrument | Working features |
Keysight Technologies AWG 33612A | (discover+scpi+screenshot) |
Keysight Technologies DMM 34461A | (discover+scpi+screenshot) |
Keysight Technologies MSO-X 3024T | (discover+scpi+screenshot) |
Rigol Technologies DS1104Z | (discover+scpi+screenshot) |
Rigol Technologies DS2302 | (discover+scpi+screenshot) |
Rigol Technologies DG4062 | (discover+scpi+screenshot) |
Rigol Technologies DG4102 | (discover+scpi+screenshot) |
Rigol Technologies DG4162 | (discover+scpi+screenshot) |
Rigol Technologies DP831 | (discover+scpi+screenshot) |
Rigol Technologies DP832 | (discover+scpi+screenshot) |
Rigol Technologies DM3068 | (discover+scpi+screenshot) |
Rigol Technologies DSA815 | (discover+scpi+screenshot) |
Rigol Technologies MSO2302A | (discover+scpi+screenshot) |
Rigol Technologies DP832 | (discover+scpi+screenshot) |
Rohde & Schwarz HMC 8012 | (discover+scpi+screenshot) |
Rohde & Schwarz HMC 8043 | (discover+scpi+screenshot) |
Rohde & Schwarz HMO 1202 | (discover+scpi+screenshot) |
Rohde & Schwarz HMO 3054 | (scpi+screenshot) |
Rohde & Schwarz RTB 2004 | (discover+scpi+screenshot) |
Siglent Technologies SDG1032X | (discover+scpi+screenshot) |
Siglent Technologies SDG2122X | (discover+scpi+screenshot) |
Siglent Technologies SDG6052 | (discover+scpi+screenshot) |
Siglent Technologies SDS1202X-E | (discover+scpi+screenshot) |
Siglent Technologies SDS1204X-E | (discover+scpi+screenshot) |
Siglent Technologies SDS2304X | (discover+scpi+screenshot) |
Siglent Technologies SDM3045X | (discover+scpi+screenshot) |
Siglent Technologies SDM3055 | (discover+scpi+screenshot) |
Siglent Technologies SDM3065X | (discover+scpi+screenshot) |
Siglent Technologies SPD3303X-E | (scpi) |
Siglent Technologies SSA3032X | (discover+scpi+screenshot) |
Thanks to all the users in this forum who are helping to test and improve lxi-tools!
Future work include:- Test with more instruments (recurring task, looking for testers with instruments)
- Add screenshot plugins for more instruments (recurring task)
Push it to the most popular GNU/Linux distributions (Ubuntu/Debian, Fedora/RHEL, etc.)- Make it work on non-GNU/Linux systems (Windows, macOS, etc.)
Extend discover feature to support mDNS/DNS-SD- Add HiSlip/TCP support
Add a modern QT GUI app with features from commandline toolAdd support for advanced scripting in Lua- Add GUI feature to support running advanced scripts in a test batch mode (run, pause, continue, pass/fail etc.)
- Add IPv6 support
- ...
Call for contributors:Anyone who would like to contribute to this project is welcome to join in. All types of contributions are welcome (code, feature ideas, doc, test, etc.).
P.S.: Developers/hackers, feel free to contribute. Start maybe by adding e.g. screenshot plugins for your favorite LXI instruments and push them upstream to lxi-tools via GitHub.
P.P.S: For inspiration, see
https://github.com/lxi-tools/lxi-tools/blob/master/src/plugins/screenshot_rigol-1000z.c which is the code for the screenshot plugin for Rigol 1000z oscilloscopes.
P.P.P.S: lxi-tools is not in any way affiliated with the LXI consortium. It is a fully independent open source effort.
Steps for building and installing the latest versions from git source (Ubuntu/Debian example):sudo apt-get install git automake autogen autoconf libtool libreadline-dev libc-dev-bin libc6-dev libavahi-core-dev libavahi-common-dev libavahi-client-dev libxml2-dev liblua5.2-dev
mkdir lxi && cd lxi
git clone [url]https://github.com/lxi-tools/liblxi[/url] && cd liblxi
./autogen.sh
./configure --prefix=$HOME/opt/lxi
make install
cd ..
git clone [url]https://github.com/lxi-tools/lxi-tools[/url] && cd lxi-tools
./autogen.sh
./configure --prefix=$HOME/opt/lxi LDFLAGS=-L$HOME/opt/lxi/lib
make CFLAGS=-I$HOME/opt/lxi/include install
cd ..
export PATH=$HOME/opt/lxi/bin:$PATH