UI to select wave form and set frequency working (and the first of the improvements, cursor will remain at last location).
Next steps are to modify the DDS loop to be able to break out and implementation of the run/stop button via an interrupt.
With that the initial goal of an equivalent firmware with some of the UI quirks fixed is reached. Following from that the next steps are:
- Improved input context, allow the mode button to select the input context, initially frequency and function but that then provides for the ability to configure a sweep.
- Support for sweeping frequencies, likely implemented with a timer interrupt to adjust frequency.
- Adding support for interaction via a rotary encoder,, to use some of the free pins, if implemented with interrupts this could allow for configuration of the frequency while it's running.
There are certain hardware limitations (eg buttons require row scanning) that does make certain things difficult while trying to run a tight loop required to do DDS. The next project will likely utilise 2 micros, one running DDS that is slaved to a master for implementing UI.