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

Furna and 1 Guest are viewing this topic.

Online teddychn

  • Regular Contributor
  • *
  • Posts: 51
  • Country: 00
Hi Fredo,

Thanks for sharing! I'm really excited to try your patched version.

With just CH1 acquisition, it works perfectly with memory depth equal to or less than 4Mpts. However, PulseView seems to wait forever with a data length of 10Mpts. My environment is a Windows 10 PC with an SDS2000X HD. Please take a look at the attachments to see if they have any information useful to this situation.

Appreciate it!
« Last Edit: July 21, 2024, 08:45:37 am by teddychn »
 
The following users thanked this post: egonotto

Offline Electro Fan

  • Super Contributor
  • ***
  • Posts: 3280
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.

It is very impressive and valuable what you and the other contributors are doing with this project!
Thanks!
 
The following users thanked this post: egonotto, fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
With just CH1 acquisition, it works perfectly with memory depth equal to or less than 4Mpts. However, PulseView seems to wait forever with a data length of 10Mpts. My environment is a Windows 10 PC with an SDS2000X HD. Please take a look at the attachments to see if they have any information useful to this situation.
Thanks for the feedback @teddychn !
I'm almost done with Rigol DHO800/900 support (thanks to the work previously done by Diana Ellefson (OrionOth) and RemiNV here).
I'll switch back to Siglent SDS2000X HD to try and reproduce your problem right after that.
 
The following users thanked this post: egonotto, thm_w, teddychn

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
~~~ Updated version with Rigol DHO 800/900 support ~~~
Hi folks !
Here is my attempt to add Rigol DHO 800/900 support to Sigrok/PulseView (link has been updated in first post too) : Windows (64bits) installer (zip password is 'sigrok').
Disclaimer :
- LA not tested since I only have a DHO 800 with an identity crisis  ;)
- Only works in TCP/IP mode
- Segmented mode only works if :
  1/ UltraAquire is manually activated on the scope (SCPI command to activate it does not seem to work)
  2/ Memory depth is set to 10Kpts or lower
Any feedback is welcome, especially from DHO 900 owners !
« Last Edit: July 22, 2024, 09:05:21 pm by fredo_ »
 
The following users thanked this post: egonotto, thm_w, ebourg

Online Furna

  • Contributor
  • Posts: 32
  • Country: de
@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

I will try ASAP with my Siglent SDS824X HD and report here.
I was starting to work on this (see https://www.eevblog.com/forum/testgear/siglent-sds800x-hd-12-bit-dsos-coming/msg5546249/#msg5546249) but currently I am following too many projects; so a big thank you!
The sky above the port was the color of television, tuned to a dead channel.
 
The following users thanked this post: fredo_

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
Hi guys,

I just updated the patch with the following changes:

07/27/2024 Update
Siglent SDS :
- Fixed acquisition for memory depth > 4 Mpts
- Known limitations :
   - USB acquisition does not work (use TCP/IP with Raw TCP and port 5025)
   - LA acquisition might fail for memory depth > 50 Mpts
Rigol DHO :
- Fixed USB acquisition

Link has been updated on the first post, and you can find it here as well : Windows (64bits) installer (zip password is 'sigrok').

@teddychn this should fix your issue with memory depth >4Mpts.

Please let me know if this is working for you guys !

Best,

Fredo.
« Last Edit: July 27, 2024, 05:02:49 pm by fredo_ »
 
The following users thanked this post: egonotto, thm_w

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Hi guys,

I just updated the patch with the following changes:

07/27/2024 Update
Siglent SDS :
- Fixed acquisition for memory depth > 4 Mpts
- Known limitations :
   - USB acquisition does not work (use TCP/IP with Raw TCP and port 5025)
   - LA acquisition might fail for memory depth > 50 Mpts
Rigol DHO :
- Fixed USB acquisition

Link has been updated on the first post, and you can find it here as well : Windows (64bits) installer (zip password is 'sigrok').

@teddychn this should fix your issue with memory depth >4Mpts.

Please let me know if this is working for you guys !

Best,

Fredo.
Are you planning to keep the Siglent and Rigol support on separate branches from now on or will this get merged onto your master?
 

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
Are you planning to keep the Siglent and Rigol support on separate branches from now on or will this get merged onto your master?
I will keep separated branches to be able to eventually create two distinct pull requests on Sigrok repository.
But I just merged the two branches on my master to make it easier for you to create a Mac OS build.
The USB fix is not included as I borrowed it from a PR on sigrok repository, but it's a Windows only fix, so no worries.
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Are you planning to keep the Siglent and Rigol support on separate branches from now on or will this get merged onto your master?
I will keep separated branches to be able to eventually create two distinct pull requests on Sigrok repository.
But I just merged the two branches on my master to make it easier for you to create a Mac OS build.
The USB fix is not included as I borrowed it from a PR on sigrok repository, but it's a Windows only fix, so no worries.
Excellent!   Thank you very much.
 
The following users thanked this post: fredo_

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Are you planning to keep the Siglent and Rigol support on separate branches from now on or will this get merged onto your master?
I will keep separated branches to be able to eventually create two distinct pull requests on Sigrok repository.
But I just merged the two branches on my master to make it easier for you to create a Mac OS build.
The USB fix is not included as I borrowed it from a PR on sigrok repository, but it's a Windows only fix, so no worries.
Excellent!   Thank you very much.
Did you push those back up?  I'm not seeing it.
 

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
Did you push those back up?  I'm not seeing it.
Sorry, forgot to push, that should be good now!
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Did you push those back up?  I'm not seeing it.
Sorry, forgot to push, that should be good now!
Got it now.  Thanks again.
 
The following users thanked this post: fredo_

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Did you push those back up?  I'm not seeing it.
Sorry, forgot to push, that should be good now!
Got it now.  Thanks again.

Hitting this while trying to compile the rigol stuff:

Code: [Select]
  CC       src/hardware/rigol-ds/api.lo
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1038:4: error: expected expression
                        int frames = 0;
                        ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1040:55: error: use of undeclared identifier 'frames'
                        if (sr_scpi_get_int(sdi->conn, ":ACQ:ULTR:MAXF?", &frames) != SR_OK)
                                                                           ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1042:8: error: use of undeclared identifier 'frames'
                        if (frames <= 0) {
                            ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1046:33: error: use of undeclared identifier 'frames'
                        devc->num_frames_segmented = frames;
                                                     ^
4 errors generated.
Pretty sure this needs it's own scope or there needs to be a statement before that declaration.
 

Offline fredo_Topic starter

  • Contributor
  • Posts: 47
  • Country: fr
Hitting this while trying to compile the rigol stuff:
Code: [Select]
  CC       src/hardware/rigol-ds/api.lo
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1038:4: error: expected expression
                        int frames = 0;
                        ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1040:55: error: use of undeclared identifier 'frames'
                        if (sr_scpi_get_int(sdi->conn, ":ACQ:ULTR:MAXF?", &frames) != SR_OK)
                                                                           ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1042:8: error: use of undeclared identifier 'frames'
                        if (frames <= 0) {
                            ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1046:33: error: use of undeclared identifier 'frames'
                        devc->num_frames_segmented = frames;
                                                     ^
4 errors generated.
Pretty sure this needs it's own scope or there needs to be a statement before that declaration.
Yep, not sure why my compiler did not complain... I pushed the fix.
 

Offline Spike

  • Regular Contributor
  • *
  • Posts: 61
  • Country: us
Hitting this while trying to compile the rigol stuff:
Code: [Select]
  CC       src/hardware/rigol-ds/api.lo
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1038:4: error: expected expression
                        int frames = 0;
                        ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1040:55: error: use of undeclared identifier 'frames'
                        if (sr_scpi_get_int(sdi->conn, ":ACQ:ULTR:MAXF?", &frames) != SR_OK)
                                                                           ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1042:8: error: use of undeclared identifier 'frames'
                        if (frames <= 0) {
                            ^
/Users/gcorral/Documents/Source/sigrok/libsigrok/src/hardware/rigol-ds/api.c:1046:33: error: use of undeclared identifier 'frames'
                        devc->num_frames_segmented = frames;
                                                     ^
4 errors generated.
Pretty sure this needs it's own scope or there needs to be a statement before that declaration.
Yep, not sure why my compiler did not complain... I pushed the fix.
Looks good, thanks!
 

Online teddychn

  • Regular Contributor
  • *
  • Posts: 51
  • Country: 00

@teddychn this should fix your issue with memory depth >4Mpts.

Please let me know if this is working for you guys !


Hi Fredo,

Now it can download waveforms of more than 4Mpts. However, the waveform on PulseView seems off. I found that the issue starts at 5Mpts and occurs periodically. Please refer to the screenshots.

Thanks for your work and Best Regards,
Ted
 
The following users thanked this post: fredo_

Online Furna

  • Contributor
  • Posts: 32
  • Country: de
Hello Fredo,

I have the same behaviour seen by teddychn on my SDS824X HD; see screenshots.

2324169-0

2324173-1

First time I am using an oscilloscope and first time I am using Sigrock/PulseView ... still have to learn a lot.
Let me know if I can test anything specific and sorry for taking long to test and report.
« Last Edit: July 28, 2024, 08:18:58 pm by Furna »
The sky above the port was the color of television, tuned to a dead channel.
 
The following users thanked this post: fredo_

Offline Frex

  • Regular Contributor
  • *
  • Posts: 123
  • Country: fr
Hello,

I am back on vacation and then I tested your new Windows 10 installer.
(is it normal that the zip uses strictly the same file name "pulseview-0.5.0-git-d00efc6-installer"
 when they are different versions?).

Now, when the data points exceed 10 Mpts, only the first channel is acquired and then stops.
The other channels are not acquired and it is not possible to restart the acquisition.

I also noticed that a new icon appears in this case, indicating the sequence mode...
I don't know why. The resulting screenshot below.

I also noticed that the scope hang very often and need to be rebooted to work again.

Frex
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf