BenF,
if you don’t like my suggestions or have no time for them I understand that, but you don’t need to shut on me. Your profiling is mostly wrong: I’m programing about 25 years (last 12 professionally), I develop automations, electronic and software for more then 30 machines which customer uses during last 10 years (that’s my second additional job).
Related to DSO Nano, you are right: I don’t know the details about this, and that is obvious. But I can suggest. But I will stop on that. I already spent too much time on this.
I’m not planning to be of any group only because I do not have additinal time for this (as I told you, I’m already working two jobs).
Related to technical stuff, my assumption that DSO nano can lost the trigger is based on you previous email: DMA fill the buffer, then software display and examine the buffer. If that is the true you can lost the trigger. If two buffers are used and the software can examine second buffer in real-time, then trigger is NOT lost. Or there is something third which I’m not aware. Anyway, even losing trigger is not such bad if that is going on, but users need to be aware of that. It that is not the case, then take my apologies. My assumption is based on yours explanation.
100MHz is type mistake of course. I mean 100kHz.
As I told you, you did great job for this: displaying/visual effect is nice and high frequency works fine. But the time scale of 5ms per div can be better. The fast mode is not full solution because high frequencies are lost (which is generally good, but we need high freq info too). The additional Min, Max even on this fast mode could be much more useful to be aware of these high freq signals, but it is not full solution if CPU can scan this faster.
Did you test the Max sampling rate without DMA?
If this is better even then 50 kHz it is worth to use my approach. The effect of MIX and MAX is almost the same as you have big buffer to store all samples on high frequency and displays all elements on high TD.
Here are some concrete problems with this 5ms time scale I had:
- On AC=50Hz there are high freq nose at 10kHz from servo motor switcher. I cannot see it well.
- I’m controlling thyristors: there are some cases then trigger not catch the tyrystors “current” waveform. But maybe that was from high trigger level or sensitivity. Controlling thyristors are on 100Hz, while input signal is very short ~0.1 ms. This is another situation when I need to see both low and “high” frequency. For this case I use smaller TD, but the buffer cannot catch all impulses, even that could be with TD=5ms (but impulses are not well)
- I tried fast mode, but because there are not Min, Max, it is not so much useful. And the buffer is small.
I guess using my suggestion could give much better result for these cases, in case that CPU can sample of reasonable high frequency.
Anyway, this Nano and your changes are useful and definitely better then nothing. But I think that they could be better. If you do not have more time, I understand that.
Dejan