Displaystörungen bei SainSmart-Display

Hallo,

Hardware:
original Mega 2650
SainSmart TFT LCD Einstellbare Schild für Arduino 2560 R3 1280 A082 Plug (http://www.amazon.de/gp/product/B008J8NO12/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1)
SainSmart 3.2 TFT LCD Display (http://www.amazon.de/gp/product/B008HWL8QS/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1)

Ich benutze die UTFT, UTFT_Touch und UTFT_Button und habe entsprechende Beispiele von Henning Kalrsen ausprobiert.

Als ich meinen eigenen Sketch programmiert habe viel mir auf, dass in seltenen Fällen und nicht reproduzierbar Dispaly-Fehler auftraten. Mehr oder weniger viele Pixel oder Linien die sich irgendwo hinzeichneten. Mal blieb die Touchfunktion noch erhalten mal nicht mehr.

Ich habe dann wieder die original-Beispiele ausprobiert. Diese laufen auch. Wenn man aber das Display mit den Fingern "wild trällernd" bearbeitet, dann treten auch hier nach ein paar Sekunden diese Displaystörungen auf. (wild-trällernd = mit 2-4 Fingern in schneller Folge aber trotzdem Sanft das Display "bedienen" - also wild rumtippen)
Dieses Bedienen ist auch die einzige Möglichkeit, diese Störung innerhalb von ein paar Sekunden zu reproduzieren und zwar sowohl bei den originalbeispielen als auch bei meinem Sketch.

Irgendwann tritt diese Störung in selten Fällen aber eben auch bei normaler Bedienung auf.

Kennt diesen Fehler jemand?

Gruß
Andreas

Kannst Du ein Foto dieser "Störungen" machen? Bleibt der Sketch bedienbar oder friert der Arduino ein? Ist ausser dem Display (mit Shield) sonst noch Hardware angeschlossen?

Nachdem diese Störung aufgetreten ist, führt jeder weitere Tastendruck zur Verschlimmerung der Störung. Irgendwann funktioniert dann gar nichts mehr.
Es sind keine weiteren Pins des Arduino belegt und ich verwende die Originalbeispiele der UTouchlib von Henning.



Könnte leicht ein Arduino-RAM-voll-Problem sein.
Wie ist der Sketch??
Grüße Uwe

Ich hatte die Speicherauslastung mittels MemoryFree.h bereits geprüft.
Da war alles ok,
Und der Sketch ist wie beschrieben der unveränderte von der UTouch-Lib.
Bzw. "DIE UNVERÄNDERTEN". Sind ja zwei verschiedene.

Hallo,
der Fehler kann ja alles mögliche sein… "wild-trällernd"
ich würde ja behaupten, das das Display einfach zu "langsam" ist.
Diese Grafiken werden ja in den Speicher geschrieben, dieser wird warhscheinlich
nicht vor einem neuen Schreibvorgang vollständig gelöscht.
Dadurch bleiben die "Pixel" sichtbar, und irgendwann ist der Speicher voll.
Dann geht nichts mehr.
Wenn Du nach jedem "touch" eine Verzögerung für den nächsten "touch" setzt,
sollte das eigentlich behoben sein.
Gruß und Spaß
Andreas

Hallo Andreas

"wild trällernd" nur, um davon schnell mal ein Foto zu machen.
Es tritt eben aber auch bei normaler Bedienung auf, wie ich beschrieben hatte.
Einen debouncer hatte ich bereits schon einprogrammiert (in meinem Sketch - nicht in dem Original von UTouch) - allerdings nicht wegen der Störung, sondern halt gegen einen versehentlichen Doppelklick der Buttons.
Die Störung tritt aber weiterhin auf.
Bezüglich Speicher: freeMemory() zeigt beim Rumtippen auf das TFT exakt immer den gleichen Wert an.

Gruß
Andreas

Ich habe in den Dateien HW_AVR.inc (und HW_ARM.inc) welche in der ITouch-Lib unter Hardware zu finden sind, die Zeile

delayMicroseconds(10);

sowohl bei Read als auch bei Write hinzugefügt.

Nun reagiert es beim "Wild Trällern" deutlichst besser. Möglicherweise treten beim normalen Bedienen nun keine Störungen mehr auf.
Mal abwarten.

Hallo,
"Speicher" Speicher des Display…
Vielleicht nur ein Fehler in der Demo?

Hast Du einmal selbst einige "TouchFlächen" (ohne C & P) programmiert?
Wenn das dann immer noch passiert, würde ich ja ganz frech behaupten, das das
Display Müll ist. Von der Lib hört man ja nicht viel schlechtest.

Wenn Du im Sketch alles richtig "gesetzt" hast, kann es ja theoretisch nur
das Display sein.
Gruß und Spaß
Andreas

Wie man so liest, wird dieses TFT aber ziemlich häufig verwendet ohne das die Leute sich darüber beklagen würden

Die Displays sind relativ langsam, ja, aber so schlecht wie sie hier manchmal gemacht werden sind sie nicht. Man sollte sich halt darüber im Klaren sein, dass sie eher als Eingabegeräte mit relativ statischen Menüs taugen. Dafür funktionieren sie recht gut.

Mag sein, dass sie zu langsam bin.
Ich bin auch offen für ein anderes Display. Es müsste allerdings gleiche Auflösung haben (320X240) und es sollte mit der Lib von Henning C. laufen.

Ich wundere mich aber, dass sonst niemand diese Störung hier kennt. Vielleicht ist auch einfach die Hardware defekt?!

Ich glaube nicht daß ein anderes Display mit der gleichen Bibliothek schneller sein kann.
Grüße Uwe

Hallo Uwe,

die angezeigte Seiten sind statisch. Daher ist mir die Geschwindigkeit eher Nebensache. Und da dieses Display ziemlich häufig verkauft wird und sicher die meisten auch die Touchfunktion verwenden und sich offenbar sonst niemand beklagt, schließe ich eher auf einen Hardwaredefekt.

Besteht die Möglichkeit, dass du über Serial debuggen kannst? X und Y Werte ausgeben wenn Tastendruck erfolgt. Ein Riss in der Platine oder ein zu hoher Übergangswiderstand an den Kabeln könnte man noch überprüfen.

Habe solche Displays nicht.

Hallo,
das muss kein HardwareDefekt sein. Fakt ist, diese TFT´s ohne eigenen Grafik-
Controller sind langsam…
Durch geschicktes programmieren und benutzen laufen diese wohl einwandfrei.

Das kann auch ein Programmierfehler in der Lib/Demo sein, deshalb sagte ich ja,
programmiere Dir die Buttom´s mal selber.

Ich habe ein SPI-TFT von adafruit mi der originalen Lib dazu. Und selbst das
Ding ist langsam. Funktioniert aber einwandfrei.

Beim "schreiben" von statischem Text kannst Du zuschauen. Wenn erst einmal alles
abgebildet ist, dann funktioniert es. Änderst Du aber etwas, mußt Du höllisch
aufpassen, das es sauber programmiert ist…

Dann schreibst Du, das Du direkt in der Lib an dem Timing etwas "gedreht" hast.
Das hört sich für mich eher so an, als wenn etwas in dem Sketch nicht richtig
gesetzt ist. Diese Lib´s sind ja alle gut und schön- aber nicht so einfach
zu verwenden.
Gruß und Spaß
Andreas

SkobyMobil:
Das kann auch ein Programmierfehler in der Lib/Demo sein, deshalb sagte ich ja, programmiere Dir die Buttom´s mal selber.

Daran liegt es nicht. Ich verwende diese Lib mit bis zu 20 Buttons pro Bildschirm und er braucht vielleicht 1-2 Sekunden um diese zu zeichnen. Man sieht es, aber die Geschwindigkeit ist dafür vollkommen ausreichend.

Und die Demos sollten auch gehen. Das mit dem kurzen Delay hatte ich auch mal irgendwo als Lösung für irgendwas gelesen. Aber mir fällt nicht mehr ein für was. Das betrifft außerdem die Touchscreen Lib. Nicht die Lib für das Display oder die für die Knöpfe. Die bauen aufeinander auf, sind aber getrennt.

Hallo Andreas,

mit dem TFT von Adafriut hatte ich auch schon geliebäugelt.
Allerdings müsste ich dann meinen doch recht große gewordenen Sketch mittlerweile gehörig umstricken, wenn die "Henning-Lib" dafür nicht läuft und ich wollte auch mal fertig werden :slight_smile:

Die läuft nicht damit, oder?

Und die Libs zu diesem Display decken auch keine Buttons ab, oder? So dass man das dann auch wieder selbst programmieren müsste :frowning:

Gruß
Andreas

phthalo:
Hallo Andreas,

mit dem TFT von Adafriut hatte ich auch schon geliebäugelt.
Allerdings müsste ich dann meinen doch recht große gewordenen Sketch mittlerweile gehörig umstricken, wenn die "Henning-Lib" dafür nicht läuft und ich wollte auch mal fertig werden :slight_smile:

RTFM! 8)

Schau nach, welcher Controller bei dem Adafruit drauf ist. Danach vergleichen ob dieser Controller in der memorysaver datei (im Libverzeichnis) auftaucht. Wenn ja kannst du es nutzten.

Ist ja nicht so, dass Adafruit die Dinger neu erfindet. Sind meist identisch mit den Chinesen nur halt teurer. Gute Teile sind es nicht, nur weil Adafruit draufsteht.Adafruit versucht halt einfach die Palette soweit es geht abzudecken. Besser sind die aber eigentlich auch nicht.

Bei "RTFM" musste ich erstmal nachschlagen, was das heißt.

Vielleicht gebe ich mich der Illusion hin, dass Adafruit vielleicht eine kleine Qualitätsauswahl vornimmt ......
Ich gebe auch gerne 70 EUR aus für ein anständiges Display sofern es eine ebenso anständig Lib dazu hat.