Hallo an alle,
Ich hab aus Interesse von PICs in C zu einem RPI Pico mit Micropython
gewechselt. Ich muss zugeben, mir fällt es etwas schwer.
Vor allem geht es gerade um Text schreiben auf einem Bildschirm.
Ich hab den Code aus den Tutorials, das auch funktioniert. Jedoch kann
Ich kein Text löschen, bzw überschreiben.
Wenn Ich Text an eine Position setze an dem schon Text war, wird einfach
die Kombination aus beidem gezeigt.
Wenn ich Leerzeichen an dieser Stelle einfüge, so wie ich das immer
gemacht hab, dann bleiben die Zeichen bestehen.
Ist das wirklich so gedacht oder übersehe ich etwas?
Hier mein Code:
Zudem läuft das Programm nur 4 minuten, dann gibt es einen: „Memory
Error: memory allocation failed, allocating 1024 bytes“
Ja, das Problem ist bekannt, da alles auf den Ram kommt- jedoch wird bei
mir in der Schleife doch nichts hinzugefügt, mein Programm muss
lediglich zwischen verschiedenen Adressen jumpen ?!
Kevin schrieb:> Ist das wirklich so gedacht oder übersehe ich etwas?
Ja, bei den Adafruit Bibliotheken ist das üblich. Bei PC Programmierung
in der Regel auch. Du kannst den Bereich vorher mit einem gefüllten
Quadrat übermalen.
dieser Teil darf nur einmal in einer Initialisierung ausgeführt werden,
damit wird das label erzeugt. Danach kann der Text mit 'text_area.text =
"xxx"' verändert werden.
Jetzt werden knapp unendlich viele Labels erzeugt und alle
übereinandergelegt. Da geht dem pico irgendwann die Puste aus.
J. S. schrieb:> text_area = label.Label(terminalio.FONT, text=text,> color=0xFFFF00, x=x, y=y)> splash.append(text_area)>> dieser Teil darf nur einmal in einer Initialisierung ausgeführt werden,> damit wird das label erzeugt. Danach kann der Text mit 'text_area.text => "xxx"' verändert werden.> Jetzt werden knapp unendlich viele Labels erzeugt und alle> übereinandergelegt. Da geht dem pico irgendwann die Puste aus.
OHJE! Ok ja das war die Lösung. Diese Libraries muss man erst mal
verstehen.
Vielen vielen Dank, das hat meine zwei Probleme gelöst.
Hier also die Lösung: