Poll

What OS platform would you like to see lxi-tools ported to next?

Windows
macOS
Other
Don't port it - Linux is the future for all!

Author Topic: Open source lxi-tools and liblxi v1.0 released for GNU/Linux  (Read 89541 times)

0 Members and 1 Guest are viewing this topic.

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #175 on: January 14, 2018, 12:55:30 pm »
A better approach would be to add support to send commands to USBTMC or a COM port (both are pretty similar). VISA is way to bloated.
I was not suggesting to use the NI-VISA implementation, but abstracting the protocol used to access an instrument. For example, there is a Python implementation that is pretty light weight. When I was controlling a DSO that could either controlled through RS-232 or GPIB, I made my own abstraction that would call either ibconfig(), ibwrt() etc for GPIB, or tcsetattr(), write() etc for RS-232, so I did not have to sprinkle conditionals all through my code.

But obviously in a volunteer project the decision on what direction to go is entirely on the developers doing the work.

I think supporting non-LXI interfaces is out of scope for lxi-tools, VISA abstracted or not.

However, I do plan to support instruments with GPIB/RS-232 etc. but do so via a LXI bridge adapter.

Once lxi-tools is in a good shape I hope to maybe design such a thing and support it with open source firmware :)

After all, the future is about everything being network connected :)
« Last Edit: January 14, 2018, 12:57:52 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #176 on: January 16, 2018, 11:52:46 pm »
I've added the benchmark feature to the new lxi-gui application:

« Last Edit: January 17, 2018, 12:02:55 am by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #177 on: January 17, 2018, 08:47:58 pm »
Basic screenshot feature added:





Still a lot to be done. Needs some sort of (full screen) image viewer feature and perhaps a screenshot live view feature (continuously take screenshots - in case of the SDS1204X-E it can perform about 3 frames/second which is pretty good).
« Last Edit: January 19, 2018, 02:06:11 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: tautech

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #178 on: January 18, 2018, 06:01:09 pm »
FYI - for those who want to try out the new lxi-gui application you should now be able to install and start it using the following commands:

Code: [Select]
$ snap install lxi-tools --edge
$ lxi-tools.lxi-gui

It should also be possible to simply start the application by searching for it in whatever desktop environment you have installed.

lxi-gui is still work in progress and I consider it BETA quality but the basic features are working (discover, SCPI, Screenshot, Benchmark).

If there is anyone out there who would like to help refine the GUI application please feel free to join the project.

I'm not an expert QT5 programmer so it takes time to figure out how to do QT stuff so any help would be appreciated, even if you have no experience in QT programming.

Also, if anyone have some good ideas on features or in which direction lxi-gui should go let yourself be heard :)

Some have suggested to add GUI frontends for various instruments. It is certainly a possibility but I don't have the bandwidth to create nor test such instrument specific interfaces myself. These are things which would be excellent to engage in by contributors who find such things useful. Imagine one of the tab views in lxi-gui automatically showing the instrument UI for the selected and supported instrument...
« Last Edit: January 19, 2018, 11:01:43 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #179 on: January 19, 2018, 03:34:11 pm »
I've added the IEEE 488.2 Common Commands in the SCPI tab:



Each of the common command buttons displays a tool tip when hovering the mouse over the button.
« Last Edit: January 19, 2018, 10:51:59 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #180 on: January 20, 2018, 08:46:33 am »
The GUI is now fully responsive, meaning it supports resizing the application window to any size and the contents will adjust accordingly.

I consider the widget layout done. It's available via snap. I expect to include lxi-gui in an upcoming lxi-tools release.

This is what the final result looks like:











« Last Edit: January 20, 2018, 05:27:39 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: tautech, ralphrmartin

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #181 on: January 22, 2018, 05:48:48 pm »
First attempt at adding a simple data recorder feature:

https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: ralphrmartin, HoracioDos

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #182 on: January 24, 2018, 05:20:44 pm »
I've added a vote in the top of this thread: "What OS platform would you like to see lxi-tools ported to next?"

Feel free to cast your vote. Thanks  :-+
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: 00
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #183 on: January 24, 2018, 06:15:20 pm »
I've added a vote in the top of this thread: "What OS platform would you like to see lxi-tools ported to next?"

Feel free to cast your vote. Thanks  :-+

I would like to see that you don't divide your resources over multiple platforms. Instead, focus on Linux only.

 
The following users thanked this post: stj

Offline HoracioDos

  • Frequent Contributor
  • **
  • Posts: 344
  • Country: ar
  • Just an IT monkey with a DSO
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #184 on: January 26, 2018, 01:24:23 am »
I would like to see that you don't divide your resources over multiple platforms. Instead, focus on Linux only.

Yeap! There's a missing option that I would like to vote: NONE!!!   >:D

 
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #185 on: January 26, 2018, 02:37:39 am »
I would like to see that you don't divide your resources over multiple platforms. Instead, focus on Linux only.

Yeap! There's a missing option that I would like to vote: NONE!!!   >:D

Ha ha guys - I see what you are saying. Don't worry - I don't expect to spend time porting it anytime soon. The poll is just to get a feeling of what the demand is for other platforms.
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #186 on: January 27, 2018, 11:36:43 pm »
lxi-tools v1.17 has been released - see http://lxi-tools.github.io

This is the first release to include the new lxi-gui frontend which features some of the same features as the lxi command line tool plus a few additional features such as a screenshot viewer (single shot and live view) and a simple data recorder. lxi-gui is considered BETA but in a perfectly usable state.

It is available for installation via snap.



« Last Edit: January 28, 2018, 12:05:34 am by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline Dwaine

  • Frequent Contributor
  • **
  • Posts: 299
  • Country: ca
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #187 on: January 28, 2018, 08:03:18 am »
How do you compile the lxi-gui?
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #188 on: January 28, 2018, 01:50:41 pm »
How do you compile the lxi-gui?

By default the configure script disables lxi-gui.

You have to add the '--enable-lxi-gui' configure flag.

However, if you can, I recommend simply using snap to install latest version which includes lxi-gui (lxi-tools.lxi-gui).
« Last Edit: January 28, 2018, 02:03:20 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline Dwaine

  • Frequent Contributor
  • **
  • Posts: 299
  • Country: ca
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #189 on: January 28, 2018, 11:44:40 pm »
Thanks.   I prefer to build by source.
 
The following users thanked this post: HoracioDos

Offline Dwaine

  • Frequent Contributor
  • **
  • Posts: 299
  • Country: ca
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #190 on: January 29, 2018, 12:15:12 am »
That worked great.  I had to change the Makefile.in for the fedora qmake-qt5. It was defaulting to qmake.

The GUI is really nice. Worked great with my Rigol scope.  Testing out the graphing with my DM3068.
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #191 on: January 29, 2018, 12:31:43 am »
That worked great.  I had to change the Makefile.in for the fedora qmake-qt5. It was defaulting to qmake.

The GUI is really nice. Worked great with my Rigol scope.  Testing out the graphing with my DM3068.

Great, and thanks  :-+

I'm pretty happy with the general design of the GUI - I hope we can keep this simple layout even as more features are added in the future.

FYI - the issue with calling the correct qmake should be resolved in latest git (it is now calling QT5 qmake indirectly via the qtchooser tool).

« Last Edit: January 29, 2018, 08:22:55 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline ralphrmartin

  • Frequent Contributor
  • **
  • Posts: 479
  • Country: gb
    • Me
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #192 on: January 30, 2018, 10:42:28 am »
Lundmar

Just a quick comment - the GUI is a little inflexible for small screens. I am running all this on a MacBook Air (under VirtualBox) which gives me an effective screen height of  just over 700 pixels. As a result, the bottom of the window is cut off, and there is no scroll bar etc to make it visible. Is there any simple way to make the window a bit more friendly to smaller screens?

Thanks for all the good work on this!

Ralph
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #193 on: January 30, 2018, 11:25:35 am »
Lundmar

Just a quick comment - the GUI is a little inflexible for small screens. I am running all this on a MacBook Air (under VirtualBox) which gives me an effective screen height of  just over 700 pixels. As a result, the bottom of the window is cut off, and there is no scroll bar etc to make it visible. Is there any simple way to make the window a bit more friendly to smaller screens?

Thanks for all the good work on this!

Ralph

Hmm, isn't mac supposed to have them fancy high resolution Retina displays? ;)

I've reduced the minimum window size to 700x600 so I assume you can fit it now.
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: ralphrmartin

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #194 on: February 01, 2018, 05:50:05 pm »
I had to go back and update the benchmark performance numbers for the Siglent SDS1204X-E because it turns out my network routing tables were messed up so all tests were performed over wifi - arrghhhh!  |O

Over cabled network it's not doing ~300 requests/second.... It's doing ~1100 requests/second!!!!

Bam! Thats almost as fast as a Dolorean in overdrive!

With such result there is plenty room to make a poor-mans-datalogger sampling maybe several values at e.g. 100Hz or more.

Oh, and the screenshot live view feature in lxi-gui is now even more smooth hitting about 7 frames/second.
« Last Edit: February 01, 2018, 06:00:24 pm by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: tautech

Offline technogeeky

  • Frequent Contributor
  • **
  • Posts: 555
  • Country: us
  • Older New "New Player" Player Playa'
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #195 on: February 01, 2018, 06:34:11 pm »
I had to go back and update the benchmark performance numbers for the Siglent SDS1204X-E because it turns out my network routing tables were messed up so all tests were performed over wifi - arrghhhh!  |O

Over cabled network it's not doing ~300 requests/second.... It's doing ~1100 requests/second!!!!

Bam! Thats almost as fast as a Dolorean in overdrive!

With such result there is plenty room to make a poor-mans-datalogger sampling maybe several values at e.g. 100Hz or more.

Oh, and the screenshot live view feature in lxi-gui is now even more smooth hitting about 7 frames/second.

I haven't looked into this software for my oscilloscope (1054z), but I wanted to point out two things I learned when testing various software and hardware configurations in an effort to get the fastest screen capture of the 1054z to make videos/GIFs.

The first thing I learned is that, for the 1054z at least, there is a big difference in screen capture speed over ethernet versus USB; and furthermore this difference changes depending on OS. In my case (Linux) the USB capture was the fastest (maximum capture rate is about 1/3 of a second versus about 2 seconds).

So once I settled on the software and the USB screen capture method, I used the Rigol Bildschirmkopie software to capture "as fast as possible" (the next fastest option being once per second).

However while this does work, it causes many in-scope computed functions to slow down or cease computing entirely! This includes things like updating the various measurement items at the bottom of the screen; it includes the MATH functionality, and it includes the FFT. In other words, while the oscilloscope trace itself would be correct on every screen capture (every 1/3 of a second), the reported measured values would just freeze and stay the same (on both the oscilloscope and the captured screen). The FFT would freeze. And so on.

I'm aware of the notion that one of the main advantages of these new Siglent oscilloscopes is that they are faster, but I wanted to make sure you keep this in mind when doing tests and make sure to report this kind of behavior if you see it. If you do see it, it may be helpful to report the fastest synthetic test to get screen captures and also report how much slower you have to go, if any, to get all features on the screen to update.

As a corollary to this, since it seems the behavior of the Rigol is to drop updating certain on-screen functions if screenshot requests are made too fast, perhaps the Siglent behaves differently: it may slow down screenshot capture rates if there is much more computation going on. Perhaps this is worth testing too.

In any case, please capture a bunch of screenshots and use some software to string them together into a GIF so you can post it here and show off how pretty it is.

I use the free software GIMP, and the steps are pretty easy:

1. "Open as Layers" all of the captures.
2. Do Filters -> Animation -> Optimize (for GIF)
3. Export as GIF, and be sure to set: export as animation, set a reasonable delay between frames, use delay for all frames, and select combine.

I look forward to seeing some samples of what that scope can do in this regard!
 

Offline Karel

  • Super Contributor
  • ***
  • Posts: 2214
  • Country: 00
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #196 on: February 01, 2018, 07:04:45 pm »
In my case (Linux) the USB capture was the fastest (maximum capture rate is about 1/3 of a second versus about 2 seconds).

Put a USB webcam in front of the scope and you'll get a much higher framerate.
And it doesn't slowdown the scope...
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #197 on: February 01, 2018, 07:11:24 pm »
I haven't looked into this software for my oscilloscope (1054z), but I wanted to point out two things I learned when testing various software and hardware configurations in an effort to get the fastest screen capture of the 1054z to make videos/GIFs.

The first thing I learned is that, for the 1054z at least, there is a big difference in screen capture speed over ethernet versus USB; and furthermore this difference changes depending on OS. In my case (Linux) the USB capture was the fastest (maximum capture rate is about 1/3 of a second versus about 2 seconds).

So once I settled on the software and the USB screen capture method, I used the Rigol Bildschirmkopie software to capture "as fast as possible" (the next fastest option being once per second).

However while this does work, it causes many in-scope computed functions to slow down or cease computing entirely! This includes things like updating the various measurement items at the bottom of the screen; it includes the MATH functionality, and it includes the FFT. In other words, while the oscilloscope trace itself would be correct on every screen capture (every 1/3 of a second), the reported measured values would just freeze and stay the same (on both the oscilloscope and the captured screen). The FFT would freeze. And so on.

I'm aware of the notion that one of the main advantages of these new Siglent oscilloscopes is that they are faster, but I wanted to make sure you keep this in mind when doing tests and make sure to report this kind of behavior if you see it. If you do see it, it may be helpful to report the fastest synthetic test to get screen captures and also report how much slower you have to go, if any, to get all features on the screen to update.

As a corollary to this, since it seems the behavior of the Rigol is to drop updating certain on-screen functions if screenshot requests are made too fast, perhaps the Siglent behaves differently: it may slow down screenshot capture rates if there is much more computation going on. Perhaps this is worth testing too.


Sure - I already plan to report back such findings. But first I have to fix some things with the data recorder feature in lxi-gui - once that is solved I'm going to play around to see how fast my instruments can actually sample with 2 or more data measurements.

I am of course fully aware there is a difference between benchmarking the request/response time and sampling various measurements. If the measurements are super slow because the chipset or any of its sampling subsystems are slow or overloaded then a quick network response time is no use.

I'm not surprised USB is faster on your Rigol, after all USB2 is 4-5 times faster than your typical 100 Mb/s Ethernet connection which most instruments still rely on. They have yet to jump the 1 Gb/s wagon. I expect we will see that happen soon as modern chipsets are now starting to feature 1G/s network interfaces.

In any case, please capture a bunch of screenshots and use some software to string them together into a GIF so you can post it here and show off how pretty it is.

I use the free software GIMP, and the steps are pretty easy:

1. "Open as Layers" all of the captures.
2. Do Filters -> Animation -> Optimize (for GIF)
3. Export as GIF, and be sure to set: export as animation, set a reasonable delay between frames, use delay for all frames, and select combine.

I look forward to seeing some samples of what that scope can do in this regard!

I can put together a small sample.
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 

Offline technogeeky

  • Frequent Contributor
  • **
  • Posts: 555
  • Country: us
  • Older New "New Player" Player Playa'
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #198 on: February 01, 2018, 07:12:36 pm »
In my case (Linux) the USB capture was the fastest (maximum capture rate is about 1/3 of a second versus about 2 seconds).

Put a USB webcam in front of the scope and you'll get a much higher framerate.
And it doesn't slowdown the scope...

As though I hadn't considered this. A scope capture program also doesn't suffer from hands going in front of the screen.

In practice, the solution I mentioned works quite well. For example*:




* Note this is at a deceptively high frame rate because it's a capture over 45 minutes.


Another example, taken at 1 screenshot per second:

.
 

Offline lundmarTopic starter

  • Frequent Contributor
  • **
  • Posts: 436
  • Country: dk
Re: Open source lxi-tools and liblxi v1.0 released for GNU/Linux
« Reply #199 on: February 01, 2018, 08:44:29 pm »
I captured a video instead to capture the time correctly:

https://raw.githubusercontent.com/lxi-tools/misc/master/lxi-gui-benchmark-live-view-sds1204xe.webm

It demonstrates the benchmark and live screenshot feature on the SDS1204X-E. It feels quite responsive.

Update: New video.
« Last Edit: February 03, 2018, 01:45:47 am by lundmar »
https://lxi-tools.github.io - Open source LXI tools
https://tio.github.io - A simple serial device I/O tool
 
The following users thanked this post: tautech, technogeeky


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf