C:\Users\RUALB\AppData\Local\Temp\cchZZteR.ltrans0.ltrans.o: In function `main':
C:\Users\RUALB\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:43: undefined reference to `setup'
C:\Users\RUALB\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino/main.cpp:46: undefined reference to `loop'
collect2.exe: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Deine Arduino IDE ist nicht korrekt installiert oder konfiguriert.
Da wird noch nix hochgeladen, die bricht schon beim Kompilieren ab (exit status 1).
Deshalb die Fragen:
Was versuchst Du da zu kompilieren?
Ist das Originalcode oder hast Du etwas geändert?
Hast Du schon versucht ein mitgeliefertes Beispiel (z. B. „Blink“) zu kompilieren?
Hast Du das „Readme“ der TonUINO SW beachtet und die „platform.local.txt“ in das vorgegebene Verzeichnis kopiert?
Der Programmcode des TonUINO muss zunächst in Maschinensprache übersetzt werden. Das nennt man „compilieren“
Nach dem Compilieren wird das Programm in Maschinensprache auf den Arduino „hochgeladen“ (auch upload). Dabei wird der gesamte Programmspeicher des Arduino neu beschrieben. Du musst also nichts löschen.
Die Fehlermeldung bei Dir entsteht schon bei Schritt 1, dem Compilieren. Zum Hochladen kommt es deshalb erst gar nicht.
In der Arduino IDE hast Du die Möglichkeit, zunächst nur die Übersetzung des Programmcodes zu machen, indem Du den „Prüfen“ Button benutzt.
Für die Übersetzung muss natürlich das richtige Board ausgewählt sein. (Das ist quasi die Sprachangabe für den Übersetzer)
Der „Hochladen“ Button startet, genau wie der „Prüfen“ Button, zunächst die Übersetzung und lädt das Maschinenprogramm (erst nach erfolgreicher Übersetzung) aud den Arduino.
Das TonUINO Programm ist nicht nur EINE Datei, sondern ein Verzeichnis mit etlichen Unterverzeichnissen und darin enthaltenen Dateien. Müsste so aussehen:
Um festzustellen, dass die Arduino IDE überhaupt ordentlich installiert ist und arbeitet, hatte ich vorgeschlagen, zunächst ein mitgeliefertes eispiel-Programm zu compilieren und zu testen:
Das sollte sich ohne Probleme compilieren und hochladen lassen.
Dann gehen wir schrittweise weiter, bis zum Compilieren der TonUINO Software.
Nur so kommen wir dem Fehler auf die Spur.
Wir suchen einen Fehler in der Arduino IDE.
Dass der Web-Uploader funktioniert haben wir doch schon vor 3 Wochen festgestellt. Also nichts neues und kein Schritt in Richtung Fehlersuche.
WAS hast Du da denn installiert???
Inzwischen veranstaltest Du ein ganz schönes Durcheinander von Programmen und Begriffen, so dass ich nicht mehr folgen kann.
Sorry das wollte ich nicht
Ich habe einfach das Zip Verzeichniss auf C:Programme endpackt
Das mit der Fehlermeldung werde ich bei Gelegenheit reproduzieren und dann mich gerne wieder melden!
Wenn ich darf🙂
Eine ZIP-Datei ist ein komprimiertes Archiv, das zunächst einmal „entpackt“ werden muss, bevor man mit dem Inhalt überhaupt arbeiten kann.
Das ZIP-Archiv enthält zwar ein Programm, aber eben für den TonUINO und nicht für Windows.
Es hat also absolut nichts im Programmverzeichnis von Windows zu suchen.
Da Du ja schon seit 3 Wochen die TonUINO Firmware auf dem Arduino hast, stellt sich die Frage:
Was möchtest Du ändern?
Wenn Änderungen gewünscht sind, kann man nicht mehr mit dem Web-Upload arbeiten, da hier eine fertige Übersetzung in Maschinencode mit Standardeinstellungen geladen wird, es also dasselbe Programm wie vor 3 Wochen ist.
Noch ein Hinweis: Wenn man die Zip Datei von Github entpackt, muss das entstandene Verzeichnis noch in „TonUINO-TNG“ umbenannt werden. Die obige Fehlermeldung deutet darauf hin, dass das nicht gemacht wurde. Also, alles nochmal löschen, neu auspacken und Verzeichnis umbenennen. Dann die Arduino IDE starten und die Datei TonUINO-TNG.ino öffnen. Und nicht vergessen, die Datei constants.hpp anpassen.
So habe es genau so wie beschrieben gemacht !
das ist die Rückmeldung
Der Sketch verwendet 924 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes.
Globale Variablen verwenden 9 Bytes (0%) des dynamischen Speichers, 2039 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xec
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3d
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x31
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x53
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe6
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x0a
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe6
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x0c
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xdd
Fehlgeschlagenes Hochladen: Hochladefehler: exit status 1
Das sieht doch schon ganz prima aus - nein ich will Dich nicht „auf den Arm nehmen“
Der erste Erfolg ist, dass jetzt der Compiler die Übersetzung ohne Fehler gemacht hat und nun tatsächlich ein Problem beim Hochladen auftritt.
Da kann man ganz entspannt bleiben, da die Arduino Nano, je nach Hersteller / Klon, mit unterschiedlichen Bootloadern ausgeliefert werden. Der Bootloader ist ein winziges Programm, das den Datenverkehr beim Hochladen zwischen PC und Arduino übernimmt.
Welcher Bootloader benötigt wird, stellt man leider erst beim Hochladen fest, kann man dann aber in der Arduino IDE einstellen / umstellen und einen neuen Versuch machen.
Neu versucht
Mit ATmega328P
Rückantwort Hochladen Ok
Danach normal versucht und wieder Compilation error
In file included from C:\Program Files\TonUINO-TNG\src\tonuino.hpp:11:0,
from C:\Program Files\TonUINO-TNG\TonUINO-TNG.ino:1:
C:\Program Files\TonUINO-TNG\src\mp3.hpp:265:26: error: ‚maxTracksInFolder‘ was not declared in this scope
typedef queue<uint8_t, maxTracksInFolder> track_queue;
^~~~~~~~~~~~~~~~~
C:\Program Files\TonUINO-TNG\src\mp3.hpp:265:43: error: template argument 2 is invalid
typedef queue<uint8_t, maxTracksInFolder> track_queue;
^
C:\Program Files\TonUINO-TNG\src\mp3.hpp: In member function ‚uint8_t Mp3::getCurrentTrack()‘:
C:\Program Files\TonUINO-TNG\src\mp3.hpp:232:50: error: request for member ‚get‘ in ‚((Mp3*)this)->Mp3::q‘, which is of non-class type ‚Mp3::track_queue {aka int}‘
uint8_t getCurrentTrack() { return playing ? q.get(current_track) : 0; }
^~~
exit status 1
Compilation error: ‚maxTracksInFolder‘ was not declared in this scope
Na du muss darin die richtige HW auswählen. Und der obige Fehler deutet darauf hin, dass du das nicht getan hast. Du muss den Kommentar in der Zeile 76 entfernen, wenn du einen Nano hast.