Baugruppen Aktoren /Sensoren
 
 

 
 

           Farbgrafik-TouchDisplay EA eDIPTFT43

 
 
.. 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.
 
 

 
www..de