Auf dem Display werden immer 5 Presets angezeigt, davon eine markiert. Mithilfe eines Drehencoders verschiebt man die Markierung nach oben oder nach unten. Der zweite Drehencoder dient dafür, zwischen laden oder speichern zu entscheiden. Durch drücken des Drehencoders wählt man die Funktion aus: ausgewählte Preset wird nach Bedarf geladen oder gespeichert. Danach folgt eine Meldung, dass die Operation erfolgreich abgeschlossen wurde. Falls ein leere Preset geladen werden soll, wird eine Fehlermeldung angezeigt.
Auf der Frontplatte befinden sich die Drehencoder unter dem Display. Alle drei Bauteile werden mithilfe von Flachbandkabel herausgeführt (Platine ist senkrecht zu Frontplatte befestigt).
Wir verwenden ein 8-Zeiliges, ks0108-kompatibles Display und zwei drückbare 427-Drehencoder.
Die Displaypins wurden mit einem ATMEGA16-Mikrocontroller verschaltet und durch SPI-Pins erweitert, um eventuell nachzuprogrammieren.
Es existieren zwei Drehpotentiometer um die Beleuchtung und den Kontrast des Displays anzupassen. Die Display-Ansteuerung erfolgt getrennt über einen Control-Port und einen Data-Port.
Der Display-Controller wird über UART mit dem Core-Controller kommunizieren,
um ihm mitzuteilen, welches Preset geladen / gespeichert werden soll. Dafür wird das früher erläuterte Menü benutzt.
Das Menü wurde in einer Endlosschleife implementiert. Bei jeder Drehung
wird entschieden, welches Preset bzw. welche Option markiert wird\abgewählt wurde. D.h, die Funktion updated nur 2 Zeile bei jeder Aktion.
Bei der Hauptverarbeitungsschleife wird es zunächst entschieden ob ein Encoder gedreht oder gedrückt wurde und anhand dessen eine passende Aktion ausgeführt: entweder wird das Menü aktualisiert oder ein Datenpaket zum Core gesendet.