This is sounding like it's gaining a little traction. Indman raised it on Florent's github page a couple of months ago but I just noticed that Florent closed it as being a bit too broad a definition. Maybe you could add some additional ideas or detail... https://github.com/florentbr/OWON-VDS1022/issues/57
Jason is right in saying that the API exposes a good autoset function. The problem is that you can't call it every time the AWG takes a step forward, unless the awg does a very, very slow sweep, and you make sure to sync properly. E.g., in pseudocode:
establish frq_bins width (steps)
for each frq_bin
measure frq&phase, then store;
keep polling and wait for the next frq_bin threshold;
as it hits that threshold, autoset(); then go to the next iteration
endfor
end
Note that as you call autoset() and wait for the scope to adjust, the awg should temporarily stop the sweep. That's why, probably, Florent implemented that FRA example snippet without resorting to any autoset() call..
But then I'm not understanding the logic behind his implementation. Not much surprisingly, that code doesn't work out of the box, no matter how slowly the awg performs the sweep. Maybe you guys could chime in here.
If you have time and will, please test the code by yourself..
Thanks!
P.S.: I'll try and open an issue (which of course is not an issue) on the repo, but my impression is that the good Florent, while actively engaged in improving the vds1022i software, has nevertheless no time to take requests from multiple users into account.