Weil diese Displays keine durchgängigen Pixel haben, sondern sich jeweils eine Lücke zwischen den einzelnen Zeichen befindet, lässt sich ein kontinuierlicher Bargraph mit drei selbstdefinierten Zeichen darstellen. Da wo es keine Pixel gibt muss auch nichts angezeigt werden. Bei einem 8 stelligen Display sind dann also 24 Balken möglich. Der anzuzeigende Wert muss hier auf 0 bis 24 skaliert werden. Eine simple Schleife mit 8 Durchläufen zieht vom Anzeigewert jeweils den Wert 3 ab und prüft auf Überlauf. Solange kein Überlauf stattfindet wird das Sonderzeichen 3 mit drei Balken geschrieben. Findet ein Überlauf statt, wird je nach Restwert das Sonderzeichen 2 oder 1 geschrieben. alle restlichen Zeichen werden mit Leerzeichen überschrieben. D.h. bei jeder Aktualisierung des Balkens werden immer alle 8 Zeichen geschrieben und dadurch die vorherige Anzeige überschrieben.
:-) schrieb: > ... Über selbstdefinierte Zeichen bei Displays Wow! Bist ganz allein darauf gekommen, gell? Haste fein gemacht, hier - nimm dir nen Keks.
Mhm, vielleicht sollte man das dann auch in einem AUSSAGEKRÄFTIGEN Threadtitel ankündigen?!
Es geht hier doch schon überhaupt nicht darum, dass man seine eigenen Zeichen in ein Display bekommt. Sondern es geht darum, die eigentlich störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das hier ist eine schnuckelige Idee. Ich bin mir nicht sicher, ob da jeder drauf gekommen wäre. Auf jeden Fall kenne ich bei einigen Geräten nur die Variante mit 5 selbstdefinierten Zeichen und Lücken zwischendrin...
Lothar schrub: >Sondern es geht darum, die eigentlich >störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das >hier ist eine schnuckelige Idee. So ist es, aber das ist von den Nölern nicht erkannt worden. :-( MfG Paul
@ Lothar Miller (lkmiller) (Moderator) Benutzerseite >störenden Abstände mit in den Balken aufzunehmen. Und ich finde, das >hier ist eine schnuckelige Idee. Nur ist das rein gar nicht kontinuierlich, bestenfalls gleichmäßige Lücken ;-) >Ich bin mir nicht sicher, ob da jeder drauf gekommen wäre. Auf jeden >Fall kenne ich bei einigen Geräten nur die Variante mit 5 >selbstdefinierten Zeichen und Lücken zwischendrin... Die so schlecht nicht ist, da es eh kein vollgrafisches LCD ist. Es ist und bleibt ein netter Workaround.
Paul Baumann schrieb: > aber das ist von den Nölern nicht erkannt worden. Oder sie können es nicht zugeben. Ich habe den Witz an der Sache auch erst beim zweiten Blick erfasst... Falk Brunner schrieb: >> Auf jeden >Fall kenne ich bei einigen Geräten nur die Variante mit 5 >> selbstdefinierten Zeichen und Lücken zwischendrin... > Die so schlecht nicht ist, da es eh kein vollgrafisches LCD ist. Schon, aber dann musst du schon wieder überlegen: werden die Werte für die Zeichenzwischenräume mit eingerechnet oder übersprungen? Beim Einrechnen fehlen zwischendurch Werte, weil die ja in den Lücken sitzen und die Lücken nichts anzeigen können. Beim Überspringen kommt immer nach 5 Inkrementen ein Sprung. Beides ist unschön.
:
Bearbeitet durch Moderator
Lothar Miller schrieb: > werden die Werte für > die Zeichenzwischenräume mit eingerechnet oder übersprungen? da wird nichts eingerechnet. In jedem Zeichen sitzen einfach zwei künstliche Lücken, damit es zur folgenden zwangsweisen Lücke zwischen den Zeichen passt. Die Schleife die den Bargraph erzeugt ist so simpel, dass es kaum einfacher geht. Die Schleife zieht einfach so oft wie es ganzzahlig geht den Wert 3 ab und schreibt dabei das Zeichen mit den drei Balken hin. Dann nimmt sie den Restwert und ruft damit das passende Zeichen mit zwei oder einem Balken aus dem CGRam auf. die restlichen Schleifendurchläufe werden dann nur noch mit Leerzeichen überschrieben. Die Durchlaufzeit ist dadurch jedesmal nahezu identisch und flackern tut da auch nichts.
Falk Brunner schrieb: > gleichmäßige Lücken Richtig, das war die eigentliche Idee bei dieser Sache. Ebenso dass die Bargraphroutine mit wenigen Assemblerzeilen auskommt. Anbei noch ein Beispiel. Ein kleines Tool mit 4x20 LCD, das beim Carrera D-143 System die Daten der drei Handregler von der Schiene liest, decodiert und anzeigt. 3 Bit Reglernummer, ein Tastenstatusbit und 4 Bit für die Geschwindigkeitsinformation. Die restlichen 6 Datenpakete werden nicht ausgewertet, da sie beim D-143 nicht verwendet werden.
@ :-) (Gast) >> gleichmäßige Lücken >Richtig, das war die eigentliche Idee bei dieser Sache. Das hat wenigstens den Vorteil, dass man die Striche zählen kann, so wie auf dem Bierdeckel ;-) > Ebenso dass die >Bargraphroutine mit wenigen Assemblerzeilen auskommt. Optimierungswahn? Selbst in nicht perfektem C ist das so wenig, dass es praktisch unter den Tisch fällt.
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.