Hallo zusammen,
habe das TFT modul ConnectEVE mit dem FT800 chip an meinem PIC32 ans
laufen bekommen (nur Display Funktionen).
Auch die Funktion zum Kalibrieren des Touch kann ich aktivieren, soweit
OK.
Aber irgendwie finde ich kein C-Beispiel, wie man die Koordianten des
Touch auslesen kann?
Bitte um Hilfe. Danke.
Gruß Dirk
Da Grafig geht, geh ich mal davon aus, das du irgendeine lib benutzt?
Das heißt du hast auch sowas wie eine ...read32... Funktion?
Jetzt schaust im Datenblatt welche Adresse die Touchregister haben und
liest sie dir einfach auch. An gleicher Stelle im DB steht auch wie die
Daten zu interpretieren sind.
Oder geht's dir darum zu schauen, ob ein Objekt welchem einTouchTag
zugewiesen wurde, getouched wurde?
In diesem Fall siehe oben, nur anderes Register.
Hans
Hallo Hans,
danke für Deine Antwort!
Ja ich habe bei Microchip eine LIB heruntergeladen und etwas angepasst.
Werde gleich mal die Read32 unktion suchen.
>>>Oder geht's dir darum zu schauen, ob ein Objekt welchem einTouchTag
zugewiesen wurde, getouched wurde?
Was is das denn ? Hat der FT800 etwa eine Funktion, in dem er
selbstständig erkennt, ob z.B. ein Button gedrückt oder getoggelt wurde
?
LG Dirk
Toggeln musst selber machen ( die Slider funktionieren auch so), aber Du
kannst Objekten eine Tag_ID zuweisen und wenn da wer drauf fingert,
steht das im REG_TOUCH_TAG (pollen). Alternative kannst dir auch einen
Interrupt auslösen lassen.
Hans
Hallo zusammen (oder Hans M.),
das Anwählen von 6 verschiedenen Pages über Buttons habe ich nun
hinbekommen.
Der FT800 entlastet die MCU schon sehr gut !!
Wie geht das denn jetzt mit den Slidern ?
Muss man dafür die Funktion "Track" verwenden ?
Gruß Dirk
Hallo Franz,
also für einen 32 Bit Zugriff benutze ich direkt die entsprechende
32-Bit Funktion der o.g. lib.
if (rd8(REG_ID) != 0x7c) state = 0; // Read ID Register, should be 0x7c
if ((calibrated == 0) && (rd32(REG_TOUCH_RAW_XY) != -190))
Mein Display hängt über ein ca. 40 cm langes Flachbandkabel am
Mainboard.
Vermutlich hierdurch läuft es nur mit bestimmten SPI Frequenzen stabil.
Zur Zeit 500 Khz.
Wesentlich höhere oder kleinere SPI Frequenzen machen nach einigen
STunden Probleme.....
Gruß Dirk
Nachtrag:
Nach jedem SPI Transfer unbedingt den Puffer auslesen !!!!
int _dummy;
#define tr8(value) SPI4BUF = value;while(!SPI4STATbits.SPITBE); _dummy
= SPI4BUF;
Hi also kann jetzt per SPI auslesen hat geklappt!!!! Danke
Wenn ich fragen darf wie geht es mit der TAG_ID Zuweisung bei mir klappt
das irgendwie gar nicht.
Gruß Franz
Nachtrag:
Wenn Objekte gezeichnet werden, die nicht angeklickt werden sollen,
verpasse den allen TAG 0 !
//--------------------Bild1--------------------------------------------
case 100: cmd(TAG(0));
cmd_gradient(239, 248, 21, 255, 36, 239, 31, 64, 17, 255);
break;
Also die Funktion cmd_track() benutze ich nicht.
Habe es aber bisher auch nur geschafft, einige Touch buttons zu machen.
Die Slider Funktion geht bei mir auch noch nicht.
Als Anlage mein kompletter Code für das Display, für PIC32 mit XC32
compiler.
Hallo, ich möchte diesen Beitrag nochmal aufwärmen.
Kann mir jemand einen Tipp geben, wie man die Slider Funktioin nutzen
kann ?
Also einen Schieberegler, den man per Touch verschieben und dann den
Wert auslesen kann ?
Danke und Gruß Dirk