Feature request 6.3. - make model optional, and auto identify the model using the IP and *IDN?
Thanks for this good idea feature request
. I've implemented it in
https://github.com/lxi/lxi-tools/commit/4b07a40e1c07afb099b0842a34e1f01e8031b462This means that the lxi tool can now be used like this:
$ lxi screenshot --address 192.168.1.210
Loaded rigol-1000 screenshot plugin
Saved screenshot image to screenshot_192.168.1.210_2017-11-10_16:07:48.png
The way it works is that it retrieves the ID string of the instrument and matches that against regular expressions provided in each plugin. The plugin with most matches is selected. Using regular expression matching is quite powerful so I expect this will work fine for future needs. Currently, only the Rigol plugins work with this feature as they are the only ones defining useful .regex entries. The other plugins will have to follow when someone shows up with real instruments that can be tested.
Also, I've done away with any model vs. plugin confusion and simplified the interface to manually specify which screenshot plugin to use:
$ lxi screenshot --address 192.168.1.210 --plugin rigol-1000
Saved screenshot image to screenshot_192.168.1.210_2017-11-10_16:08:36.png
Feature request 6.5. - add an option for instrument ID in the filename (can be more than just 1 oscilloscope on the same network, so after a save there is no way to identify where from is the captured screen)
I've implemented a compromise solution in
https://github.com/lxi/lxi-tools/commit/080681f7af460b47c24ad09f46809fa65c5cb687Trying to add unique instrument ID in the screenshot filename is troublesome because the IDN strings have no strictly guaranteed format (only guidelines) so we can run into all sorts of trouble trying to render something useful from it. Hence the alternative solution is to simply embed the instrument IP in the screenshot filename to help tell from which instrument screenshot files originate. It's not an unique identifier but it is sufficient for most use cases.
Some important features and bug fixes have been added so I'm releasing a new version of lxi-tools:
https://github.com/lxi/lxi-tools/releases/download/v1.7/lxi-tools-1.7.tar.xzFor a summary of changes please see:
https://github.com/lxi/lxi-tools/releases/tag/v1.7Thanks to especially RoGeorge for his thorough testing and useful feature requests. Also thanks to dpenev for his testing and help fixing the rigol-2000 screenshot plugin. I've added the instruments that you guys have tested working in the list of tested instruments in the README of lxi-tools.
P.S.: I want to add you guys to the list of contributors in the AUTHORS file. If you are ok with that, please let me know.
I've refined and added some more information to the original post that started this thread. People might find it useful information.
Hello,
A bit off topic but can be useful for someone .
I have SSA3021X and inspired by the lxi-tool I have implemented procedure to capture the instrument screen from a PC.
It uses lxi-tool to send ":MMEMory:STORe" command
and telnet to download the file.
I hope Siglent will implement a way to transfer a file using scpi command so this script will become unnecessary
extract the two scripts from the tar in a directory
from this directory execute
./ssa3000x_print print.png
Note that you need to specify the file name with the extension png.
I guess each time new file name is required.
Files with path is not supported.
The shell scrip is not polished but is working for me.
Feel free to improve and please share.
Thanks
Dimitar
I hope Siglent will implement a way to transfer a file using scpi command so this script will become unnecessary
I hope so too. It's quite the detour to have to go manually retrieve the screenshot file like that through the back channel but nice job getting there
You should request Siglent to create a new firmware for the SSA3000 so that it becomes possible to simply dump the screenshot directly via the VXI11 channel. It would be faster and more elegant and should be trivial for them to implement.
I like the fact they are using TI AM335x but its funny to see how they did not remove the traces of the "evm" strings.
I've pushed a new release of lxi-tools which adds a screenshot plugin for the new Siglent SDS1000X series scopes:
https://github.com/lxi/lxi-tools/releases/tag/v1.8It's experimental, that is, it is not tested. If anyone has such an instrument feel free to try it out and let me know if it works. Thanks.
3. I have Siglent SSA3021X instrument.
lxi screenshot -a 192.168.1.59 #Doesn't work for it. Is it a big deal to add support?
Update: I've added a screenshot plugin for the Siglent SSA3000X series spectrum analyzers.
It does not do a full screen capture but it captures the inner frame of interest, that is, the signal data window. Please try it out and let me know if it works.
Thanks to Jason from Siglent for providing the info necessary to create the plugin.
Hi lundmar,
I have tested it from the git master and I get empty bmp.
I have checked your plugin and I saw that you are not using the response from SCPI command or do I miss something?
In case this is a bug please check screenshot_siglent-sds1000x.c as well.
I have checked your plugin and I saw that you are not using the response from SCPI command or do I miss something?
In case this is a bug please check screenshot_siglent-sds1000x.c as well.
You are correct. I have pushed a fix for both Siglent screenshot plugins. Thanks.
FYI - I'm currently working on improving the discover feature by searching for instrument services using mDNS/DNS-SD. I'm curious if it will work with Siglent instruments because I know that the classic VXI11 discover feature that we support now does not work.
Hello
Still the following doesn't work
lxi screenshot -a 192.168.1.61 -p siglent-ssa3000x /share/scr3.png
I am sending you the file I get
at my side
lxi discover
Searching for LXI devices - please wait...
Broadcasting on interface lo
Broadcasting on interface eth0
Found "Siglent Technologies,SSA3032X,SSA3XXXXXXXXXX,1.2.8.5a" on address 192.168.1.61
Found 1 device
lxi screenshot -a 192.168.1.61 -p siglent-ssa3000x /share/scr3.png
I am sending you the file I get
Hmm, does not look like a bitmap. I've pushed a new change to test. Can you try it out and send me a new file? Thanks.
Also, can you try without the -p option, just to see if it automatically loads the correct plugin.
at my side
lxi discover
Searching for LXI devices - please wait...
Broadcasting on interface lo
Broadcasting on interface eth0
Found "Siglent Technologies,SSA3032X,SSA3XXXXXXXXXX,1.2.8.5a" on address 192.168.1.61
Found 1 device
Oh great. I was told by Siglent that some of their instruments may not discover but it could be a tool issue. Apparently the recent SSA and presumably also SDS works fine with the lxi-tools discover feature. Either way, we will soon have a discover --mdns option which will allow for finding even more instruments, in particular next gen LXI instruments
FYI - I've released new versions of liblxi and lxi-tools which add support for searching for LXI instruments using mDNS/DNS-SD as described by the most recent LXI device specification.
This means it is now possible to discover modern LXI instruments that do not support the older VXI-11 discover mechanism.
To search for LXI instruments using mDNS/DNS-SD simply add the --mdns option to the discover command like so:
$ lxi discover --mdns
Hi Lundmar
With the latest liblxi and lxi-tools I get:
root@yni:/home/dpenev/lxi-tools/lxi-tools# lxi discover --mdns
lxi: unrecognized option '--mdns'
root@yni:/home/dpenev/lxi-tools/lxi-tools# lxi discover
Searching for LXI devices - please wait...
Error: Unknown discover type (532306400)
No devices found
root@yni:/home/dpenev/lxi-tools/lxi-tools#
Hi Lundmar
With the latest liblxi and lxi-tools I get:
root@yni:/home/dpenev/lxi-tools/lxi-tools# lxi discover --mdns
lxi: unrecognized option '--mdns'
root@yni:/home/dpenev/lxi-tools/lxi-tools# lxi discover
Searching for LXI devices - please wait...
Error: Unknown discover type (532306400)
No devices found
root@yni:/home/dpenev/lxi-tools/lxi-tools#
It looks like you are not running latest version of lxi-tools. I assume you are pulling the latest from git? Perhaps you forgot to run make install?
Both liblxi and lxi-tools must match latest versions.
Also, for the new feature to work you must install libavahi-core-dev libavahi-common-dev libavahi-client-dev
Hello,
I tried the latest version
"lxi discover" is working for my Rigol DS2000 scope and my Siglent SSA3000 amalyzer
dpenev@yni:~/lxi-tools/lxi-tools$ lxi discover --mdns
Searching for LXI devices - please wait...
No services found
Should I start something on my PC?
Screenshot for SSA3000 doesn't work at my side
lxi screenshot -a 192.168.1.61 -p siglent-ssa3000x scr10.png
I am attaching two files I get with line like the above.
I tried the latest version
"lxi discover" is working for my Rigol DS2000 scope and my Siglent SSA3000 amalyzer
Great. Thanks for testing
dpenev@yni:~/lxi-tools/lxi-tools$ lxi discover --mdns
Searching for LXI devices - please wait...
No services found
Should I start something on my PC?
No, its fine. It simply means that these particular instruments do not advertise their presence using mDNS. It's a relatively new feature that many LXI instruments do not support yet.
Screenshot for SSA3000 doesn't work at my side
lxi screenshot -a 192.168.1.61 -p siglent-ssa3000x scr10.png
I am attaching two files I get with line like the above.
Yeah, the files still look like they contain rubbish. There is a pattern but it is certainly not PNG. Perhaps I'm missing some SCPI commands to reconfigure the instrument for PNG image format. I will talk to Siglent to check if I'm missing something here.
By the way, could you please try firing the following command:
lxi screenshot -a 192.168.1.61
And tell me if it autodetects the correct screenshot plugin ("siglent-ssa3000x"). Thanks.
I have added some plugins for Rigol devices, the changed files are in the tar archive.
I can't handle git yet.
Peter
pedre@debian:~/Programme/lxi/bin$ ./lxi screenshot --list
Name Description
keysight-iv2000x Keysight InfiniVision 2000X series oscilloscopes (experimental)
rigol-1000 Rigol DS/MSO 1000z series oscilloscopes
rigol-2000 Rigol DS/MSO 2000 series oscilloscopes
rigol-dg4000 Rigol DG4000 series function generator
rigol-dm3000 Rigol DM3000 series digital multimeter
rigol-dp800 Rigol DP800 series power supply
rigol-dsa800 Rigol DSA800 series spectrum analyzer
rigol-dsa700 Rigol DSA700 series spectrum analyzer
rs-hmo1000 Rohde & Schwarz HMO 1000 series oscilloscopes (experimental)
siglent-sds1000x Siglent SDS 1000X series oscilloscopes (experimental)
siglent-ssa3000x Siglent SSA 3000X series spectrum analyzers (experimental)
tektronix-2000 Tektronix DPO/MSO 2000 series oscilloscopes (experimental)
Edit: tar archiv new uploaded
Thanks Peter, good stuff
I've merged your files and made a git commit on your behalf. See
https://github.com/lxi/lxi-tools/commit/c0a4199c50f819e069d96285b7de89be927b8cb6I would like to add you to the contributor list in the AUTHORS file (see
https://github.com/lxi/lxi-tools/blob/master/AUTHORS ). I can add you as "PeDre from EEVBlog forum" or by name/email like the others listed. Please let me know what you prefer. Thanks.
Also, have you tested any of the plugins? If not, I will add "(experimental)" to the plugin descriptions.
Isn't it fascinating to see the many different ways Rigol do screenshot SCPI commands? Consistency across products is apparently not a thing at Rigol he he. However, I don't think other manufacturers do much better.
the plugin for SSA3000x is automatically recognized, see bellow
dpenev@yni:~/lxi-tools/lxi-tools$ sudo lxi screenshot -a 192.168.1.61
Loaded siglent-ssa3000x screenshot plugin
Saved screenshot image to screenshot_192.168.1.61_2017-11-23_19:56:10.bmp
The DM3068 is simulated, with my own programmed LXI server.
The DSA700 is identical to the DSA800.
The other devices have been tested.
Peter
pedre@debian:~/Programme/lxi/bin$ ./lxi discover
Searching for LXI devices - please wait...
Broadcasting on interface lo
Broadcasting on interface enp2s0
Found "Rigol Technologies,DG4162,DG4D135100282,00.01.12" on address 192.168.1.54
Found "RIGOL TECHNOLOGIES,DP831,DP8F174900273,00.01.14" on address 192.168.1.55
Found "RIGOL TECHNOLOGIES,MSO2302A,DS2F161650093,00.03.05.SP3" on address 192.168.1.52
Found "Rigol Technologies,DM3068,DM301513679735,01.01.00.01.07.00" on address 192.168.1.37
Found "Rigol Technologies,DSA815,DSA8A143300837,00.01.18.00.02" on address 192.168.1.51
Found "RIGOL TECHNOLOGIES,DS1104Z,DS1ZB161150038,00.04.04.SP3" on address 192.168.1.53
Found 6 devices
pedre@debian:~/Programme/lxi/bin$ ./lxi screenshot -a 192.168.1.54
Loaded rigol-dg4000 screenshot plugin
Saved screenshot image to screenshot_192.168.1.54_2017-11-23_18:53:19.bmp
pedre@debian:~/Programme/lxi/bin$ ./lxi screenshot -a 192.168.1.55
Loaded rigol-dp800 screenshot plugin
Saved screenshot image to screenshot_192.168.1.55_2017-11-23_18:52:03.bmp
pedre@debian:~/Programme/lxi/bin$ ./lxi screenshot -a 192.168.1.37
Loaded rigol-dm3000 screenshot plugin
Saved screenshot image to screenshot_192.168.1.37_2017-11-23_18:52:23.bmp
pedre@debian:~/Programme/lxi/bin$ ./lxi screenshot -a 192.168.1.51
Loaded rigol-dsa800 screenshot plugin
Saved screenshot image to screenshot_192.168.1.51_2017-11-23_18:52:50.bmp
[/code]
Great, thanks. Then I will simply consider them all non-experimental and also add your instrument models to the list of tested instruments.
Your own LXI server? (VXI-11 or RAW?) Sounds interesting - is it something publicly available? What language is it written in?
FYI - I'm currently writing a full blown HiSlip/TCP client/server library in C so we can have first class open source HiSlip support on GNU/Linux systems and in particular lxi-tools of course.
Btw., you din't tell me how you would like to be added in the AUTHORS file.
Thanks.
the plugin for SSA3000x is automatically recognized, see bellow
dpenev@yni:~/lxi-tools/lxi-tools$ sudo lxi screenshot -a 192.168.1.61
Loaded siglent-ssa3000x screenshot plugin
Saved screenshot image to screenshot_192.168.1.61_2017-11-23_19:56:10.bmp
Great, thanks. At least we know that feature works.
I'll get back to you once I get a response from Siglent on exactly what SCPI commands are required for PNG capture.
The server is programmed in Xojo for Windows and uses VXI-11.
Was only programmed for a test for my screen capture program.
http://peter.dreisiebner.at/rigol-bildschirmkopie-lan/
Nice. I don't know much of xojo but it looks cool.
I don't need to be named as an author.
Too late, I've already added you as "PeDre from EEVBlog forum" in the contributor section
I think it is best to do so on principle to show it is not a one man show and also to put credit where credit is due.
@RoGeorge, @depenev : I've also added both of you by EEVBlog nickname. I appreciate all the testing and ideas you guys have contributed - it has allowed me to vastly improve the tool over the last few weeks.
After all, I think it is appropriate since it is thanksgiving day in some parts of the world today
The DSA700 is identical to the DSA800.
The other devices have been tested.
By the way, is there any chance any of the devices you have tested can be reconfigured for PNG screenshot download?
PNG is the preferred image format for the plugins so if it is possible that would be great. I know that DS2000 series only supports BMP for some unknown reason.
FYI - I've made new releases. This time it is mostly documentation updates but also a bunch of new Rigol screenshot plugins thanks to PeDre.
The DSA800 can also handle screen shots in PNG format, but takes twice as long to do so.
The Rigol devices are fastest with the BMP format.
It is better to change the format when saving.
Ok, I see. I thought PNG would be faster because of the smaller size but obviously the image compression is too costly in time for whatever CPU Rigol is using. Lets just keep it as it is then.
Howdy,
I keep running into issues with LXI-TOOLS...
so far support from Lundar has been great. Jet spamming GitHub with issues that might only be my system isn't too great.
I have been following install instructions on this forum jet I got stuck here:
after installing LIB, and TOOLS trying to start the program on the command line.
$ lxi --help
lxi: error while loading shared libraries: liblxi.so.1: cannot open shared object file: No such file or directory
i am running Linux LAB 4.4.0-53-generic #74-Ubuntu SMP Fri Dec 2 15:59:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Or Linux Mint 18.1 Cinnamon 64-bit
if that floats your goat.
As solving this issue has many solutions hence I wanted to ask first before fumbling around.