Forum: Compiler & IDEs QTouch Atmel Studio, touch_api.h fehlt


von Daniel C. (danielcl)


Lesenswert?

Guten Abend,

auf meiner Testplatine sollen mehrere QTouch-Buttons und ein Touchwheel 
mittels ATmega328P ausgewertet werden.

Dafür habe ich mir mithilfe des QTouch Composers ein entsprechendes 
Projekt zusammengeklickt, kann es aber nicht Compilieren, da die 
touch_api.h fehlt.

Fehlermeldung: touch_api.h: No such file or directory

Ich habe vorhin Atmel Studio und alle Extensions neu installiert, der 
Fehler bleibt. Auch mit der Windowssuche finde ich die Datei nicht.
Installiert sind:
Atmel Studio 7.0.2397
Atmel Software Framework 3.47.0.1648
QTouch Composer 5.9.122.0
QTouch Library 5.9.0.211

Hatte jemand ein ähnliches Problem und konnte es lösen?

Viele Grüße
Daniel

von pegel (Gast)


Lesenswert?


von Daniel C. (danielcl)


Lesenswert?

Danach habe ich schon gesucht,der Ordner existiert nicht :D
Und auch 
https://community.atmel.com/forum/qtouch-install-does-not-work-as62-or-70-help?skey=touch_api.h%20qtouch 
habe ich getestet.

Hat jemand die Files und kann mir die schicken?

: Bearbeitet durch User
von Daniel C. (danielcl)


Lesenswert?

Man kann sie runterladen, sehe ich gerade. Ich probiere es mal weiter :)

von Daniel C. (danielcl)


Lesenswert?

Hallo,

auch das manuelle Hinzufügen der Files bringt keinen Erfolg, ich habe 
keine Ahnung was ich noch machen kann. Ich habe das Gefühl, dass es mit 
dem Atmel Studio steil bergab geht. Die Help-Links innerhalb Atmelstudio 
führen oft noch auf Seiten von http://atmel.no/ und führen ins nichts. 
In deren Forum gibt es sogar Beiträge anderer Nutzer mit den selben 
Problemen, allerdings ist kein Support gegeben.

Selber Programmieren gestaltet sich langwierig, da Touchwheel und co 
möglichst robust gegen Störungen sein sollen. Ich habe Probeweise ein 
Projekt für den ATmega328P (also mit TouchController) erstellt, aber das 
Problem fehlender Headerdatein bleibt bestehen.

Hat jemand schon mit QTouch gearbeitet und hat noch Tipps für mich?
Ansonsten bin ich auch offen für Lösungen anderer Hersteller, falls da 
jemand Tipps parat hat.

Viele Grüße
Daniel Claassen

von pegel (Gast)


Lesenswert?

Ich würde nachsehen, ob z.B. bei github, jemand ein Projekt hochgeladen 
hat, dass die erforderlichen Dateien enthält.

Dann findet man so etwas wie dieses:

https://github.com/robbie-cao/samd-touch/blob/master/apps/qt6/QTouch/touch_api_SAMD.h

Es finden sich vielleicht sogar passendere Projekte.

Zur Not würde ich erst eine ältere Version vom Atmel Studio installieren 
und später updaten.

Irgendwann muss das ja mal funktioniert haben.

von pegel (Gast)


Lesenswert?


von A. B. (Gast)


Lesenswert?

bei Microchip:
*************
https://www.microchip.com/mplab/avr-support/advanced-software-framework

Advanced Software Framework v3.47

..\asf-standalone-archive-3.47.0.96\xdk-asf-3.47.0\thirdparty\qtouch\gen 
eric\include\touch_api.h

********************

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mal "zum Spaß", (ja das war es wirklich!) AS7 in VirtualBox, 
Win7Pro installiert.

Das fehlerfrei laufen zu bekommen kostet echt Nerven!

Resultat: deine Fehlermeldung hatte ich auch.

Aaaaber:
wenn Du AS7 die Verwaltung übernehmen lässt, wird das Projekt bzw. die 
"Solution" fehlerfrei übersetzt.

Über: File -> New -> Atmel Start Project
bzw : File -> New -> Atmel Start Example Project

und danach: Generate Project

funktioniert das tatsächlich.

Ich konnte bei verschiedenen Projekten auch Touch Elemente dazu nehmen 
oder entfernen.

von Daniel C. (danielcl)


Lesenswert?

Hallo,

vielen Dank für die vielen Antworten.

pegel schrieb:
> Vielleicht dieses?
>
> https://github.com/rbotarleanu/Space-Invaders-with-an-ATMega-Microcontroller

Das sieht nicht schlecht aus, die Idee nach abgeschlossenen Projekten zu 
suchen ist super. Daran habe ich gar nicht gedacht.
Ältere Versionen von Atmel Studio installieren ist übrigens auch gar 
nicht so einfach. Ich habe mir Atmel 6.2 parallel installiert, 
allerdings kann man keine Extensions hinzufügen ohne vorher Atmel Studio 
7 zu deinstallieren.

A. B. schrieb:
> bei Microchip:
> *************
> https://www.microchip.com/mplab/avr-support/advanced-software-framework

Die Standalone Version enthält die Files, aber die passen nicht zum 
generierten Code. Es kamen dutzende Fehlermeldungen für falsche 
Deklarationen in den Headern. Die Prototypen passten nicht :D

pegel schrieb:
> Aaaaber:
> wenn Du AS7 die Verwaltung übernehmen lässt, wird das Projekt bzw. die
> "Solution" fehlerfrei übersetzt.
>
> Über: File -> New -> Atmel Start Project
> bzw : File -> New -> Atmel Start Example Project

Leider hat der Atmega328P keinen PTC, Atmel Start unterstützt für diesen 
Mikrocontroller kein QTouch. Möglicherweise werde ich auf einen 
Controller mit PTC wechseln, falls die Footprints passen.

Ich werde euch auf dem Laufenden halten, sobald ich wieder Zeit zum 
Basteln habe.

von pegel (Gast)


Lesenswert?

Daniel C. schrieb:
> Leider hat der Atmega328P keinen PTC, Atmel Start unterstützt für diesen
> Mikrocontroller kein QTouch.

Stimmt. Aber der Atmega328PB.
Damit habe ich dein Projekt schon durchgespielt.

von Daniel C. (danielcl)


Lesenswert?

Den Wechsel auf Atmega328PB wollte ich vermeiden. Habe die 
Mikrocontroller bereits auf die Platinen gelötet und wollte meine alten 
Bestände aufbrauchen.

Ich habe mir nun Windows 8.1 in einer VirtualBox installiert. Darauf 
läuft Atmel Studio 6.2 mit QTouch Library 5.4 und QTouch Composer 5.4. 
Mit der Kombination ließ sich das Projekt erstellen und compilieren.
Das erstellte Projekt lässt sich anschließend in Atmel Studio 7 
importieren. Leider kann man dann keine Änderungen an der "Platine" im 
QTouchProjectBuilder vornehmen, allerdings dürfte sich dafür schnell ein 
Workaround finden.

Ich hoffe die bekommen Atmel Studio in Zukunft besser hin :D

Vielen Dank für die Denkanstöße, ich melde mich wenn ich QTouch 
tatsächlich getestet habe.

: Bearbeitet durch User
von pegel (Gast)


Lesenswert?

Ich habe mich mit dem ganzen Touch Konzept nicht weiter beschäftigt, so 
wie ich das verstehe muss doch für QTouch eine PTC Hardware vorhanden 
sein, oder? Die hat der 328P aber nicht.

Wenn das in Software "nachgebildet" werden soll, wird mMn Cap Touch 
verwendet.

Damit gibt es aber nur Buttons und kein Wheel o.ä. .

Ich kann natürlich auch falsch liegen ...

von pegel (Gast)


Lesenswert?

Die letzte Vermutung nehme ich zurück.
Es geht auch ohne PTC.

Das Problem ist nur das unvollständig erzeugte Projekt.

Womit wir wieder bei der Ausgangsfrage sind.

Ich denke, es muss das Projekt in ein Atmel Start Projekt eingefügt 
werden,
damit die automatische Verwaltung funktioniert.
Kann auch sein, dass irgendwo ein einfacher Klick versteckt ist, um ein 
vollständiges Projekt zu erzeugen.

von pegel (Gast)


Lesenswert?

Es funktioniert!

Um QTouch für non-PTC nutzen zu können, muss ASF-3.47 deinstalliert 
werden.

Danach wird ASF-3.36 installiert.
https://gallery.microchip.com/packages/4CE20911-D794-4550-8B94-6C66A93228B8/3.36.2.1031

Achtung: alle Meldungen beachten.
Wenn da etwas von Restart steht, sollte man das auch tun.

von Daniel C. (danielcl)


Lesenswert?

pegel schrieb:
> Die letzte Vermutung nehme ich zurück.
> Es geht auch ohne PTC.

Genau, das Ladungstransfer Prinzip lässt sich auch in wenigen Zeilen 
programmieren, solange man auf die ganzen Optionen wie Anpassung an 
Drifts, "Feuchtigkeitserkennung" etc. verzichtet.
PTC benötigt man aber zwingend für QMatrix.

pegel schrieb:
> Um QTouch für non-PTC nutzen zu können, muss ASF-3.47 deinstalliert
> werden.
>
> Danach wird ASF-3.36 installiert.

Ich hatte ASF 3.35.1.898 probiert, damit ging es nicht. Habe AtmelStudio 
7 nun komplett neu installiert mit dem von dir vorgeschlagenen ASF-3.47. 
Es funktioniert wirklich, Wahnsinn :)

Vielen Vielen Dank

von pegel (Gast)


Lesenswert?

Daniel C. schrieb:
> von dir vorgeschlagenen ASF-3.47

Wirklich?

von pegel (Gast)


Lesenswert?

Mit der 3.47 ging es bei mir nicht, deshalb der Wechsel auf 3.36.

von Daniel C. (danielcl)


Lesenswert?

Entschuldige, ich meinte natürlich 3.36.

Wheel und Buttons funktionieren jetzt wunderbar. Jede Berührung wird 
einwandfrei erkannt.

Noch eine Bemerkung am Rande: Man kann im ProjectBuilder viele Parameter 
einstellen, die sich anschließend aber nicht im generierten Sourcecode 
wiederfinden und somit keinen Effekt haben. Möglicherweise funktionieren 
diese Parameter nur mit PTC oder neueren ASF-Versionen. Wichtige 
Parameter (Detect Threshold beispielsweise) werden aber glücklicherweise 
im Sourcecode berücksichtigt.

von pegel (Gast)


Lesenswert?

Ah, alles klar. Ich war jetzt etwas verwundert.

Eigentlich sind wir selbst schuld. Man muss nur richtig lesen:
https://gallery.microchip.com/packages/2AA3AF16-6D1B-4648-9A09-F6CD8FEB0C1D/

Da steht eindeutig: "The supported ASF version is 3.30.1 – 
v3.36.2.1031."

Nur, wer kommt auf die Idee, dass die Lib nicht Abwärts kompatibel ist?
Das ist man so einfach nicht gewohnt. Danke Atmel, für diese neue 
Erfahrung.;)

von pegel (Gast)


Lesenswert?

Bitte jetzt nicht über Ex-Atmel diskutieren.

Schön, dass es jetzt - bestmöglich - funktioniert.

von Peter D. (peda)


Lesenswert?

Hier mal ein Beispiel ganz ohne AS und ASF in plain C:
Beitrag "QTOUCH ohne ASF (C Sourcecode)"

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.