Displayentwicklung leicht gemacht

Die Displays der EA eDIP-Serie sind „intelligent“, was in diesem Fall bedeutet, dass bereits viele Grafikfunktionen und Schriften zur sofortigen Nutzung im Display integriert sind. Um den Entwicklern den Einstieg in den Umgang mit dieser Art von Displays zu erleichtern, hat Electronic Assembly Starterpakete geschnürt. Neben einem USB-Interfaceboard und dem jeweils gewünschten Display inklusive Touchpanel enthalten die Pakete eine Mini-DVD mit Dokumentation der Displays und einen Editor zur Verwendung des internen Speichers. Abgerundet wird der Inhalt des Datenträgers durch eine Vielzahl von Beispielmakros und Vorlagen.

Wir wollten wissen, wie einfach sich der Einstieg in die Arbeit mit den Displays gestaltet und in welchem Maß die Evaluierungsboards Neueinsteigern den Weg ebnen. Electronic Assembly stellte hierzu einen Starterkit bereit, bestehend aus einem Evaluierungsboard für den Displaytyp EA eDIPTFT43-ATP nebst USB-Kabel und einer Mini-DVD mit Software, Dokumentation und Beispielmakros. Das Evaluierungsboard (Aufmacherbild) enthält einen USB-Anschluss für die Datenkommunikation mit dem PC beziehungsweise weitere optionale Schnittstellen RS-232, I²C und SPI für die Kommunikation mit dem Host-Rechner der Zielapplikation. Eine Reihe von Leuchtdioden gibt Auskunft über den Status der acht digitalen Ausgänge des Displays. Um Sensoren und Schalter oder Relaiskontakte in der Zielanwendung nachzubilden, sind auf dem Eval-Board darüber hinaus zwei kleine Potentiometer und acht Taster angebracht.

Installation und erste Versuche

Die Installations-DVD enthält eine Fülle von Material. Neben der Dokumentation der verschiedenen Displays finden sich hier die Entwicklungssoftware sowie eine Vielzahl von Makrobeispielen und Layout-Vorlagen. Der Quelltext-Editor zur Erstellung eigener Makros (Bild 1) bindet über Icons weitere Programme ein. Dazu gehören ein Compiler, ein Terminalprogramm, ein Bitmap-Editor (Bild 2) und ein Editor für die Erstellung virtueller Messinstrumente. Diese Programme sind allesamt so nahtlos in den Quelltext-Editor integriert, dass man mit Fug und Recht von einer veritablen Entwicklungsumgebung sprechen kann.

Die Installation gestaltet sich problemlos. Der Anwender kann wählen, ob er die gesamte Umgebung auf einer lokalen Festplatte oder auf einem transportablen Datenträger installieren will. Letzteres bietet den Vorteil, dass man seine Arbeit an jedem beliebigen Rechner vorantreiben kann. Man erhält somit gewissermaßen eine Entwicklungsumgebung für die Hosentasche. Die gesamte Umgebung mit Software, Dokumentation und Beispielmakros kommt mit überraschend wenig Speicherplatz aus. Alles inklusive belegt sie nicht einmal 100 Megabyte. Auch die selbst erstellten Makros machen sich auf dem Datenträger klein; man muss also keine Angst haben, dass das Fassungsvermögen des USB-Sticks gesprengt wird. Empfehlenswert ist es, für sein Projekt ein eigenes Verzeichnis einzurichten, so kommt man im Dickicht der vielen Unterverzeichnisse, die das Installationsprogramm anlegt, nicht durchei-nander.

Für die ersten Gehversuche greift man praktischerweise auf die vorgefertigten Beispiele zurück. Der Editor kann mehrere Makrodateien gleichzeitig öffnen und auf dem PC-Bildschirm nebenei-nander oder übereinander darstellen, so dass sie sich leicht auf Unterschiede und Gemeinsamkeiten untersuchen lassen. Die Gesamtheit der zu einem beliebigen Zeitpunkt zur Bearbeitung geöffneten Dateien lässt sich als Workspace-Datei gemeinsam abspeichern und wieder öffnen, so muss der Benutzer nicht jede Datei einzeln aufrufen.

Der Umgang mit dem Editor ist kinderleicht und intuitiv – er stellt Instruktionen, Parameter und Kommentare automatisch in unterschiedlichen Farben dar und bietet damit eine optimale Übersichtlichkeit. Ein Druck auf die Taste F5 startet den Compiler, der die Text-Anweisungen in ein maschinenlesbares Format übersetzt. Anschließend werden die Makros in das Display geladen und das Power-On-Makro gestartet. Findet der Compiler einen Fehler im Quelltext, so bricht er mit einer Fehlermeldung ab. Bei Anklicken derselben springt der Cursor im Editor gleich an die passende Stelle, eine umständliche Fehlersuche über Zeilennummern oder Statement-Suche gehört damit der Vergangenheit an.

Die Displays werden über Escape-Sequenzen gesteuert. Das Escape-Zeichen wird auf dem Bildschirm als Doppelkreuz (#) eingegeben. Danach folgen die eigentliche Instruktion und eine Anzahl von Parametern, die von der Art des Befehls abhängen. Um ein Objekt zu positionieren – gleich, ob es sich um einen Text, ein Bitmap oder eine Schaltfläche handelt – ist seine Position in absoluten Koordinaten x und y anzugeben.

Kreise und Dreieckflächen darstellen kann das Display nicht. Abgesehen von dieser kleinen Einschränkung steht ein sehr umfangreiches Instrumentarium zur Verfügung, mit dessen Hilfe Entwickler grafischer Benutzeroberflächen nahezu alles implementieren können, was das Herz begehrt. Acht Fonts sind vordefiniert und ohne weiteren Aufwand abrufbar. Diese Fonts lassen sich auch noch nach x- und y-Richtung skalieren. Bitmaps, Flächenmuster, Mehrsprachigkeit, Vorder- und Hintergrundfarben, Animationen – all das ist mit dem mächtigen Instruktionssatz möglich. Zudem gibt es vordefinierte Makros, die bestimmte Funktionen gleich fertig liefern. Beispielsweise kann man eine Fläche ganz einfach per „Touchmakro“ zum Schalter erklären oder eine Balkenanzeige definieren, die als Schieberegler wirkt. Ebenso lassen sich die acht Taster auslesen und mit Funktionen belegen („Bitmakro“). Das Gleiche gilt für die beiden Potentiometer – durch eine simple Definition liefern sie den Eingangswert für ein virtuelles Messinstrument, das auf dem Bildschirm dargestellt wird („Analogmakro“). Im Lieferumfang des Starter-Kits ist bereits eine Auswahl an Messinstrumenten-Layouts vordefiniert (Bilder 3 und 5). Aus dem Quellcode-Editor heraus lässt sich der Instrument-Editor starten. Dieses Werkzeug ermöglicht es dem Entwickler, alle nur denkbaren Parameter einer Instrumentendarstellung zu variieren – ein Tool, das durchaus zum Spielen verleiten kann, das aber dem Entwickler auf jeden Fall die Möglichkeit bietet, die Bildschirmdarstellung in weitem Umfang seinen Vorstellungen anzupassen.

Der Bitmap-Editor ist in gleicher Weise in den Quelltexteditor eingebunden wie der Instrument-Editor. Er unterstützt den Entwickler im Entwurf von Bitmaps bis zu einer Größe von 480 x 480 Pixeln. Der Farbumfang ist wählbar zwischen monochrom und True Color, also bis zu einer Farbtiefe von 24 Bit. Der Editor bietet eine Reihe grundlegender Funktionen zur Gestaltung von Flächen – etwa das Zeichnen von Rechtecken, Ellipsen und Kreisen, das Füllen von Flächen mit Farben und das Modifizieren einzelner Pixel. In der Praxis wird der Bitmap-Editor wohl hauptsächlich für die Entwicklung von Schaltflächen verwendet werden, soweit man hierzu nicht gleich eine fertige Grafikvorlage nutzen möchte, denn auch Bilder im GIF- und JPG-Format lassen sich damit einbinden und auf dem Bildschirm darstellen.

Erstes Projekt

Um die Möglichkeiten des Evaluierungsboards auszuloten, haben wir uns eine kleine Projektaufgabe gestellt. Die Aufgabenstellung ist der Gebäudeautomatisierung entnommen – eine durchaus realistische Anwendung also für diese Art von Produkten.

Zunächst wollen wir für eine gedachte Wohnung vier Lichtschalter als Schaltflächen definieren. Ihnen werden als symbolische Raumbeleuchtungen vier Leuchtdioden aus der LED-Reihe auf dem Eval-Board unterhalb des Displays zugeordnet. Sodann wollen wir eine Anzeige für Außen- und Innentemperatur realisieren – die Anzeige soll natürlich über die Potentiometer simuliert werden. Schließlich soll noch ein virtueller Schieberegler die Displayhelligkeit einstellen. In einem ersten Schritt definieren wir dazu vier Schaltflächen (Bild 4), die ebenso vielen Zimmern zugeordnet werden, und weisen ihnen die Funktion zu, das Licht in den entsprechenden Zimmern bei jeder Betätigung wechselweise ein- und auszuschalten.

Das geht mit wenigen Programmzeilen (siehe Kasten 1); das Resultat besticht durch seine schlichte Eleganz (siehe Bild 4): Das Drücken einer Schaltfläche wird durch den Wechsel der Farbe angezeigt. Das reicht uns natürlich noch nicht. Wir wollen dieses Konzept nun etwas verfeinern: Auch eine Anzeige von Außen- und Innentemperatur soll unseren Bildschirm zieren, gesteuert von den beiden Potentiometern als simulierte Temperatursensoren (Bild 5). Zu alledem wollen wir einen virtuellen Schieberegler implementieren, der die Helligkeit des gesamten Displays steuert. Die entsprechende Makrodefinition ist in „Info-Kasten 2.“ dargestellt, der am Ende des Artikels herunter geladen werden kann.

Das Ganze ist recht „straightforward“ und ohne besondere programmiertechnische Kenntnisse in relativ kurzer Zeit zu schaffen. Die für viele Eingaben erforderliche manuelle Berechnung der Koordinaten könnten Anfänger als etwas mühsam empfinden. Aber wie so oft in der Software hilft das intensive Studium des Handbuchs in den meisten Situationen weiter. Notfalls muss man etwas herumprobieren, etwa wenn, wie bei den Instrumenten, zunächst nicht klar war, auf welchen Bezugspunkt sich die Koordinatenangabe bezieht – links oben oder rechts unten oder wo? Dass die einfache Struktur der Anweisungssprache keine bedingten Verzweigungen und keine Abfrageschleifen innerhalb der Makros zulässt, wird letztlich nicht vermisst, denn in vielen Makros sind solche Abfrageschleifen implizit enthalten.

Schlussbemerkung

Natürlich ist die gezeigte Anwendung nur ein erster Annäherungsversuch; das Potenzial des Displays wird damit nicht annähernd ausgeschöpft. Denkbar wäre nun beispielsweise, durch den Tastendruck das Licht nicht nur in den LEDs „anzuknipsen“, sondern auch die Darstellung des jeweiligen Zimmers zu ändern. Oder den Tasten am unteren Rand des Boards eine Funktion zuzuweisen, die sich in einer wie auch immer gearteten Änderung der Bildschirmdarstellung niederschlägt. Mit etwas Phantasie und Erfahrung lassen sich mit diesem Evaluation Kit äußerst komfortable Benutzeroberflächen für viele Anwendungsfelder kreieren – auf eine sehr komfortable und anwenderfreundliche Weise.

Christoph Hammerschmidt

: Christoph Hammerschmidt, Fachautor.

(sb)

Sie möchten gerne weiterlesen?