Open muhuna opened 1 year ago
"roll" mode is plotting available data, as it comes in, without discarding the "old" data that shifts left on the screen. The "roll" rate (the rate that the shift happens) depends on the capture speed. (the faster you capture, the more you can shift over; the slower you capture, the less data you capture, the slower the shift).
For a capture rate of 100 Hz, you may only want to capture 10 samples (shift the previous data over those 10 samples), and have a screen update rate of 10 Hz... The slower the sample capture, the less samples you want to capture, to keep the screen update to a smooth rate. (you may get to a point where you only want one sample between updates).
Even though it is not rolling mode, something that might be useful is already implemented. Increasing memory depth of the acquisition will "packetize" this data and fill the screen left to right. When the screen is filled, the buffer is reset. I'm aware that this is different than what was suggested, but it might be a workaround to prevent the huge delays in acquisition.
In regards to rolling mode, It's something we're going to look at ..
-Adrian
Actually, moving the trigger all the way to the left will have the same effect on "packetizing" the data without the increased data count. For rolling mode we basically need to
Fill data right to left and do not reset plot on full buffer. Disable horizontal trigger handle and set trigger to the leftmost value (behind the scenes) Disable all triggers Force sample rate lower than some threshold (timebase >=10ms )
yeah, blanking the screen at the end (rather than shifting it over) is one solution.
I would suggest to play with a real scope in the lab - to see how things are managed as sample rate decreases, and then try to emulate that. :)
I've seen this "packetizing" effect on long time scales but the data "packets" need to be small i.e. a few pixels / screen points per update to make the waveform roll smoothly as Robin pointed out. Then there is the question about which ADC samples to use. Do you just set a very low sample rate or average samples at a high rate to decimate to the lower rate. You either loose samples (skip over potential fast spikes) or filter out the high frequencies. Maybe you plot min/max values for a given set of over samples?
Lots of possibilities to decide the functionality.
@damercer
yeah, older versions of waveforms did this...
The min/max was plotted behind as a shaded version of the colour, but the average was plotted as the line.
The described it as : "Noise Band: shows or hides the noise (min/max values)." which I don't think actually captures things properly.
The above frequency sweep might look like damped signal (C1), but noise band on R1 indicates that this is not true. This indicates glitches or high frequency components that might be hidden by the averaging...
what it does - and how it's described - is super important.
Waveforms does have a "roll" like mode that kicks in at 100mS/div and longer. It is not exactly a sliding / scrolling waveform that moves right to left. There is a vertical line that sweeps across the screen from left to right writing new sample points to the screen replacing old data,
Scopy programmers might want to take a look and see if that is something like what we would want to have in Scopy. -DM-
A good example is https://forum.qt.io/topic/84532/qml-animation-trail-on-object
This is regarding the oscilloscope part of Scopy. When working with low frequency signals and not knowing exactly what issue one is dealing with it can often be very helpful to see a "live" stream of the samples captured. Actually, with other PC based scopes I had the chance to work with I sometimes just use a manual trigger by hitting the "stop recording" button or manually change modes of the HW under test when something happens. Not always but sometimes it could be done with trigger and some program to change modes on the HW if there is an API. But that just adds a lot of time for doing something pretty simple. Unfortunately, this isn't currently possibly with Scopy because there is no "live" updated (in my case I sometimes have to wait up to 8s to get an updated screen). Hence, it would be nice to have a "roll" mode.