Products > Test Equipment

Open source lxi-tools and liblxi v1.0 released for GNU/Linux

(1/67) > >>

lundmar:
Hi,

I have released lxi-tools for GNU/Linux - see https://lxi-tools.github.io

The 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-tools

Installation:
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:

InstrumentWorking featuresKeysight 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 tool
* Add 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):


--- Code: ---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

--- End code ---

HoracioDos:
I've opened an issue for lxi-tools. Perhaps I'm messing things up when compiling

lundmar:

--- Quote from: HoracioDos on October 07, 2017, 08:51:23 pm ---I've opened an issue for lxi-tools. Perhaps I'm messing things up when compiling

--- End quote ---

Nope - you did actually find a real bug. Thanks for your github reporting.

It enabled me to quickly release lxi-tools v1.1 which includes the fix. It is available at http://lxi-tools.github.io

lundmar:
New versions of lxi-tools and liblxi are available at http://lxi-tools.github.io

They include some important bug fixes that resolves issues with some instruments not responding.

awallin:

do you have plans for python bindings?

Might be a stupid question, but what's the difference between LXI and VXI11?
I've been using this for basic things - with good success: https://github.com/python-ivi/python-vxi11

thanks,
Anders

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod