mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Daniel C. (danielcl)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert

von Daniel C. (danielcl)


Bewertung
0 lesenswert
nicht 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)


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

von Daniel C. (danielcl)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert

von A. B. (Firma: uc++) (mitschreiberin)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Daniel C. schrieb:
> von dir vorgeschlagenen ASF-3.47

Wirklich?

von pegel (Gast)


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

von Daniel C. (danielcl)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Bitte jetzt nicht über Ex-Atmel diskutieren.

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

von Peter D. (peda)


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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.