Author Topic: A few specific questions for SDS2000X HD owners (or possibly any SDS owners)  (Read 3091 times)

0 Members and 1 Guest are viewing this topic.

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Thanks for the input, guys.  I think I've reached a decision and I'm going to pull the trigger on an SDS2354X HD with promo bundle before the promo period ends.

Before I pull the trigger, though, does anyone familiar with Siglent have insight into the lead time on these units?  I only ask because I have a short travel period within the window that I'm currently aware of for this.  If anyone has any more accurate information it would be appreciated, so I can possibly avoid any self-induced delivery headache.  With my luck it's a virtual guarantee that it will be delivered while I'm away.  Maybe one way to move up the delivery would be to move up my trip.  :-)
TBH, you should just call them to confirm availability and hold a unit for you.
https://www.saelig.com/sds2000x-hd/sds2354x-hd.htm
Thanks, I've given them a call.  For anyone interested their quoted delivery time on these is end of July.
 

Offline tautech

  • Super Contributor
  • ***
  • Posts: 28804
  • Country: nz
  • Taupaki Technologies Ltd. Siglent Distributor NZ.
    • Taupaki Technologies Ltd.
Thanks for the input, guys.  I think I've reached a decision and I'm going to pull the trigger on an SDS2354X HD with promo bundle before the promo period ends.

Before I pull the trigger, though, does anyone familiar with Siglent have insight into the lead time on these units?  I only ask because I have a short travel period within the window that I'm currently aware of for this.  If anyone has any more accurate information it would be appreciated, so I can possibly avoid any self-induced delivery headache.  With my luck it's a virtual guarantee that it will be delivered while I'm away.  Maybe one way to move up the delivery would be to move up my trip.  :-)
TBH, you should just call them to confirm availability and hold a unit for you.
https://www.saelig.com/sds2000x-hd/sds2354x-hd.htm
Thanks, I've given them a call.  For anyone interested their quoted delivery time on these is end of July.
Get the promo bundle locked in did you ?
Avid Rabid Hobbyist.
Siglent Youtube channel: https://www.youtube.com/@SiglentVideo/videos
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
the siglent sds2000x is supported by sigrok ...
https://www.sigrok.org/wiki/Siglent_SDS2000X_series

Yes but not 2000xPlus or 2000xHD.

I think sigrok it great if it happens to work for your specific hardware, but this is one of the issues I have with it.  Obviously, it's open source so gift horse and all that.  The way it is structured, though, leads to what is happening here.  Trying to contain support for many models of device into a single file or module is a seemingly good idea but it breaks down over time as said models drift in functionality.

There is a pull request that adds SDS2000X+ support that's been sitting in queue on the sigrok github for over 2 years now.  The author probably just wanted to get it working for his use case and submitted it.  The reviewers righly balked at some changes that could affect other models and suggested changes.  The PR has been sitting ever since.  I would not expect this to ever get merged.  This is similar to what happened with a PR for DSLogic U3Pro support.  That's been sitting for over 2 years as well.

Another issue is that for the most part, people who volunteer to add device support very likely only have their model and nothing more.  Testing for unintended consequences up or down the model line is virtually impossible.  If and when I take delivery of an HD I will likely take a crack at adding support for it in sigrok, but I don't expect it to get merged.
 
The following users thanked this post: Performa01

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
TBH, you should just call them to confirm availability and hold a unit for you.
https://www.saelig.com/sds2000x-hd/sds2354x-hd.htm
Thanks, I've given them a call.  For anyone interested their quoted delivery time on these is end of July.
Get the promo bundle locked in did you ?
In theory.
 
The following users thanked this post: tautech

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2636
  • Country: fr
    • kripton2035 schematics repository
Quote
Another issue is that for the most part, people who volunteer to add device support very likely only have their model and nothing more.  Testing for unintended consequences up or down the model line is virtually impossible.  If and when I take delivery of an HD I will likely take a crack at adding support for it in sigrok, but I don't expect it to get merged.
I don't care if it's not merged as long as you publish a macos arm version that works with the 2000HD !
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Quote
Another issue is that for the most part, people who volunteer to add device support very likely only have their model and nothing more.  Testing for unintended consequences up or down the model line is virtually impossible.  If and when I take delivery of an HD I will likely take a crack at adding support for it in sigrok, but I don't expect it to get merged.
I don't care if it's not merged as long as you publish a macos arm version that works with the 2000HD !

Publish?  Unlikely.  Give you a copy if you ask?  Sure.  Assuming I get it working at all, that is.  The PR for Plus support is not an insignificant number of changes.  I'd probably start there, though.

In fact, if you want to try to get this going now you could probably just add the HD to the supported series and supported models structs to that patch (maybe two lines of code), apply it to your own repo and build. My guess is that it might work but may or may not render other models broken.  If you don't have those models then it would be of no consequence.  There are other reasons why the PR has not been merged but at least it would be a start.
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2636
  • Country: fr
    • kripton2035 schematics repository
I found a macos binary online (I don't remember where but it was not the official release that was too old)
I did not try to build one from sources but I can try.
then as you said, I have only my 2000hd to connect (and also some basic low cost clone logic analyzers that should always work with sigrok ?)
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
I found a macos binary online (I don't remember where but it was not the official release that was too old)
I did not try to build one from sources but I can try.
I have an arm binary that I built from recent sources.  It does not contain HD support as mentioned above but at least it is up to date.  I cannot guarantee that it will work for you but you're welcome to it if you want.

I can, time permitting, try to apply the 2000+ patch with HD added to the supported devices array and build that.  What I cannot do, though, is test it to make sure it works nor support it if it doesn't.  At least until I get my hands on an HD.

Quote
then as you said, I have only my 2000hd to connect (and also some basic low cost clone logic analyzers that should always work with sigrok ?)
Correct.  Only SDS devices would be affected by this patch.
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
I found a macos binary online (I don't remember where but it was not the official release that was too old)
I did not try to build one from sources but I can try.
I have an arm binary that I built from recent sources.  It does not contain HD support as mentioned above but at least it is up to date.  I cannot guarantee that it will work for you but you're welcome to it if you want.

I can, time permitting, try to apply the 2000+ patch with HD added to the supported devices array and build that.  What I cannot do, though, is test it to make sure it works nor support it if it doesn't.  At least until I get my hands on an HD.

So I took a closer look at that patch and there seems to be fair amount this sprinkled in:
Code: [Select]
if (!strcmp(devc->model->series->name, "SDS2000X+")) {
Which means I won’t even bother with this until I have a device to test with.
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2636
  • Country: fr
    • kripton2035 schematics repository
I downloaded the latest nightly build of pulseview for mac, it is from march 2024.
but it does not start there is a missing library. and it is an intel app also.
I tried to build from the sources, but I have a lot of errors, each time I try to correct an error i get another one... :(
I'm ok to try your arm binary, even if it does not connect to the 2000hd for now.
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
I downloaded the latest nightly build of pulseview for mac, it is from march 2024.
but it does not start there is a missing library. and it is an intel app also.
I tried to build from the sources, but I have a lot of errors, each time I try to correct an error i get another one... :(
I'm ok to try your arm binary, even if it does not connect to the 2000hd for now.
PM sent
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2636
  • Country: fr
    • kripton2035 schematics repository
for what it's worth, the siglent model for my scope seems to be "SDS2504X HD"



Quote
201 #define SERIES(x) &supported_series

 202 /* series, model, min timebase, analog channels, digital */
 203 static const struct siglent_sds_model supported_models[] = {
 204         { SERIES(SDS1000CML), "SDS1152CML", { 20, 1000000000 }, 2, FALSE, 0 },
 205         { SERIES(SDS1000CML), "SDS1102CML", { 10, 1000000000 }, 2, FALSE, 0 },
 206         { SERIES(SDS1000CML), "SDS1072CML", { 5, 1000000000 }, 2, FALSE, 0 },
 207         { SERIES(SDS1000CNL), "SDS1202CNL", { 20, 1000000000 }, 2, FALSE, 0 },
 208         { SERIES(SDS1000CNL), "SDS1102CNL", { 10, 1000000000 }, 2, FALSE, 0 },
 209         { SERIES(SDS1000CNL), "SDS1072CNL", { 5, 1000000000 }, 2, FALSE, 0 },
 210         { SERIES(SDS1000DL), "SDS1202DL", { 20, 1000000000 }, 2, FALSE, 0 },
 211         { SERIES(SDS1000DL), "SDS1102DL", { 10, 1000000000 }, 2, FALSE, 0 },
 212         { SERIES(SDS1000DL), "SDS1022DL", { 5, 1000000000 }, 2, FALSE, 0 },
 213         { SERIES(SDS1000DL), "SDS1052DL", { 5, 1000000000 }, 2, FALSE, 0 },
 214         { SERIES(SDS1000DL), "SDS1052DL+", { 5, 1000000000 }, 2, FALSE, 0 },
 215         { SERIES(SDS1000X), "SDS1102X", { 2, 1000000000 }, 2, FALSE, 0 },
 216         { SERIES(SDS1000XP), "SDS1102X+", { 2, 1000000000 }, 2, FALSE, 0 },
 217         { SERIES(SDS1000X), "SDS1202X", { 2, 1000000000 }, 2, FALSE, 0 },
 218         { SERIES(SDS1000XP), "SDS1202X+", { 2, 1000000000 }, 2, FALSE, 0 },
 219         { SERIES(SDS1000XE), "SDS1202X-E", { 1, 1000000000 }, 2, FALSE, 0 },
 220         { SERIES(SDS1000XE), "SDS1104X-E", { 1, 1000000000 }, 4, TRUE, 16 },
 221         { SERIES(SDS1000XE), "SDS1204X-E", { 1, 1000000000 }, 4, TRUE, 16 },
 222         { SERIES(SDS2000X), "SDS2072X", { 2, 1000000000 }, 2, FALSE, 0 },
 223         { SERIES(SDS2000X), "SDS2074X", { 2, 1000000000 }, 4, FALSE, 0 },
 224         { SERIES(SDS2000X), "SDS2102X", { 2, 1000000000 }, 2, FALSE, 0 },
 225         { SERIES(SDS2000X), "SDS2104X", { 2, 1000000000 }, 4, FALSE, 0 },
 226         { SERIES(SDS2000X), "SDS2202X", { 2, 1000000000 }, 2, FALSE, 0 },
 227         { SERIES(SDS2000X), "SDS2204X", { 2, 1000000000 }, 4, FALSE, 0 },
 228         { SERIES(SDS2000X), "SDS2302X", { 2, 1000000000 }, 2, FALSE, 0 },
 229         { SERIES(SDS2000X), "SDS2304X", { 2, 1000000000 }, 4, FALSE, 0 },
 230 };

if you add the 2000hd description in the struct above (from libsiglent source) it could be enough ???
« Last Edit: June 08, 2024, 08:14:02 pm by kripton2035 »
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
for what it's worth, the siglent model for my scope seems to be "SDS2504X HD"



if you add the 2000hd description in the struct above (from libsiglent source) it could be enough ???
I don’t think so, based on the snippets of code I posted above which are sprinkled throughout the patch.  The HD likely needs the support added for the Plus, and with some of that code guarded with those statements I doubt very much that the HD will work.  The patch needs to be reworked a bit, I think.
 

Offline KungFuJosh

  • Super Contributor
  • ***
  • Posts: 1844
  • Country: us
  • TEAS is real.
The patch needs to be reworked a bit, I think.

Can you replace the Plus references with Plus OR HD?
"I installed a skylight in my apartment yesterday... The people who live above me are furious." - Steven Wright
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
The patch needs to be reworked a bit, I think.

Can you replace the Plus references with Plus OR HD?

Certainly.  And anyone is welcome to do that to accommodate their personal need.  I have no way to test that at the moment and I'd prefer to rework the patch to make it more general and easier to maintain going forward.  There's no chance the patch will be accepted as is and that is part of the reason why.  Ultimately it would be nice to have it merged if for no other reason than not having to maintain it outside of sigrok.
 

Offline fredo_

  • Contributor
  • Posts: 34
  • Country: fr
Certainly.  And anyone is welcome to do that to accommodate their personal need.  I have no way to test that at the moment and I'd prefer to rework the patch to make it more general and easier to maintain going forward.  There's no chance the patch will be accepted as is and that is part of the reason why.  Ultimately it would be nice to have it merged if for no other reason than not having to maintain it outside of sigrok.
Hi Spike, are you still working on this ?
I've been trying to accommodate the original Pull Request to work with the SDS2000X-HD.
I agree with you, the orignal PR is quite a mess and needs a lot of rework, I understand why it has not been accepted by the maintainers of Sigrok codebase.
Maybe we can join efforts ? What Siglent model do you have ?
Right now I have both analog and digital signal capture working with a given time-base. Next step is to have everything work fine when changing settings.
Best,
Frederic.
 

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3258
Certainly.  And anyone is welcome to do that to accommodate their personal need.  I have no way to test that at the moment and I'd prefer to rework the patch to make it more general and easier to maintain going forward.  There's no chance the patch will be accepted as is and that is part of the reason why.  Ultimately it would be nice to have it merged if for no other reason than not having to maintain it outside of sigrok.
Hi Spike, are you still working on this ?
I've been trying to accommodate the original Pull Request to work with the SDS2000X-HD.
I agree with you, the orignal PR is quite a mess and needs a lot of rework, I understand why it has not been accepted by the maintainers of Sigrok codebase.
Maybe we can join efforts ? What Siglent model do you have ?
Right now I have both analog and digital signal capture working with a given time-base. Next step is to have everything work fine when changing settings.
Best,
Frederic.

just 2 cents worth, but if you guys managed to become spark plugs that get Sigrok on a path to playing nicely/increasingly well with Siglent oscilloscopes, especially the HDs, it could be a significant win for Siglent users, Siglent, and maybe even Sigrok… which could be a win for more device manufacturers and more users
 

Offline fredo_

  • Contributor
  • Posts: 34
  • Country: fr
just 2 cents worth, but if you guys managed to become spark plugs that get Sigrok on a path to playing nicely/increasingly well with Siglent oscilloscopes, especially the HDs, it could be a significant win for Siglent users, Siglent, and maybe even Sigrok… which could be a win for more device manufacturers and more users
Well I don't see why we could not make Siglent HD scopes play nicely with Sigrok/PulseView. They have a very comprehensive SCPI command set and my first tests are pretty encouraging.
But I struggled a lot at the start with strange behaviors of the original connector that as a 7 seconds "timeout" parameter set on the SCPI driver.
This poorly named parameter is used to set the duration the driver waits after sending a command before reading the result from the scope.
7 seconds is a lot of time to wait when you hit the run button to get the acquisition result !
Anyway I changed it to 50ms (the value used on Rigol driver, which the Siglent one seems to be based on) and everything gets much more snappy !
I had to change the buffer reading logic to have it work that way, that must be the reason why it was originally set to 7 seconds.

Anyway if you guys can give me a testimony on how the original driver actually behaves, it would be greatly appreciated !
Do you have to wait for 7 seconds before Pulsview window gets updated or is it something specific with the HD ?
« Last Edit: June 23, 2024, 04:50:55 pm by fredo_ »
 

Offline kripton2035

  • Super Contributor
  • ***
  • Posts: 2636
  • Country: fr
    • kripton2035 schematics repository
with pulseview on a salae clone, you don't wait for the window to get updated.
 

Offline fredo_

  • Contributor
  • Posts: 34
  • Country: fr
Thanks for the feedback kripton2035, but my question was more directed towards Siglent users.
I was not able to find any video or demonstration of PulseView connected to a Siglent scope.
 

Offline 2N3055

  • Super Contributor
  • ***
  • Posts: 6958
  • Country: hr
Thanks for the feedback kripton2035, but my question was more directed towards Siglent users.
I was not able to find any video or demonstration of PulseView connected to a Siglent scope.

You are correct. Sigrok is not being developed actively anymore..
There are many devices that are not supported.
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Certainly.  And anyone is welcome to do that to accommodate their personal need.  I have no way to test that at the moment and I'd prefer to rework the patch to make it more general and easier to maintain going forward.  There's no chance the patch will be accepted as is and that is part of the reason why.  Ultimately it would be nice to have it merged if for no other reason than not having to maintain it outside of sigrok.
Hi Spike, are you still working on this ?
I've been trying to accommodate the original Pull Request to work with the SDS2000X-HD.
I agree with you, the orignal PR is quite a mess and needs a lot of rework, I understand why it has not been accepted by the maintainers of Sigrok codebase.
Maybe we can join efforts ? What Siglent model do you have ?
Right now I have both analog and digital signal capture working with a given time-base. Next step is to have everything work fine when changing settings.
Best,
Frederic.
As I’ve said above, until I get a device in hand there’s not much I can do and based on estimates I don’t  expect to have one for at least a month.  If anyone has code that can possibly get merged then absolutely go for it.  I’ll do what I can to help but probably won’t be immediately.

I have some additional comments about other posts in this thread but I’m on vacation at the moment and typing this on a phone is quite annoying.  I’m back tomorrow.
 

Offline TomKatt

  • Frequent Contributor
  • **
  • Posts: 441
  • Country: us
Thanks for the feedback kripton2035, but my question was more directed towards Siglent users.
I was not able to find any video or demonstration of PulseView connected to a Siglent scope.

You are correct. Sigrok is not being developed actively anymore..
There are many devices that are not supported.
All that drama over DSlogic, and Sigrok fell into a pit...  While DSview continues to get at least a few updates here and there...

Sad.  It's a great idea and still valuable if it could work with newer gear.
Several Species of Small Furry Animals Gathered Together in a Cave and Grooving with a PIC
 

Online SpikeTopic starter

  • Regular Contributor
  • *
  • Posts: 53
  • Country: us
Certainly.  And anyone is welcome to do that to accommodate their personal need.  I have no way to test that at the moment and I'd prefer to rework the patch to make it more general and easier to maintain going forward.  There's no chance the patch will be accepted as is and that is part of the reason why.  Ultimately it would be nice to have it merged if for no other reason than not having to maintain it outside of sigrok.
Hi Spike, are you still working on this ?
I've been trying to accommodate the original Pull Request to work with the SDS2000X-HD.
I agree with you, the orignal PR is quite a mess and needs a lot of rework, I understand why it has not been accepted by the maintainers of Sigrok codebase.
Maybe we can join efforts ? What Siglent model do you have ?
Right now I have both analog and digital signal capture working with a given time-base. Next step is to have everything work fine when changing settings.
Best,
Frederic.
As I’ve said above, until I get a device in hand there’s not much I can do and based on estimates I don’t  expect to have one for at least a month.  If anyone has code that can possibly get merged then absolutely go for it.  I’ll do what I can to help but probably won’t be immediately.

I have some additional comments about other posts in this thread but I’m on vacation at the moment and typing this on a phone is quite annoying.  I’m back tomorrow.

I'm back and caught up.  A few comments below

Quote

just 2 cents worth, but if you guys managed to become spark plugs that get Sigrok on a path to playing nicely/increasingly well with Siglent oscilloscopes, especially the HDs, it could be a significant win for Siglent users, Siglent, and maybe even Sigrok… which could be a win for more device manufacturers and more users

This would be great for sure, but I'm a bit of a pessimist and I don't know how much optimism I can muster for such a scenario.  I don't think there's really any development to spark.  It seems that there is very little activity.

I'm far from an expert on the internals of sigrok, I'm just getting started poking around.  From what I can see, though, it appears that for many device families the support for all devices in the family reside in a single "module".  This means that whenever someone tries to add support for new devices they have to tiptoe around existing devices and there seem to be more than a couple of examples of patches sitting in limbo for years because of (legitimate) concerns about breakage of existing devices.  In most cases the author of the patch has no way to test this because he doesn't own any of the other devices.  I'm all for code reuse but it seems to me that this is increasingly causing a support burden

The bigger problem, IMO, is that the way that device support is delivered is that it is committed to the libsigrok codebase and built into a monolithic library.  So any time new hardware support is desired it must go through an increasingly slow merge process.  This is not conducive to new hardware support and I think that adding devices will get harder and harder going forward. If there's even anyone to review patches.

What I would prefer to have is some sort of dynamic loader in the hardware API code and some way to separately build loadable modules that conform to whatever the current API is.  Even if the API is not moving or being actively maintained as appears to be the case now, at least folks would have a shot at building a working module for a new device without needing to merge it into sigrok.

Of course all this is work and it does not appear that there is a critical mass of developers on the project to keep it going.
« Last Edit: June 27, 2024, 12:59:57 am by Spike »
 

Offline fredo_

  • Contributor
  • Posts: 34
  • Country: fr
Thanks for the feedback @Spike !
I started a new topic to discuss adding recent Siglent and Rigol hardware support to Sigrok.
You will find in there a Pulseview Windows 64 installer for a version with my attempt to add SDS2000X HD (and possibly SDS2000X Plus) hardware support.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf