NOTE: This post has been beat to death and has died. Reading this post will probably be a waste of your time. 13 Jan 2011
I have pondered this new feature for several weeks now, and have finally decided how to present this suggestion.
All DSO scopes have inherent noise and artifact issues that can be greatly reduced with averaging of repeating signals. With expensive DSOs, you can select the averaging rate (8, 16, 32, 64 …etc) and the screen refresh occurs at the end of each average cycle time with greatly improved signal to noise ratios.
One possible solution would include an additional resource requirement of a 300 byte alternate waveform screen buffer. This could probably be stolen from the capture buffer if necessary. I know this could get messy with binary numbers, so just steal 256 bytes and limit the screen updates to 256 pixels if necessary. The capture buffer would update the alternate screen buffer while in this mode. The CPU would sample the capture buffer, average that with the current value in the alternate screen buffer (using the cycle count), and then place the new result back into the alternate screen buffer. This would repeat for each new acquisition of a repeating signal. When the average cycle count is reached, then the CPU would move the alternate screen buffer contents into the display buffer to refresh the screen, and then clear the alternate screen buffer for the net go-around.
I don’t know; and it is quite possible that DMA is used to transfer the capture buffer to the screen buffer. If so, then that may be a show stopper, or the extra CPU time to byte transfer those 300 bytes may be insignificant.
By the way, this pretty much concludes my feature suggestions for the Nano.