Displaymode und displaytext

  • Ich möchte auf einem LCD Display 20/04 fortlaufend einzeilige Texte mit Displaytext ausgeben. Das funktioniert im Displaymode 2 auch wie gewünscht, neue Zeile schiebt alte Zeilen nach oben weg.

    Ich habe am D1 mini allerdings auch einen Taster. Wenn ich den drücke, sollen alle Zeilen gelöscht (Displaytext[z]) werden (und das Display mit Power off ausgeschaltet werden). Das funktioniert auch.

    Wenn ich dann eine neue Zeile auf das Display schreibe, sind allerdings die vorherigen drei Zeilen auch wieder sichtbar. Kann man das verhindern (Ausgabepuffer löschen oder so?)

    • Offizieller Beitrag

    Hi

    DisplayClear

    heißt der Zauberbefehl ;)

  • Der "Zauberbefehl" bewirkt wie displaytext[z], dass das Display gelöscht wird. Wird dann eine neue Zeile geschrieben, tauchen aber auch die letzten drei vorherigen Zeilen wieder auf. Schade!

    • Offizieller Beitrag

    Wie schreibst du die neue Zeile?

    Da braucht es mehr Daten.

    Du kannst auch beim schreiben der neue Zeile löschen:

    DisplayText[zc1l1]<TEXT>

  • Hallo, ich möchte so eine Art rollende Anzeige haben. Daher schreibe ich im Displaymode 2 die Zeilen mit displaytext Text ohne Positionsangaben. Das funktioniert auch wie gewollt, die neue Zeile wird unten angefügt, wenn vier Zeilen schon angezeigt werden, wird die oberste Zeile nach oben weggeschoben. Mit dem Taster bestätige ich praktisch, die Meldungen gelesen zu haben. Dann sollen alle Zeilen gelöscht werden, das Display wird ausgeschaltet. Kommt dann eine neue Zeile, wird das Display wieder eingeschaltet, es soll aber nur die neue Zeile (und dann eventuell folgende Zeilen) angezeigt werden.

    • Offizieller Beitrag

    Hmmm :

    Zitat

    DisplayMode~

    The display driver is able to display predefined setups of text or user defined text. To display text using DisplayText set DisplayMode to 0, or set DisplayMode to 1 for the HT16K33 dot-matrix display.

    DisplayMode 2 ist eine Voreinstellung um Sensordaten ohne "Displaytext" anzuzeigen. Vermutlich liegt es daran das der Textbuffer nicht gelöscht wird....

    Zitat

    In order to use the DisplayText command the DisplayMode must be set to 0 (or optional 1 on LCD displays)

  • Lediglich im Displaymode 2 kann man mit Displaytext zeilenweise das Display füllen, so dass die vorherigen Zeilen nach oben weggeschoben werden. Im Dislaymode 0 wird ohne Positionsangabe jeweils die erste Zeile überschrieben. Im Displaymode 1 kann man mit Displaytext ohne Positionsangaben keine Zeilen aufs Display schreiben.

    • Offizieller Beitrag

    Das stimmt.

    Trotzdem ist der DisplayMode 2 nicht dazu gedacht mit Displaytext individuelle texte einzubringen. Denn da wird der Puffer, wie du siehst, nicht gelöscht.

    Was passiert, wenn du mit Deinem Taster nicht nur die Zeilen löscht sondern auch zuvor den Displaymode umschaltest?

    Der Kann ja vor Eingabe einer neuen zeile erneut aktiviert werden.

    backlog displaymode 0; displaytext[z]

    backlog displaymod 2; <irgendwas>

  • Wenn ich displaymode 2 wieder aktiviere, werden Version, Hostname, IP-Adresse usw erneut ausgegeben. Damit ist mir nicht geholfen. Danke trotzdem für die Idee, hatte ich auch schon probiert.