Bug 1623 - continuous acquisition on rigol800 freeze the instrument
Summary: continuous acquisition on rigol800 freeze the instrument
Status: CONFIRMED
Alias: None
Product: libsigrok
Classification: Unclassified
Component: Driver: scpi-pps (show other bugs)
Version: unreleased development snapshot
Hardware: All All
: Normal normal
Target Milestone: ---
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-16 18:38 CEST by giuseppegebbia92
Modified: 2020-10-16 18:48 CEST (History)
1 user (show)



Attachments
recording of the DP821 screen (712.73 KB, video/mp4)
2020-10-16 18:38 CEST, giuseppegebbia92
Details

Note You need to log in before you can comment on or make changes to this bug.
Description giuseppegebbia92 2020-10-16 18:38:06 CEST
Created attachment 690 [details]
recording of the DP821 screen

Hi, I'm having a issue using Smuview and sigrok-cli with a rigol DP821A PSU (3 channel PSU). As shown in the video in attachment, when i start running the continuous acquisition the PSU constantly switches between the various channels; in this condition the system stops updating the IV readings both on the screen and in the data reported to sigrok.
I verified with a multimeter that changing the load on any enabled channel the current does indeed change, but the reading on the screen and the data reported by sigrok is frozen to the previous value.

Unless I am misconfiguring something, I'm guessing the cause might be some kind of task starvation inside the PSU microcontroller when dealing with too many requests from USB.
From what I see the acquisition works by iteration on channels, querying the voltage and current for each channel.
In this case then it could be useful to have a setting to limit the command rate, to sacrifice the time sampling rate in exchange of a working system.

Additionally for the DP800 it is possible to query the I-V values without changing channel with a single command: ":MEASure:ALL? CH_no". This would help reducing the amount of command to be sent and avoiding constant updates of the DP800 screen, which would also be less confusing to the user. Would it be convenient/possible to implement this protocol? I don't know the codebase but it seems this would only require some branching inside scpi_pps_receive_data().