Author Topic: New Sigrok/PulseView hardware support (Siglent SDS HD, Rigol DHO800...)  (Read 2385 times)

0 Members and 1 Guest are viewing this topic.

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
I'm starting a new thread as a follow-up of the discussions on Siglent HD and Rigol DHO800/900 models support for Sigrok/PulseView.

There seems to be quite some frustration about the lack of activity in Sigrok development, and the fact that Pull Requests for new hardware never get merged in the codebase, due to the difficulty of testing changes on different scope models.
I was thinking, maybe we could leverage on the strong EEVblog community to overcome this testing issue.
So I spent (quite!) some time setting up a Linux building environment (as recommended by the Sigrok team) to be able to cross-compile PulseView Windows installer ; and I was able to create a binary with a first attempt of support for new Siglent models (2000X plus and 2000X HD) based on the work of Eric Kuzmenko.

It's been successfully tested on my SDS2000X HD over Ethernet (see pictures bellow).

If anyone is interested in testing it with other Siglent models, here is a link to the Windows (64bits) installer (zip password is 'sigrok').

I also own a Rigol DHO800, so my next challenge (when I come back from vacation, two weeks from now  8)) could be to try and add new Rigol models support if you guys are interested  :)...

I'm waiting for your feedback on this !

Cheers,

Frederic.

P.S. : The source code of my work is available here : https://github.com/fredzo/libsigrok

« Last Edit: July 18, 2024, 11:05:56 pm by fredo_ »
 
The following users thanked this post: kripton2035, egonotto, thm_w, tv84, JimKnopf, teddychn, dibro, TomKatt, ebourg, awakephd

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2648
  • Country: fr
    • kripton2035 schematics repository
subscribed...
if you can compile a binary for macos arm I would be really interesed ! I tried to compile original sigrok sources with no luck so far.
« Last Edit: June 27, 2024, 12:10:48 pm by kripton2035 »
 
The following users thanked this post: fredo_

Offline TomKatt

  • Frequent Contributor
  • **
  • Posts: 508
  • Country: us
That's a LOT of work - my hat is off to you.

Open source can be great, but sometimes things turn into spaghetti code over time and experienced coders move on to different projects leaving things in a state that can be difficult to add new features.  I'm surprised that the device driver foundation wasn't set up to be more flexible from the beginning, but I'm sure the original coders had their reasons...  Or simply never anticipated the project would grow to the extent that it did.

Edit - While it's obviously not the best option, if the desire to get newer Siglent / Rigol gear working with Sigrock is sufficient, perhaps the project just gets forked into a version that only works for those models so you don't have to test or worry about all the legacy devices...   Seems like the goal now is to add device compatibility rather than adding new functionality.  DSlogic took this approach when they 'borrowed' Sigrok's source code to create their DSview application for their own brand of logic analyzers.  While they were (rightfully) dragged through the mud for not disclosing that Sigrok's code was used to create their code, they might have got some slack for not contributing any improvements they made back to the original Sigrok project considering the difficulties mentioned earlier.

Edit2 - I wonder if Siglent's SigScopeLab software is aiming towards providing Sigrok like functionality for their compatible products?  I haven't tried it myself, but it seems limited and I understand from posts in the forums that it's a bit buggy as well.
« Last Edit: June 27, 2024, 03:02:02 pm by TomKatt »
Several Species of Small Furry Animals Gathered Together in a Cave and Grooving with a PICt
 
The following users thanked this post: fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
if you can compile a binary for macos arm I would be really interesed ! I tried to compile original sigrok sources with no luck so far.
Well that's another story!... You need a Mac and MacOS to do that, which I don't have :-(

That's a LOT of work - my hat is off to you.
Thanks TomKatt !

While it's obviously not the best option, if the desire to get newer Siglent / Rigol gear working with Sigrock is sufficient, perhaps the project just gets forked into a version that only works for those models so you don't have to test or worry about all the legacy devices...I understand from posts in the forums that it's a bit buggy as well.
Well my hope here is to find some help from owners of older Siglent models, to validate my patch so that it can hopefully be merged back to Sigrok's codebase :D

I wonder if Siglent's SigScopeLab software is aiming towards providing Sigrok like functionality for their compatible products?  I haven't tried it myself, but it seems limited and I understand from posts in the forums that it's a bit buggy as well.
Well I tried it when it got out and could not get anything out of it appart from hanging my scope to the point that I had to hard-reboot it  |O...
Just checked, there is no new version available yet...
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 54
  • Country: us
if you can compile a binary for macos arm I would be really interesed ! I tried to compile original sigrok sources with no luck so far.
Well that's another story!... You need a Mac and MacOS to do that, which I don't have :-(

I can build you a macOS binary, kripton, but as I recall you’re still on Ventura which I cannot build for arm64.  Unless you want x86_64, I’m afraid it’s Sonoma only.  Otherwise I can try to help you build your own but I suspect that will be a bit of a pain because my dependencies come from macports rather than homebrew like everyone seems to use these days.
« Last Edit: June 27, 2024, 07:11:25 pm by Spike »
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 54
  • Country: us
That's a LOT of work - my hat is off to you.

Open source can be great, but sometimes things turn into spaghetti code over time and experienced coders move on to different projects leaving things in a state that can be difficult to add new features.  I'm surprised that the device driver foundation wasn't set up to be more flexible from the beginning, but I'm sure the original coders had their reasons...  Or simply never anticipated the project would grow to the extent that it did.

Edit - While it's obviously not the best option, if the desire to get newer Siglent / Rigol gear working with Sigrock is sufficient, perhaps the project just gets forked into a version that only works for those models so you don't have to test or worry about all the legacy devices...   Seems like the goal now is to add device compatibility rather than adding new functionality.  DSlogic took this approach when they 'borrowed' Sigrok's source code to create their DSview application for their own brand of logic analyzers.  While they were (rightfully) dragged through the mud for not disclosing that Sigrok's code was used to create their code, they might have got some slack for not contributing any improvements they made back to the original Sigrok project considering the difficulties mentioned earlier.

I think that working toward the flexibility you talk about is effort better spent, rather than forking. Separating the hardware support from libsigrok altogether would be a good start.  These should be separately buildable and dynamically loaded at runtime.   Sure the project could bundle support for a collection of vetted, tested devices but it should not require a new build of sigrok to support your device if you have the means to write/build your own.  That, of course, means a dynamic loader for the hardware modules with access to the existing API.  If that can't get merged then a fork would seem in order.

Quote
Edit2 - I wonder if Siglent's SigScopeLab software is aiming towards providing Sigrok like functionality for their compatible products?  I haven't tried it myself, but it seems limited and I understand from posts in the forums that it's a bit buggy as well.

Unfortunately I don't think Siglent has ever published anything other than Windows software which leaves folks like kripton2035 and myself out in the cold.  Siglent software will likely never be an option for us.
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2648
  • Country: fr
    • kripton2035 schematics repository
if you can compile a binary for macos arm I would be really interesed ! I tried to compile original sigrok sources with no luck so far.
Well that's another story!... You need a Mac and MacOS to do that, which I don't have :-(

I can build you a macOS binary, kripton, but as I recall you’re still on Ventura which I cannot build for arm64.  Unless you want x86_64, I’m afraid it’s Sonoma only.  Otherwise I can try to help you build your own but I suspect that will be a bit of a pain because my dependencies come from macports rather than homebrew like everyone seems to use these days.
As chatgpt for macos desktop works only on sonoma+, I think this will convince me to upgrade very soon ...;)
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2648
  • Country: fr
    • kripton2035 schematics repository
wouldn't it be easier to build one sigrok for each device brand ? one for rigol, one for siglent ?
as a hobbyst, I will not change my main scope very often... so I could stay with one "sigrok for siglent" for many years to come ...
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 192
I've checked the fredo windows installer with my SDS2000X and I have observed very unstable behavior.
I am using "siglent-sds" TCP/IP Port 5025 "Raw TCP" to connect to my scope.

I did manage to capture few analog frames but most of the time the PulseView hangs or terminates completely.
Probably I have to set something?   
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2648
  • Country: fr
    • kripton2035 schematics repository
this is for the 2000x HD, not sure if it can work for the 2000X or plus ?
the standard sigrok version is announced to work with the 2000x
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 54
  • Country: us
I've checked the fredo windows installer with my SDS2000X and I have observed very unstable behavior.
I am using "siglent-sds" TCP/IP Port 5025 "Raw TCP" to connect to my scope.

I did manage to capture few analog frames but most of the time the PulseView hangs or terminates completely.
Probably I have to set something?   

This patch adds support for the 2000X Plus and 2000X HD (though the level of testing for the Plus is unknown), it should not affect the behavior on the 2000X.  If you do not see this instability with the official nightly build but you do with this one, that would be useful information to know.  Have you tried the official nightly with your scope?
 

Offline dpenev

  • Regular Contributor
  • *
  • Posts: 192
Sorry, my oscilloscope is actually SDS2000X Plus family.
 
The following users thanked this post: fredo_

Offline Spike

  • Regular Contributor
  • *
  • Posts: 54
  • Country: us
Sorry, my oscilloscope is actually SDS2000X Plus family.
The Plus and HD share virtually all the code in this implementation so if Frederic can reproduce this on his HD then perhaps a fix will be forthcoming.  Regardless you’ll probably need to provide him a detailed description of the behavior.  For now, as mentioned upthread, he is on holiday for the next couple weeks.
 
The following users thanked this post: fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
Hi dpenev,
Thank you for taking the time to test the patch with you SDS2000X Plus!
For my SDS2000X HD, no additional settings was needed, it worked with Raw TCP on port 2025 (see picture bellow).
Could you please try and send us the content of you log window :
- Launch PulseView, go to Settings (tools icon in the top bar) / Logging and set log level to 5
- Connect to your scope and Run an acquisition
- Go back to settings and see what's in the Logging window
Thanks for your help !
 

Online kripton2035

  • Super Contributor
  • ***
  • Posts: 2648
  • Country: fr
    • kripton2035 schematics repository
@Spike, I'm now on Sonoma, so tests can go further ! thanks.
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 54
  • Country: us
@Spike, I'm now on Sonoma, so tests can go further ! thanks.
PM sent
 
The following users thanked this post: kripton2035

Offline Frex

  • Regular Contributor
  • *
  • Posts: 122
  • Country: fr
Hello fredo_,

I'm also interested to use Sigrock with my SDS2000X+.
So, I tried your installer for pulseview and I installed also Sigrock "sigrok-cli (64bit)" Nightly builds.
(Done with Win11 PC).

I tested first with a Rigol MSO2072A that is in supported device list of Sigrock.
It is well recognized and Pulseview works ok (Raw TCP only).

Then I tried to do same with SDS2104X+, but the scope is not detected in any TCP/VXI mode.
Do I should try something else ?
Regards.

Frex

 

Offline Frex

  • Regular Contributor
  • *
  • Posts: 122
  • Country: fr
Hi,

I finally manage to connect to the SDS2104X+.
For that, I changed port to 5025 as on your screenshoot.

The screen data record work(>20Mpts), but when scope data point become high it no longer work.
 In some case, I had even need to restart the scope that no responding anymore.
Regards.

FRex
 

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
Bonjour Frex !
Yes I was about to suggest to check the connection port ;-)
OK thanks for the feedback, you seem to run in the same troubles as dpenev :-/
I suspect a timing issue due to the delay needed by the scope to send the data to the computer.
Could you try and get access to the log content as suggested here ? : https://www.eevblog.com/forum/testgear/new-sigrokpulseview-hardware-support-(siglent-sds-hd-rigol-dho800-)/msg5558089/#msg5558089
Just PM me if you need assistance in French ! :-)
 

Offline Frex

  • Regular Contributor
  • *
  • Posts: 122
  • Country: fr
Bonjour fredo_ !  ^-^

You can show below the log results for a first connection with 1ms timebase and 10Mpts that work fine.
The second screenshot is the result when I change timebase to 2ms for 20Mpts.
Regards.

Frex
2300251-0
 

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
Great, thanks Frex !
That confirms my hypothesis.
I'll prepare a fix when I come back home by the end of next week.
 
The following users thanked this post: KungFuJosh

Offline Lathe26

  • Contributor
  • Posts: 30
  • Country: us
I am looking forward to DHO900 support from Sigrok.  However, be aware that there is a bug in the current firmware (v1.02.00.02) where the analog channels (CHAN1-CHAN4) and math channels (MATH1-MATH4) are supported but the logic analyzer is not (D0-D15).  The documentation claims that D0-D15 are supported via ":WAVeform:SOURce" but this command fails when you actually try it.  This issue has been reported to Rigol but with no response yet.
 
The following users thanked this post: fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
Thanks for the heads up Lathe26 !
Let's hope Rigol issues a fix soon...
Anyway, I will not be able to test the LA for Rigol Sigrok driver since I only own a DHO8OO :-/
But if you or anyone else can test and report back, I'll be glad to try and make any necessary adjustments :)
 

Offline Lathe26

  • Contributor
  • Posts: 30
  • Country: us
I am willing to try it out once Rigol fixes their LA bug.
 
The following users thanked this post: fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 41
  • Country: fr
Hi folks !
Back from a beautiful journey in Scotland, I patched the installer to try and fix the read timing issues 8)
Link has been updated on the first post, and you can find it here as well : Windows (64bits) installer (zip password is 'sigrok').
@Frex / @dpenev could you please try this new version and see if it works any better for your scopes ?
This new version should also support all Siglent recent series, that is :
  • SDS 800X HD Series
  • SDS 1000X HD Series
  • SDS 2000X HD Series
  • SDS 3000X HD Series
  • SDS 5000X Series
  • SDS 6000L Series
  • SDS 6000A Series
  • SDS 6000 Pro Series
  • SDS 7000A Series

Best,

Frederic.

« Last Edit: July 18, 2024, 11:06:31 pm by fredo_ »
 
The following users thanked this post: kripton2035, Electro Fan, egonotto, thm_w, KungFuJosh, teddychn, Purvirs


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf