FT800 command list - Buffer

OP #4386513
Lesenswert?
• ▲
▼
Hallo liebe FT800 Freunde,
ich habe eine kurze Verständnis Frage zum FT800 bzw. FT811:
Also die Anzeige von Daten bzw. Text habe ich hin bekommen.
Das ist am Anfang ja auch leicht, da der cmdBuffer 0 ist (command list).

Der cmdBuffer ist ein Ringspeicher:
This FIFO is mapped at FT800 memory addresses 108000h (RAM_CMD) to 
108FFFh (RAM_CMD + 4095)

Wenn ich jetzt aber nur ein Zeichen auf dem Display hinzufügen möchte, 
müsste ich stets den letzten Pointer Wert des cmdBuffer wissen? Oder 
wird der Pointer nach jedem SWAP Befehl wieder aud 0 gesetzt ? Ich 
glaube nicht.
When a new list is to be created, the MCU will write the commands 
starting from the next available location.

Wenn nicht, was passiert wenn der Buffer das Ende erreicht?
Wenn man zum Beispiel jede Sekunde eine Temperatur anzeigen möchte, ist 
der Buffer irgendwann voll und fängt von vorne an.
Das riecht nach einem Problem. Könnte man nicht den Buffer immer wieder 
zurücksetzen?

Vielen Dank für eure Hilfe.
Gerhardt
OP #4386634
Lesenswert?
• ▲
▼
Danke für die Info Dirk,
aber das ist ja wirklich suboptimal.
Wenn man jedesmal die komplette Command Liste erstellen muss.

Aber wie machst du das mit dem Overflow in der Command-List ?
Fragst du jedesmal den Pointer ab und machst ab da weiter?

Was würde passiern, wenn man nur einen Text-String als Update schickt 
und nicht den kompletten Display Inhalt?

Bin gespannt....
Gast #4386704
Lesenswert?
• ▲
▼
Hallo Gerhard,
also ich habe die komplette Displaylist in eine State maschiene 
aufgeteilt.
Bei jedem MCU Zyklus wird ein Teil der Displaylist neu in den FT800 
geschrieben.
Am Ende kommt dann der Exe und Swap Befehl.
So wird mein Display ca. 4 mal pro Sekunde geupdated.

Über einen Überlauf habe ich mir noch keine Gdanken gemacht.

Wenn Du mit dem Update von nur einem Teil der DL weitergekommen bist, 
dann sag doch bitte hier Bescheid....

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.