Hi, nachdem mein DOGXL endlich läuft, bin ich mir nicht sicher wie ich mit den Font-Daten umgehen soll. Der Font Editor von Hagen ist ja absoult super und auch das DOGXL legt seine Daten spaltenweise ab, ABER: Der Controller des Displays erwartet 2 Bits pro Pixel, d.h. ein Byte entspricht immer nur 4 Vertialen Pixeln. Das DOGXL ist aber ein reines Monochrom Display. Klar kann ich die Fontdaten jetzt entprechend aufblasen und und jedes zweite Bit auf 0 setzen, aber mich würde interessieren, ob es auf einem STM32 eventuell eine elegante Möglichkeit gibt, dass sozusagen on the Fly beim verwenden der Fontdaten erst zu machen. Gruß Tom
Also "aufblasen" der Daten ist halt Speicherverschwendung - bei 2bit/Pixel mag das noch gehen, aber angenommen Du wechselst später mal auf 16bit/Pixel, dann sollte man das tunlichst bleiben lassen. Hier hilft also alles nix, Du wirst eine kleine Funktion schreiben müssen, welche die Fontmatrix "scannt" und dann das Ergebnis erstmal im RAM zusammensetzt und schließlich ans Display überträgt. Idealerweise ist das reiner hardware-unabhängiger C-Code und möglicherweise findet sich da schon was existierendes im Web für Dein Display, wenn auch für einen anderen Controller. Gruß, Hannes
16 Bit ist für diese Anwendung sehr unwahrscheinlich :-) Nach einiger Diskussion mit einem Freund werden ich wohl den Font als 1 bit abspeichern und dann eine 32Byte große Lookup Tabelle machen, sollte wohl der beste Kompromiss zwischen Speicherbedarf und Performance sein. Gruß Tom
Wegen der Performance: Die Umrechnerei fällt im Vergleich zur relativ langsamen I2C/SPI übertragung kaum ins Gewicht. Aber wenn man sie mit einer Lookup Table schneller gestalten kann, dann schadet das natürlich auch nicht.
Hi Tom, angehängt mal die Terminal Schrift in der Größe 7x5 für das DOGXL Display als Array und zwei Funktionen GLCD_WriteString() und GLCD_Write. Mit der GLCD_WriteString() übergibst du den String und die Position, also GLCD_WriteString(10, 10, "String"); Aus dieser heraus wird die GLCD_Write() aufgerufen, die das angegebene Schrift Array von 8 Pixel/Byte auf 4 Pixel/Byte umrechnet. Diese Art der Umrechnung verwende ich auch bei meinen Bildern (muss nur ein wenig angepasst werden), so haben meine Bilder 2080 Byte anstatt der 4160 Bytes (160x104x2 Pixel). Ach übrigens das Display kann doch die 2bit greyscale anzeigen. Leider hab ich noch kein Programm gefunden, dass mir das Bild mit 2bit greyscale Informationen angibt. VG Marc
Dank Dir! Habs grad probiert, Paintshop Pro kann die umwandlung in 4 Farben. Weiß aber nicht, ob das wirklich Sinn macht auf einem solchen Display, zumindest für Textausgabe etc. Gruß Tom
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.