Forum: Mikrocontroller und Digitale Elektronik Arduino: Adafruit ILI9341 Lib extrem langsam (Suche bessere Alternative)


von Sven Scholz (Gast)


Lesenswert?

Hallo Gemeinde,

ich nutze die Adafruit-Lib zum ILI9341 Controller an einem ESP8266 
(Wemos D1).

https://github.com/adafruit/Adafruit_ILI9341

Das Display ist über SPI angebunden.

Die Funktionalität ist gegeben bzw. das Display läuft.
Allerdings: sehr sehr langsam.

Schaut man sich den Quellcode mal an, ist auch ziemlich klar warum das 
so ist. So zum Beispiel in der tft.fillScreen()-Methode wird Zeile für 
Zeile von oben nach unten einzelne Linien gezeichnet, sprich mehrere 
einzelne SPI Befehle abgesetzt.

Nutzt man diese Methode, kann man förmlich auf dem Display erkennen, wie 
dies geschieht.

Gibt es nicht irgendwie die möglich einen Buffer[240][320] in der SW 
vorzuhalten und diese dort abgelegten Pixelinformation in einem 
SPI-Befehl ans Display zu schicken?
Noch besser wäre das natürlich per DMA. Ich meine das der ESP8266 so 
etwas kann?

Herzlichen Dank.

von Philipp K. (philipp_k59)


Lesenswert?

Sven Scholz schrieb:
> Noch besser wäre das natürlich per DMA. Ich meine das der ESP8266 so
> etwas kann?

am schnellsten geht das mit dem ESP32..

kommt ja auch immer drauf an was man damit vorhat.

wenn man es selbst macht kann man zum Beispiel nur das vorher 
geschriebene  Überschreiben.

oder halt Zeilenweise im Ram vorschreiben und dann Zeilenweise 
"rausfeuern".

von Walter T. (nicolas)


Lesenswert?

Klar ist das langsam. Deswegen nutzt man die Adafruit-Library nur als 
Anregung und schreibt dann seine eigene TFT-Ansteuerung.

von Michael U. (amiga)


Lesenswert?

Hallo,

bei ESP8266/ESP§" mein Tipp:: TFT_eSPI
https://github.com/Bodmer/TFT_eSPI

Gruß aus Berlin
Michael

von Johann J. (johannjohanson)


Lesenswert?

Walter T. schrieb:
> Deswegen nutzt man die Adafruit-Library nur als
> Anregung und schreibt dann seine eigene TFT-Ansteuerung.

Wenn man es kann - wenn nicht heult man ein wenig herum :-)

von Walter T. (nicolas)


Lesenswert?

Johann J. schrieb:
> wenn nicht heult man ein wenig herum

Oder nutzt U8G2. Die ist auch nicht übel. Kommt nur von der 
Geschwindigkeit nicht an eine speziell auf ein einzelnes Display 
angepaßte Library dran.

: Bearbeitet durch User
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
Noch kein Account? Hier anmelden.