|
|
||
|
|
||
|
|
|
|
| .. Datenblätter .. EA-Kit IDE .. Font.FXT |
|
|
|
|
||
|
|
Wie Zeichensätze in einem ASCII- oder dem Kit-Editor erstellt werden können, zeigt das nachfolgende Bild. Die ersten sechs Zeilen sind reine Kommentare, die den Zeichensatz beschreiben. Man erkennt Kommentare an einem vorangestellten Komma. Dann folgt ohne Semikolon, die Kennnummer des Zeichens das folgend definiert werden soll. Mit dieser kann das Zeichen später in dem kompletten Zeichensatz aufgefunden werden. Die Kennnummer entspricht bei einem 'G' sinnvollerweise dessen ASCII-Code, der 71 = 47h lautet. Im Beispiel wurde der gleich drei mal aufgeführt, einmal dezimal, dann hexadezimal, dann als ASCII-Zeichen. Das muss nicht sein. Es genügt, wenn das Zeichen nur eine einzigartige Nummer erhält
Das Bild zeigt den Kit-Editor, der ausser dem Compiler-Menü keine aussergewöhnlichen Menüelemente besitzt. In ihm wird gerade das Zeichen G einer Fontdatei vorbereitet.
Zur Definition des Zeichens wird es in dem zur Rede stehenden Raster aus den Zeichen '.' und '#' gezeichnet. Diese stellen aus- bzw. einzuschaltende Punkte der LCD-Anzeige dar. Nachdem der Font kompiliert und zur Anzeige übertragen wurde erscheint es dort als gut erkennbares 'G', wenn sein ASCII-Code in einem auszugebenden Text benutzt wird. Aus welchen Zeichen ein Zeichensatz sinnvollerweise besteht, und welcher Code den Zeichen zugeordnet werden sollte, wenn es sich um solche aus dem ASCII-Zeichensatz handelt, zeigt die nachfolgende Tabelle. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Zeichensätze monospaced und proportional |
|
|
|
Auch bei den Fontdefinitionen für die obige Anzeige ist es erlaubt variable Rasterbreiten zu benutzen. Damit ist es möglich proportionale Schriften zu entwerfen. Die Rasterhöhe sollte bei proportionalen Schrifen natürlich für jedes Zeichen gleich sein, allerdings sind auch hier keine Grenzen gesetzt, so dass beliebige Zeichen mit beliebiger Breite und Höhe entstehen können. Die definierbaren Zeichen sind auch nicht nur auf Buchstaben beschränkt wie das folgende Beispiel belegt. Datei: symbole.FXT |
|
|
|
|
|
; Fontdatei : "Symbole.FXT" ; erste ASCII Nr : 32 ; letzte ASCII Nr : 255 ; Typ : proportional und beliebig ; Zeichenbreite : variabel ; Zeichenhöhe : 8 32 $20 ' ' ; Space ...... ...... ...... ...... ...... ...... ...... ...... 33 $21 '!' ; Ausrufungszeichen ..#... ..#... ..#... ..#... ..#... ...... ..#... ...... 109 $6D 'm' ; Buchstabe m ........ ........ ........ .##.##.. #..#..#. #..#..#. #..#..#. ........ 255 $FF ; eine Diode ...#.... ...#.... #######. #..#..#. .#.#.#.. ...#.... #######. ...#.... ...#.... |
|
|
|
|
|
|
Zeichensatz speichern Ist die Datei mit der Definition eines Zeichensatzes fertiggestellt, so sollte man sie mit einem Namen und der Endung .fxt auf einem Massenspeicher ablegen. Im Beispiel oben z.B 7unter dem Namen .. symbole.fxt . Quelltextedatei zur Übertragung von Zeichensätzen zur Anzeige Ein erstellter Zeichensatz kann nur nach der Bearbeitung durch den Compiler in den EEPROM der Anzeige übertragen werden. Es gibt keine ESC-Sequenzen, die dies einem Softwareprogramm ermöglichen würden, welches die Anzeige nutzt. Vor jeder Übertragung wird der EEPROM vom Compiler vollständig gelöscht, so dass die Übertragung alle Zeichensätze, Bilder und Makrobefehle umfassen muss, die später unmittelbar nach dem Einschalten der Anzeige verfügbar sein sollen. Hierzu wird eine Datei.kmc benötigt, die ebenfalls mit dem Kit Editor erstellt werden kann. Das nächste Listing zeigt eine solche Datei. Sie stellt den Zustand an der Anzeige her, in dem sie auch ausgeliefert wird. In diesem Zustand sind auch sieben Zeichensätze enthalten, deren Quelldateien.fxt in einem Verzeichnis der EA-Kit IDE enthalten sind.
In dieser Datei könnte man den oben definierten Zeichensatz Symbole.fxt als Font 8 einbinden. Angenommen die Datei wäre unter dem Namen 'Symbole.fxt' ebenfalls in dem Verzeichnis c:\fonts\ abgelegt worden, so würde die zusätzliche Zeile lauten ..
Font: 8, <Symbole.fxt>
Datei: INIT.KMC |
|
|
|
eDIP240-7 "initialisierung / Auslieferung"
; Die obige Zeile definiert die Anzeige eDIP240-7 als,
; Zielgerät und nennt den "Projektnamen" der Datei,
; der maximal 30 Zeichen lang sein darf
; Zeilen mit einem vorangestellten ';' sind Kommentar-
; Zeilen.
;SIMULATION ; Wenn die Datei nur softwaremässig auf
; einem PC emuliert werden soll, ';'
; entfernen
COM1: 115200 ; Übertragungsrate der seriellen
; Schnittstellenverbindung zur eDIP240
; Anzeige. Benutzt wird am PC
; COM1 mit 115200 Baud
VERIFY ; Wenn der Übertragungserfolg überprüft
; werden soll. Sonst mit ; deaktivieren
; ---------------------------------------------------------
; Fonts einbinden, maximal 15 eigene Fonts (1..15) möglich
; Der interne Font 0 ist immer vorhanden und kann nicht
; überschrieben werden
PATH: <c:\FONTS\> ; Angabe des Pfades zu dem Font-
; verzeichnis. Es sind auch relative
; Angaben ..\ möglich
Font: 1, <4x6.FXT>
Font: 2, <6x8.FXT>
Font: 3, <7x12.FXT>
Font: 4, <GENEVA10.FXT>
Font: 5, <CHICAG14.FXT>
Font: 6, <SWISS30B.FXT>
Font: 7, <BIGZIF57.FXT>
Font: 8,<Symbole.FXT>
; --------------------------------------------------------
; Bilder einbinden, im Auslieferungszustand sind keine
; Bilder in der Anzeige vorhanden. Hier zur Vollständig-
; keit trotzdem der notwendige Befehl ';' entfernen, wenn
; er genutzt werden soll
;PATH: <c:\PICS\>
;Picture: 1 <GoBlack.bmp>
; ---------------------------------------------------------
; Die speziellen Makros der Anzeige die bei Hardware-
; ereignissen an der Anzeige automatisch ausgeführt werden
; Hier rufen sie alle das normale Makro 0 auf, was in der
; Folge definiert ist.
PowerOnMakro: ; wird nach dem Einschalten ausgeführt
#MN 0
ResetMakro: ; wird nach einem externen Reset ausgeführt
#MN 0
WatchdogMakro: ; wird nach einem Fehlerfall/Timeout >500ms
#MN 0 ; ausgeführt
BrownOutMakro: ; wird nach einem Spannungseinbruch <4V
#MN 0 ; ausgeführt
; ---------------------------------------------------------
; Eine Makrodefinition, die nichts tut. In den Zeilen
; hinter ihr können ESC-Sequenzen folgen, so wie sie auch
; ein Benutzerprogramm senden kann. Mit dem Aufruf des
; Makros würden sie dann ausgeführt werden .. Aber dieses
; tut nix.
Makro: 0
|
|
|
|
|
|
|
|
|
|
|
|
.de