Forum: Mikrocontroller und Digitale Elektronik Suche GrafikLCD Library die nur SetPixel benötigt


von C. H. (hedie)


Lesenswert?

Hallo zusammen...

Ich suche eine GLCD Library bei welcher ich lediglich die SetPixel 
funktion bereitstellen muss...

Diese Lib muss nur Text können... Alles andere ist nice to have :)
am besten auch ein FontCreator tool für den PC dazu :)

Vielleicht kennt ja jemand etwas in die richtung... danke schonmal

von Michael U. (amiga)


Lesenswert?

Hallo,

bisher habe ich eine GLCD-Library immer als Funktionssammlung 
verstanden, die Funktionen zur Ansteuerung eines GLCD zur Verfügung 
stellt.
Also eine Lib für GLCD mit Controller xyz, die dann z.B.
SetPixel()
SetX()
SetY()
WriteChar()
WriteString()
usw. usw. zur Verfügung stellt.

Was also suchst Du und für welches Display/Controller/µC/Compiler?

Gruß aus Berlin
Michael

von C. H. (hedie)


Lesenswert?

Michael U. schrieb:
> Hallo,
>
> bisher habe ich eine GLCD-Library immer als Funktionssammlung
> verstanden, die Funktionen zur Ansteuerung eines GLCD zur Verfügung
> stellt.
> Also eine Lib für GLCD mit Controller xyz, die dann z.B.
> SetPixel()
> SetX()
> SetY()
> WriteChar()
> WriteString()
> usw. usw. zur Verfügung stellt.
>
> Was also suchst Du und für welches Display/Controller/µC/Compiler?
>
> Gruß aus Berlin
> Michael

Hallo

Ja eigentlich stimmt das ja schon... Jedoch ist der kern des ganzen die 
Funktion SetPixel...

Theoretisch müsste bei den vielen Libs in all diesen Funktionen wie 
WriteChar irgendwo nur SetPixel aufgerufen werden...

Jedoch habe ich bisher nur libs gefunden bei denen in der Funktion 
WriteChar auch DisplaySpezifische dinge abgearbeitet werden...

Ich suche deshalb eine Lib in welcher bei der Funktion WriteChar bzw 
WriteString nur SetPixel aufgerufen wird und nichts Display Spezifisches 
gemacht wird.

von holger (Gast)


Lesenswert?

>Ich suche deshalb eine Lib in welcher bei der Funktion WriteChar bzw
>WriteString nur SetPixel aufgerufen wird und nichts Display Spezifisches
>gemacht wird.

Eine Funktion die nicht für das entsprechende
Display optimiert ist, ist aber in der Regel sehr langsam.
Das möchte man sich dann meist nicht antun.

Um welches Display geht es eigentlich?

von C. H. (hedie)


Lesenswert?

holger schrieb:
> Um welches Display geht es eigentlich?

Es geht um dieses hier...

http://cgi.ebay.ch/ws/eBayISAPI.dll?ViewItem&item=280575347222&ssPageName=ADME:B:EOIBSA:CH:1123


Falls ich nichts finde, schreibe ich einfach meine eigene Funktion :)

Aber vielleicht weiss ja noch jemand was

von Peter (Gast)


Lesenswert?

Claudio Hediger schrieb:
> Ich suche deshalb eine Lib in welcher bei der Funktion WriteChar bzw
> WriteString nur SetPixel aufgerufen wird und nichts Display Spezifisches
> gemacht wird.

Es ist aber meistens so, das WriteChar überhaupt nicht SetPixel aufruft, 
sondern dem Diplay ein Zeichen übergibt, das dieses dann selbstständig 
auf Pixelebene darstellt. Buchstaben von Hand mit SetPixel zu zeichnen 
wäre auch sehr umständlich und vor allem sehr langsam.

von C. H. (hedie)


Lesenswert?

Peter schrieb:
> Buchstaben von Hand mit SetPixel zu zeichnen
> wäre auch sehr umständlich und vor allem sehr langsam.

Etwas anderes ist bei standard Grafik Displays aber nicht möglich...

Langsam muss das ganze auch nicht sein... Wenn man nen Parallelen Bus 
hat geht das sehr schnell...

von Michael U. (amiga)


Lesenswert?

Hallo,

zumindest verstehe ich jetzt, was Du suchst.
Ich vermute jetzt aber mal, das wirst Du Dir selbst zusammenbasteln 
müssen.
Einfach, weil SetPixel zwar eine schöne Grundfunktion ist, allerdings je 
nach DisplayController und damit der Organisation des Display die 
ungünstigste (langsamste) Art, z.B. einen Text anzuzeigen.
Universell müßte jedesmal SetX, SetY, SetPixel ausgeführt werden, da 
keine Annahmen darüber getroffen werden können, ob der Displaycontroller 
z.B. X selbst auf die nächste Koordinate setzt, ob der Displayram 
senkrecht oder waagerecht organisiert ist, wierum der Font abgelegt 
wird, um möglichst oft ganze Bytes geschrieben werden können usw. usw.

Wäre z.B. an einem AVR einfach nur unerträglich langsam.

Gruß aus Berlin
Michael

von spess53 (Gast)


Lesenswert?

Hi

>Ja eigentlich stimmt das ja schon... Jedoch ist der kern des ganzen die
>Funktion SetPixel...

Ich benutze schon über 13 Jahre GLCDs. SetPixel ist das, was ich am 
allerwenigsten gebraucht habe. Von den üblichen SW-Grafikkontrollern 
unterstützt m.W. nur der T6963 direktes Pixelsetzen/löschen. Also muss 
bei den anderen ein Byte gelesen, Pixel verändert und Byte wieder 
geschrieben werden. Einige Displays (z.B. DOG-GLCDs) unterstützen kein 
Lesen des Display-RAM. Da muss zusätzlich der Displayinhalt im RAM 
(Shadow-Ram) gehalten werden.

MfG Spess

von Jobst M. (jobstens-de)


Lesenswert?

Ich habe mir für den 8051 in ASM sowas geschrieben.

Mit einer 'SetPixel'-Funktion schreibt man (oder löscht man) einen Pixel 
in x von 8 Ebenen im RAM. Mit einer anderen Funktion überträgt man das 
Ergebnis vom RAM ins Display.
Text und geometrische Figuren machen Gebrauch von der 
'SetPixel'-Funktion.
Ist sicherlich nicht sonderlich performant. Aber superübersichtlich.


Gruß

Jobst

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.