Baugruppen Aktoren /Sensoren
 
 

 
 

           Farbgrafik-TouchDisplay EA eDIPTFT43

 
 
.. Datenblatt .. Grafikmodus ..Textausgaben
 
 
 
 
 

 
 
 
 
 
Zeichensätze
Im Auslieferungszustand des Displays sind bereits Zeichensätze in den FlashROM der Anzeige vorgeladen. Diese werden aber bei der ersten Makrocompilation überschrieben.
So steht im Grafikmodus kein sicherer Zeichensatz zur Verfügung. Es ist zwar der Font 5 voreingestellt, aber wenn dieser Zeichensatz nicht geladen ist, erfolgt auch keine Textausgabe. Beim Aufbau eines Makro-Projekts sollten daher alle gewünschten Zeichensätze, Grafiken, Bilder usw.. ausdrücklich benannt werden, damit sie nach der Compilation in den FlashROM der Anzeige übertragen werden und folgend genutzt werden können. Der Aufbau eines Projekts ist mit der frei verfügbaren EA-Kit IDE der Fa. electronic assembly möglich.
siehe Zeichensätze    
 
 
 
 

Übersicht

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


Wirkung auf das gesamte Display
 
 
 
ESC
F
D
cv
ch



Farbe für Vorder- und Hintergrund (1-32) für Displayfläche und Bereiche einstellen. Nach dem Einschalten stehen 16 Farben bereit (0=Transparent)
8,1
 
 
ESC
D
O
n




Winkel der Ausgabe  n=0 -> 0°, n=1 -> 90°, n=2 -> 180°, n=3 -> 270°
0

 
ESC
D
L





Displayinhalt löschen (mit Hintergrundfarbe füllen)


 
ESC
D
S





Displayinhalt füllen (mit Vordergrundfarbe füllen)


 
ESC
D
F
n




Displayinhalt mit Farbe n= 1-32 füllen


 
ESC
D
I





Displayinhalt invertieren (mit Komplementärfarbe füllen)














 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



Attribute für Texte im Grafikmodus
 
 
 
ESC
F
Z
cv
ch



Farbe für Vorder- und Hintergrund (0-32) von Schrift einstellen. Nach dem Einschalten stehen 16 Farben bereit (0=Transparent)
8
 
 
ESC
Z
F
n




Zeichensatz mit der Nummer n benutzen
5

 
ESC
Z
Z
nx
ny



Zoomfaktor 1-8 für Zeichen in x- und y-Richtung
1,1


ESC
Z
Y
nb
nh



Zusätzliche Pixel 0-15 in der b-Breite und h-Höhe
0,0


ESC
Z
J
n




Leerzeichenbreite n=0 wie Zeichensatz, n=1 wie Ziffer, n>=2 wie angegeben
0


ESC
Z
W
w




Winkel der Textausgabe  w=0 -> 0°,w=1 -> 90°,w=2 -> 180°, w=3 -> 270°
0

 
 
 
 
 
 
 
 
 
 
 
 









Textausgabe im Grafikmodus
Die nachfolgenden Texte werden mit den zuvor eingestellten Attributen s.o. ausgegeben. Ihr Ende wird durch ek=00h <NUL>, 0Ah <LF> oder 0Dh <CR> gekennzeichnet. Die Positionsangaben xx,yy beziehen sich auf Pixel und umfassen 2Byte. High Byte-> niedriger Wert, Low Byte-> hoher Wert der Positionsangabe. Mehrere Zeilen können durch das Zeichen | (7Ch) hervorgerufen werden. Textausgabe von \ durch \\ , von | durch \ |.



ESC
Z
L
xx
yy
Text
ek
Zeichenkette linksbündig zur Pixelposition xx,yy ausgeben



ESC
Z
C
xx
yy
Text
ek
Zeichenkette zentriert zur Pixelposition xx,yy ausgeben



ESC
Z
R
xx
yy
Text
ek
Zeichenkette rechtsbündig zur Pixelposition xx,yy ausgeben


 
 
 
 
 
 
 
 
 
 
 








Textausgabe zum Terminalfenster



ESC
Z
T

Text

Zeichenkette aus einem Makro an das Terminalfenster ausgeben












 
 
 
 
 
 
 
 
 
 



 
Beispiel
Das folgende Beispiel zeigt einen C-Quelltext mit dem es möglich ist, einen Text, den Orientierungen L,C,R entsprechend, an einer Position xx,yy auszugeben. In diesem Beispiel steht die Funktion dip240out() für ein Treiberprogramm, welches das Small- Protokoll der Anzeige für die gewählte Schnittstelle RS232, SPI, I2C bedient. Dieser Treiber gibt 0 zurück, wenn die Übertragung nicht geklappt hat.
In gleicher Weise können Funktionen für die anderen ESC-Sequenzen aufgebaut werden.

 




int Gr43txtout(int x, int y, char ori, char* string)
{
 char cmd[]="\x1B""ZL""\x00\x00\x00\x00";
 unsigned n=0;

 // Orientierung L,C,R entsprechend setzen
 if     (ori=='L')cmd[2]='L';               // #ZL x,y stringNUL
 else if(ori=='C')cmd[2]='C';               // #ZC x,y stringNUL
 else             cmd[2]='R';               // #ZR x,y stringNUL

 // Position xx,yy auf zwei Bytes aufteilen und Kommando ausgeben
 cmd[3]=(unsigned)x; cmd[4]=x >> 8;
 cmd[5]=(unsigned)y; cmd[6]=y >> 8;
 if(!dip240out(cmd,7)) return(0);

 // Länge des Strings an dessen Nullterminierung feststellen und
 // dabei die deutsche Umlaute anpassen
 while(string[n++]!= 0){
   switch(string[n-1]){
     case 'Ä': string[n-1]=0x8E; break;
     case 'ä': string[n-1]=0x84; break;
     case 'Ö': string[n-1]=0x99; break;
     case 'ö': string[n-1]=0x94; break;
     case 'Ü': string[n-1]=0x9A; break;
     case 'ü': string[n-1]=0x81; break;
     case 'ß': string[n-1]=0x9E; break;
     case '°': string[n-1]=0xF8; break;
   }
 }
 // String auf max 255 Zeichen begrenzen und ausgeben.
 if(n>254){string[254]=0; n=255;}
 if(!dip240out(string,n)) return(0);

 return(1);
}




 

 
www..de