|
|
||
|
|
||
| .. Datenblatt .. EA-Kit IDE .. Zeichensatz .FXT | ||
|
|
||
|
Zeichensatz
(Font)
Eigene,
monochrome .FXT -Zeichensätze können im Bitmapeditor
der EA-Kit IDE oder in einem beliebigen ASCII-Texteditor
hergestellt werden. Wie dies geschieht, zeigt das nachfolgende
Bild. Die ersten sechs Zeilen sind reine Kommentare, die den
Zeichensatz für einen Benutzer beschreiben. Man erkennt
Kommentare an einem vorangestellten Semikolon. Dann folgt (ohne
Semikolon), die Codenummer des Zeichens das definiert werden
soll sowie die Definition des Zeichens selber. In gleicher Weise
können beliebig viele weitere Zeichen des Zeichensatzes
angehängt werden.
die Codenummer Mit seiner Codenummer kann das Zeichen später in dem kompletten Zeichensatz aufgefunden werden. Die Codenummer entspricht bei einem 'G' sinnvoller Weise dessen ASCII-Code, der 71 = 47h='G' lautet. Im Beispiel wurde der Code gleich drei mal aufgeführt, einmal dezimal, dann hexadezimal, dann als ASCII-Zeichen. Das muss nicht sein. Es genügt, wenn einem Zeichen nur eine einzigartige Codenummer vorangestellt wurde.
Das Bild zeigt den Editor der EA-Kit IDE. In ihm wird gerade das Zeichen G einer Fontdatei vorbereitet. das Raster Die Definition des Zeichens findet in einem Raster bei Benutzung der Zeichen '.' und '#' statt. Dabei stellen '.' und '#' aus- bzw. einzuschaltende Pixel der LCD-Anzeige dar. Bei dem Punktraster ist darauf zu achten dass bei allen Zeichen die gleiche Höhe eingehalten wird. Seine Breite darf variieren (proportionaler Font) oder immer gleich sein (monospaced Font). datei.fxt speichern Nach der Fertigstellung der Datei wird diese unter einem Namen.FXT auf dem Massenspeicher abgelegt und kann nun wie die anderen Fonts.FXT in ein Projekt der IDE geladen werden. z.B. FONT: nr <meinFont.fxt>. Bei der Compilation werden die Zeilen der Fontdatei.FXT übersetzt und sind nun so wie alle anderen Zeichensätze verfügbar. Aus welchen Zeichen ein ASCII-Zeichensatz (Codes 20h..7Fh) besteht, zeigt die nachfolgende Tabelle. Die Zeichen ab 80h halten sich in der Regel an keine Norm. Sie können dem ANSI-, DOS-, Windows-, oder beliebigen anderen Standards entsprechen. Für einen deutschen Zeichensatz ist es nur wichtig, dass sie die Umlaute äöüÄÖÜß enthalten. Weitere Zeichen können der zu bearbeitenden Problemstellung angepasst werden. Neben Schriftzeichen sind auch beliebige Bildchen (Icon) denkbar. |
||
|
|
Font 8 x16 des EA eDIPTFT43-A. Er wird als Font 1 vorzugsweise im Terminalmodus verwendet. Er kann wie oben beschrieben durch eigene Zeichen erweitert werden. |
|
|
Zeichensätze
monospaced und proportional
Bei
einem Zeichensatz vom Typ monospaced werden alle Zeichen in
einem Pixelraster mit gleicher Breite dargestellt. So ist jedes
Zeichen von einem anderen gleich weit entfernt, unabhängig
davon wie breit die Zeichen selber sind. Bei einem
proportionalen Zeichensatz ist das Raster jeweils so breit, wie
es der tatsächlichen Breite des Zeichens entspricht. Das
ergibt ein angenehmeres Schriftbild. Die beiden folgenden
Schriftproben vermitteln einen Eindruck.
Monospaced: mmmmm !!!!! Zeichenfont Courier New 10 01234567890 4440000 123 Proportional: mmmmm !!!!! Zeichenfont Arial 10 ----- 01234567890 4440000 123 Das folgende Beispiel belegt, dass Zeichensätze nicht nur aus Buchstaben und Ziffern bestehen müssen. Es dürfen auch kleine Bilder sein, die von der Tastatur aus erreichbar sind, wenn sie dem ASCII-Code einer Taste entsprechen. Farbige Zeichensätze.G16 Neben den monochromen Zeichensätzen können im Bitmap-Editor der IDE auch farbige Zeichensätze erstellt werden. Diese werden mit der Endung .G16 auf einem Massenspeicher abgelegt. Da sie bereits farbig sind, lassen sie sich nicht mehr durch ESC-Sequenzen einfärben. Beispiel einer Datei: symbole.FXT |
||
|
|
; Fontdatei : "Symbole.FXT" ; erste ASCII Nr : 32 ; letzte ASCII Nr : 255 ; Typ : proportional und beliebig ; Zeichenbreite : monospaced ; Zeichenhöhe : immer 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 unter dem Namen .. symbole.fxt.
Zeichensatz benutzen Ein erstellter Zeichensatz kann nur nach der Bearbeitung durch den Compiler in den FlashROM der Anzeige übertragen werden. Es gibt hierzu also keine ESC-Sequenzen die dies aus einem Benutzerprogramm heraus ermöglichen würden.
Die IDE löscht vor jeder Übertragung von Macrodateien zur Anzeige deren FlashROM. So muss die Übertragung alle Zeichensätze, Bilder und Makrobefehle umfassen, die später unmittelbar nach dem Einschalten und bei der Benutzung der Anzeige verfügbar sein sollen. Hierzu wird eine Makrodatei.kmc benötigt, die ebenfalls mit dem EA-Kit Editor erstellt werden kann. Das nächste Listing zeigt eine solche Datei. Sie installiert die 8 vorgefertigten Standardzeichensätze.fxt, sowie den oben erstellten Zeichensatz meinFont.fxt mit dessen Hilfe sie einige Zeichen ausgibt. meinFont.fxt ist dabei als Font Nummer 9 eingebunden worden.
Datei: meinFont.kmc |
|
|
|
||
|
|
; meinFont
; für eDIPTFT43-A Display
; =============================================
; 12.09.2009 www.GoBlack.de, D.Schwarzer
eDIPTFT43-A "meinFont" ;define eDIP, Projektname" max.32 Zeichen
COM1: 115200 ; eDIP-Verbindung über COM1 mit 115200 Baud
;COM6: 230400 ; eDIP-Verbindung über COM6 mit 230400 Baud
;USB: "eDIP Programmer" ; Verbindung EA 9777-1USB eDIP Programmer
VERIFY ; Verify nach der Programmübertragung
;------------------|-------------------|-------------------|----------------|
; Die angegebenen Fontdateien müssen sich im gleichen Ordner wie
; die Makrodatei befinden, oder es muss eine Pfadangabe
; vorangestellt werden. Bei Pfadangaben bedeutet ..\ in das
; vorherige Verzeichnis wechseln.
; laden der Standardfonts
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, <BIGZIF50.FXT>
Font: 8, <BIGZIF100.FXT>
; laden des Benutzerfonts
Font: 9, <meinFont.FXT>
; Zuweisung von Namen zu den Kennnummern von Normal-Makros
MnPowerOn = 0
;------------------|-------------------|-------------------|----------------|
; Makros welche das Display von sich aus bei Ausnahmezuständen aufruft
PowerOnMakro: ; wird nach dem Einschalten ausgeführt
#MN MnPowerOn
ResetMakro: ; wird nach einem externen Reset ausgeführt
#MN MnPowerOn
WatchdogMakro: ; wird nach einem Fehlerfall/Timeout >500ms ausgeführt
#MN MnPowerOn
BrownOutMakro: ; wird nach einem Spannungseinbruch <4V ausgeführt
#MN MnPowerOn
;------------------|-------------------|-------------------|----------------|
; Benutzerdefinierte Makros (hier ein Normal-Makro).
; Seine ESC-Sequenzen sind im Datenblatt erklärt. Anstelle des
; Zeichens ESC wird das Zeichen # verwendet.
; -----------------------
Makro: MnPowerOn
; -----------------------
#AL 0,0 ; alle Touch löschen
#DL ; Grafik-Display löschen
#YS 0 ; Terminal Pieper 0=Aus, 1=Ein
#AS 0 ; Touch Pieper 0=Aus, 1=Ein
#TC 0 ; Terminal Cursor 0=Aus, 1=Ein
#ZF 9 ; Zeichensatz Nr: 9 (meinFont)
#FZ 8,0 ; Fontfarbe weiss, transparent
#ZZ 1,1 ; Zoomfaktor 1
#ZL 10,10, $FF," !m!m" ; Text mit eigenem Zeichensatz ausgeben
|
|
|
|
||
|
Zeichensatz
zur Anzeige übertragen
Um den
obigen Quelltext benutzen zu können und seine
Programmierung auf der Anzeige wirksam werden zu lassen, muss er
vom Compiler übersetzt werden. Hierzu wird im EA-Kit Editor
der Menüpunkt [Compile] und dort das einzige Untermenü
[Compile F5] aufgerufen. F5 bedeutet, dass man auch gleich die
Funktionstaste [F5] hätte drücken können um den
Compiler zu starten.
Der Compiler übersetzt die Datei meinFont.KMC und bindet dabei die angegebenen Zeichensätze zusammen. Das Resultat seiner Arbeit legt er in der Datei meinFont.DF ab. Diese Datei kann man mit einem Programm, welches der EA-Kit IDE beiliegt, selber zur Anzeige übertragen, einfacher ist es jedoch wenn man auch diese Arbeit dem Compiler überlässt. Da im obigen Quelltext die PC-Schnittstelle COM1 angegeben wurde und zudem die Baudrate 115.200. Versucht der Compiler automatisch Kontakt zur Anzeige aufzunehmen. Gelingt dies, erscheint auf der Anzeige ein Fortschrittbalken und die Daten werden übertragen, dann verifiziert. Ist dieser Vorgang abgeschlossen wird die Anzeige automatisch neu gestartet und die gesendeten Daten und Eigenschaften sind von nun an nach jedem Einschalten der Anzeige verfügbar. Im obigen Fall wird zudem sofort ein Text mit dem neuen Zeichensatz ausgegeben. $FF steht dabei für den Code der Diode. |
||
|
|
.de