PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem Sainsmart TFT mit UTouch Library gelöst



damfino
05.11.2017, 18:04
Die UTouch Library ist toll, nur hat sie einen Haken: Der Ersteller hat sich mit Sainsmart überworfen und gibt für diese Displays keinen Support.
Das wusste ich beim Kauf des Displays nicht, die gelisteten Displays gab es wenn überhaupt nur am anderen Ende der Welt mit horrenden Liferkosten. (Wie es aktuell aussieht ist mir mittlerweile egal)
Fehlerbild: Touch geht nur nach einem Reset, nach Power on reagiert das Touch nicht. Rest vom Programm geht normal weiter.
Wenn man schnell genug ein-aus-ein schaltet bekommt auch einen Reset hin und die Touchfunktion geht.

Irgendwo in den weiten des www stieß ich auf eine Notiz das es mit einem alten Treiber funktioniert hatte, aber mit der neuen Library nicht mehr.
Sonst war immer die Rede das die Hardware Mist sei.

Hier ist nach unzähligen Versuchen die Lösung die bei mir einwandfrei funktioniert:
Einfach in der Datei HW_AVR.inc folgendes einfügen:
am Anfang
#define NOP __asm__ __volatile__ ("nop\n\t")

und die Read Funktion an diesen 2 Stellen um die NOP erweitern:


sbi(P_CLK, B_CLK);
NOP;
cbi(P_CLK, B_CLK);
NOP;


Das war alles.
Arduino Umgebung neu starten, neu kompilieren und hochladen, fertig.

In der write Funktion war diese Ergänzung nicht notwendig.



Hab auch die UTFT Library um eine Funktion erweitert die es erlaubt "transparente" Grafiken einzufügen.
Man kann eine Hintergrundfarbe definieren die beim Aufbau der Grafik ausgeblendet wird. Damit ist das schwarze Rechteck weg das um alle nicht viereckige Grafiken erscheint.
Das kann man auch bei den Buttons einbauen, verlangsamt das Programm aber extrem.
Wenn gewünscht stelle ich das rein.

Da die Libraries unter Creatice Commons Public Library erstellt sind darf jeder die selber abändern.

Rabenauge
06.11.2017, 08:27
Klasse Idee-auch wenn ich die UTFT nicht mag, mir sind die Ada-Bibliotheken (die nicht auf allen TFT's laufen) entschieden lieber, da weniger (bis gar nicht) zickig.
Warte grad auf mein erstes Nextion, mal gucken wie sich die Dinger so schlagen.
Wenn das gescheit geht, gibts demnächst LCARS auf Arduino. :cool: