Nope, they’re not.
I managed to make firmware that could run at up to 48000 Hz, although with sampling artifacts as a result of time contention for the SPI port. It required implementing a display driver that could poke individual cells. It reduced a 2-column update from 64 bytes to 0 - 19 bytes (as an oscilloscope column only has 1 pixel lit).
Interestingly, the variability of the data length required to update the display caused problems past the bandwidth limit. If you ever sync’d up the waveform to the display, it would quickly jump around as more samples were processed when there were no updates to the display.
I tried asynchronous access, but the SPI bandwidth was the limiting factor. Edit: Oooooh, you meant async read from the ADC. I think that’s beyond my reach at this point. I’m still fumbling around AVR32 IRQ levels and stuff.
I also tried using COPY to update two columns at a time, but it meant that the display divisor needed to be variable, and I didn’t have the numbers at hand to understand where my limits were. (Why are AVR32 docs sooooo baaaaaad?!?!?)
Learned a bunch in the process, but mostly that I can’t reduce the display code below 19 bytes per 2 col (1216 bytes per frame). Sooo… that means that the max sample rate is like 4000Hz.
Question: Why are 4 ADC channels polled on teletype? Aren’t there only 2 in use?
telescope.zip (13.1 KB)
- 4000 Hz sample rate
- -32x to 32x zoom (not really, there’s a bug)
- Knob at 12 o’clock is 1x zoom
Github repo here: