17
Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 Funktionen der UTFT-Library Übersicht der Funktionen nach Dokument UTFT.pdf, Details sind im Original noch besser beschrieben. Achtung! Immer neueste Variante laden: http://henningkarlsen.com/electronics/library.php?id=52 Kompatibele Grafik-Controler und Boards 1

Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

Funktionen der UTFT-LibraryÜbersicht der Funktionen nach Dokument UTFT.pdf, Details sind im Original noch besserbeschrieben.

Achtung! Immer neueste Variante laden:http://henningkarlsen.com/electronics/library.php?id=52

Kompatibele Grafik-Controler und Boards

1

Page 2: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

µC Boards

VorbereitungenDie o.g. Controller haben eine ganze Palette von Anwendungsmöglichkeiten. Einige davonsind durch die Beschaltung von HW-Steuerpins fest eingestellt, andere können durch Bits inRegistern gesteuert werde.

- Boards mit dem gleichen Controller können festgelegte unterschiedlicheEigenschaften haben ! Z.B. werden Schnittstellenformate damit fest eingestellt : DerController kann 8b, 16b, Seriell (SPI), die Hardware ist allerdings auf 8b fest

2

Page 3: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende Pinsdurch die Anzeige verdeckt werden.

- Die Spannungsversorgung sind ein weiteres Poblem. Original haben die LCD-Controller meist 3,3V Versorgungsspannung. Die Datenpegel entsprechen dieserSpannung. Es gibt Board mit der gleichen Anzeige und dem gleichen Controller, dieeinen Spannungsregler 5V zu 3,3V enthalten und andere, die mit 3,3V versorgtwerden müssen. Beide Leitungen heißen auf der Anschlussleiste VC33 ! Hier kannein Fehlanschluss versehentlich Controller und Anzeige zerstören !

- Die Datenpegel entsprechen nicht immer der Versorgungsspannung. Es gibt Boardsmit 5V Versorgung aber mit 3,3V Datenpegeln. Es gibt auch Boards mit 5VVersorgungsspannung und 5V Datenpegeln (Pegelwandler).

- Der Umgang der Hersteller mit unterschiedlichen Pegeln ist problematisch : Bei 3,3VVersorgungsspannung darf der Eingangspegel eine Datenleitung nur unwesentlichhöher sein als 3,3V, da sonst die sehr gering belastbare Schutzdiode am Eingangdes Schaltkreises zerstört wird:

o Manche Hersteller leugnen diesen Zusammenhang und geben die Arduino-Ausgänge (ca. 5V /30mA belastbar) direkt auf die Dateneingänge desControllers.

o Andere Hersteller bauen 1k Widerstände in Reihe zu den Eingängen ein, umdie Dioden zu schützen.

o Wieder andere Hersteller bauen für alle Datenleitungen Pegelwandler ein.

- Die UTFT-Library muss wissen mit welchem Prozessor sie arbeitet, dies geschiehtdurch ein DEFINE (zu finden zu Beginn des UTFT.ccp, neueste Versionberücksichtigen !):

o __AVR_ATmega1280__o __AVR_ATmega2560__o __AVR_ATmega328P__o __AVR_ATmega32U4__o __AVR_ATmega168__)

O.ä. Einer dieser Ausdrücke muß im Kopf des Anwenderprogramms definiertwerden, z.B.:

#define __AVR_ATmega328P__

3

Page 4: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

- Die UTFT-Library muss mit INCLUDE verfügbar gemacht werden:

#include <UTFT.h>

Es wird offensichtlich immer die GESAMTE Library mit eingebunden. BeiSpeicherüberlauf finden sich Hinweise, nichtgebrauchte Teile der Libraryauszukommentieren (NICHT C-KONFORM !). In diesem Fall sollte man eineveränderte Version der Library in das Programm-Verzeichnis kopieren und beiINCLUDE die spitzen Klammern weglassen.

FunktionenUTFT(Model,RS,WR,CS,RST);

Hauptklasse zur Bildung von Display-Objekten mit Parallel-Schnittstellen

UTFT(Model,SDA,SDI,CS,RST[,RS]);

Hauptklasse zur Bildung von Display-Objekten mit Serieller Schnittstellen

InitLCD([orientation]);

Initialisierungdes Schrims, Einstellung der Bildschirm-Orientierung PORTRAIT oder LANDSCAPE,Hintergrundfarbe ist schwarz.

4

Page 5: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

clrScr();

Bildschirm löschen, Hintergrundfarbe ist schwarz.

getDisplayX();

Ermittelt die Breite des Bildschirms in Pixeln.

getDisplayY();

Ermittelt die Höhe des Displays in Pixeln

fillScr(r,g,b);

Bildschirm mit einer Farbe füllen, r: Rot 0-255, g: grün 0-255, b: blau 0-255

setColor(r,g,b);

Setzen der aktiven Zeichenfarbe für alle Zeichen- und Druckkommandos.

Farbtabelle siehe Anhang

setContrast();

Stellt den Kontrast in Schritten von 0-64 ein.

getColour();

Ermittelt die aktuell eingestellte Farbe.

setBackColor(r,g,b);

Setzen der Hintergrundfarbe für alle Zeichen- und Druckkommandos. Es können auch dievorfefinierten Konstanten für Farbabstufungen verwendet werden (s. Anhang)

ZeichenkommandosdrawPixel(x,y);

Zeichenen eines Punktes an der Stelle x,y

drawLine(x1,y1,x2,y2));

Zeichnen einer Linie von x1,y1 nach x2,y2

5

Page 6: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

drawRect(x1,y1,x2,y2));

Zeichnen eines Rechtecks untere Ecke x1,y1 zur oberen Ecke x2,y2

drawRoundRect(x1,y1,x2,y2));

Zeichnen eines abgerundeten Rechtecks untere Ecke x1,y1 zur oberen Ecke x2,y2

fillRect(x1,y1,x2,y2));

Zeichnen eines gefüllten Rechtecks untere Ecke x1,y1 zur oberen Ecke x2,y2

fillRoundRect(x1,y1,x2,y2));

Zeichnen eines gefüllten abgerundeten Rechtecks untere Ecke x1,y1 zur oberen Ecke x2,y2

drawCircle(x,y,radius);

Zeichnen eines Kreises an der Stelle x,y mit dem Radius radius.

fillCircle(x,y,radius);

Zeichnen eines gefüllten Kreises an der Stelle x,y mit dem Radius radius.

Ausgabekommandos Vektor-Fontsprint(string,x,y[,deg]);

Schreibe einen Zeichen-String beginnend bei x,y mit dem Steigungswinkel deg.

printNumI(num,x,y,length [,filler]);

Schreibe eine Integer-Zahl num beginnend an der Stelle x,y. Mit length kann die minimaleAnzahl Stellen angegeben werden. Das erste zeichen nach dem Komma kann mit demZeichen filler angegeben werden. X,y können auch miot den Konstanten LEFT, RIGHT, CENTERangegeben werden (Positionierung auf dem Bildschirm).

printNumF(num,dec,x,y [,divider[,length[],filler]]);

Schreibe eine Float-Zahl num beginnend an der Stelle x,y. Mit ldec kann die Anzahl derNAchkommastellen angegeben werden. Mit divider kann das Zeichen mit der

6

Page 7: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

Kommabedeutung angegeben werden. Mit length werden minimale Nachkommastellenangegeben. Mit filler kann das Vorkommazeichen angegeben werden.

setFont(fontname);

Auswahl der Zeichensatzes für die nachfolgenden print-Aufrufe.

Weitere Fonts im Anhang.

getFont();

Aktuell eingestellten Zeichensatz lesen.

getFontXsize();

Breite des eingestellten Zeichensatzes in Pixels einlesen.

getFontYsize();

Höhe des eingestellten Zeichensatzes in Pixels einlesen.

7

Page 8: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

Zeichenkommando BitmapsdrawBitmap(x,y,sx,sy,data [,scale]);

Zeichnen einer Bitmap auf den Schirm. X,y bezeicnet die linke obere Ecke des Bilds. Sx, sybezeichnen Breite und Höhe des Bilds. In data ist der Name (die Anfangsadresse) des Daten-Arrays mit den Bilddaten. Mit scale lässt sich ein Vergrößerungsfaktor einstellen, jedes Pixelwird mit diesem Faktor multipliziert.

drawBitmap(x,y,sx,sy, data, deg,rox, roy);

Verdrehtes Zeichnen einer Bitmap auf den Schirm. X,y bezeicnet die linke obere Ecke desBilds. Sx, sy bezeichnen Breite und Höhe des Bilds. In data ist der Name (die Anfangsadresse)des Daten-Arrays mit den Bilddaten. Mit deg kann man den Roptationsgrad vorgeben. Mitrox, roy kann der Mittelpunkt der Rotaion vorgegeben werden.

Ein Tool zur Erzeugung der Arrays für die Bitmaps wird unter Tools mitgeliefert (sieheAnhang).

lcdOff(); PCF8833 only

lcdOn(); PCF8833 only

8

Page 9: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

Anhang

A. Weitere ZeichensätzeFonts können selbst erstellt werden: How-To: UTFT Fonts 101http://www.henningkarlsen.com/electronics/h_utft_fonts_101.php

Es gibt auch noch weitere bereits erstellt Fonts:

http://www.henningkarlsen.com/electronics/r_fonts.php

Download über anklicken des entsprechenden Symbols rechts oben in den Kasten.

9

Page 10: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

10

Page 11: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

11

Page 12: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

12

Page 13: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

13

Page 14: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

14

Page 15: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

15

Page 16: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

Zeichensätze können eingeschränkt sein (Subset Fonts.). Empfehlung der UFT-Reference: DieZeichensätze sollten in das Arbeitsverzeichnis kopiert werden. Übrigens werden die Zeichensätzeim Programm-FLASH-Speicher untergebracht.

B. Mischtabelle für beliebige Farbenhttp://cloford.com/resources/colours/500col.htm

Ausschnitt:

Literals für VGA-Farben

Hinter den Literals verbergen sich die Wertekombinationen r,g,b für den VGA-Farbset.

16

Page 17: Funktionen der UTFT-Library Axel Schultze, DK4AQ, …...Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13 verdrahtet ! Die Änderungen sind häufig unmöglich, da die entsprechende

Funktionen der UTFT-Library Axel Schultze, DK4AQ, 24.08.13

C. Bitmap-Tool zur Erzeugung von Bitmap-Arrays aus BildernFür die Erzeugung von Bitmaps aus fertigen Bildern liefert UTFT im Tool-Verzeichnis einenImage-Konverter mit. Der kann ein Array der Pixel erzeugen und damit Daten für diedrawBitmap-Funktionen liefern.

17