Ich bin neu hier im Forum. Wollte gestern den Sketch aufspielen und bekam die Fehlermeldung:
‚folderSettings‘ was not declared in this scope.
Habe die die Arduino Umgebung 1.8.18 unter Debian installiert.
Die geforderten Bibliotheken in neuester Version geladen.
Die Einstellungen
Board: Arduino Nano
Prozessor: ATmega 328P (old Bootloader)
Port: dev/ttyUSB0
Die Fehlermeldung kommt schon beim Kompilieren.
Wo könnte ich noch nach Fehlern suchen?
Hast du irgendwas an der Software geändert? Denn vermutlich ist dann irgendwo ein Zeichen zu viel oder zu wenig. Vielleicht versuchst du es noch einmal neu herunterzuladen.
Eine Alternative ist das online-update.
Das Übertragen des Sketches mit dem online-updater hat funktioniert.
Wäre trotzdem schön den Grund zu finden warum es über die Entwicklungsumgebung nicht klappt.
Dann müsstest du mal den Code aus Arduino hier einfügen. Nach dem Einfügen bitte markieren und mit </> formatieren.
Vermutlich musst du das wegen des Zeichenlimits auf 2 Beiträge aufteilen.
Meistens ist da irgendwo im Code ein falsches Zeichen, Klammer oder Semikolon reingerutscht, das die Arduino IDE die Codeteile nicht mehr klar zuweisen kann. Das kann schon beim Einfügen über Copy Paste passieren. Das zu finden ist oft ziemlich schwer.
Den Code habe ich als zip-Datei (TonUINO-DEV.zip) aus dem GitHub heruntergeladen, auf dem Rechner entpackt und dann aus der Entwicklungsumgebung heraus die Tonuino.ino aufgerufen.
Arduino: 1.8.16 (Linux), Board: "Arduino Nano, ATmega328P (Old Bootloader)"
Tonuino:1470:18: error: 'folderSettings' was not declared in this scope
bool setupFolder(folderSettings * theFolder) {
^~~~~~~~~~~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino:1470:18: note: suggested alternative: 'resetSettings'
bool setupFolder(folderSettings * theFolder) {
^~~~~~~~~~~~~~
resetSettings
Tonuino:1470:35: error: 'theFolder' was not declared in this scope
bool setupFolder(folderSettings * theFolder) {
^~~~~~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino:1470:35: note: suggested alternative: 'setupFolder'
bool setupFolder(folderSettings * theFolder) {
^~~~~~~~~
setupFolder
Tonuino:1516:15: error: 'nfcTagObject' was not declared in this scope
bool readCard(nfcTagObject * nfcTag) {
^~~~~~~~~~~~
Tonuino:1516:30: error: 'nfcTag' was not declared in this scope
bool readCard(nfcTagObject * nfcTag) {
^~~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'void setup()':
Tonuino:721:6: error: redefinition of 'void setup()'
void setup() {
^~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/sketch_oct21a.ino:1:6: note: 'void setup()' previously defined here
void setup() {
^~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'void loop()':
Tonuino:948:6: error: redefinition of 'void loop()'
void loop() {
^~~~
/tmp/untitled946731401.tmp/sketch_oct21a/sketch_oct21a.ino:6:6: note: 'void loop()' previously defined here
void loop() {
^~~~
Tonuino:1100:23: error: 'readCard' cannot be used as a function
if (readCard(&myCard) == true) {
^
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'void adminMenu(bool)':
Tonuino:1236:52: error: 'setupFolder' cannot be used as a function
setupFolder(&mySettings.shortCuts[shortcut - 1]);
^
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'bool setupFolder(folderSettings*)':
Tonuino:1470:44: error: 'bool setupFolder(folderSettings*)' redeclared as different kind of symbol
bool setupFolder(folderSettings * theFolder) {
^
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino:1470:6: note: previous declaration 'bool setupFolder'
bool setupFolder(folderSettings * theFolder) {
^~~~~~~~~~~
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'void setupCard()':
Tonuino:1506:45: error: 'setupFolder' cannot be used as a function
if (setupFolder(&newCard.nfcFolderSettings) == true)
^
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino: In function 'bool readCard(nfcTagObject*)':
Tonuino:1516:36: error: 'bool readCard(nfcTagObject*)' redeclared as different kind of symbol
bool readCard(nfcTagObject * nfcTag) {
^
/tmp/untitled946731401.tmp/sketch_oct21a/Tonuino.ino:1516:6: note: previous declaration 'bool readCard'
bool readCard(nfcTagObject * nfcTag) {
^~~~~~~~
exit status 1
'folderSettings' was not declared in this scope
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Anhand des Outputs sieht man jedenfalls, daß hier nicht nur der normale TonUINO Sketch versucht wird zu kompilieren sondern dort entweder mehrere Dateien offen sind oder zu einer vermixt wurden:
Was ist /tmp/untitled946731401.tmp/sketch_oct21a/sketch_oct21a.ino?
Beim Start der IDE ist folgender Sketch da. Wenn ich ihn lösche schließt sich auch die IDE wieder.
Letzendlich hat es über ‚Datei öffnen‘ funktioniert. Es öffnet sich ein zweites Fenster der IDE mit dem richtigen Sketch (Tonuino.ino).
Das ist normal. Die Arduino IDE stellt praktisch das Grundgerüst jedes Scetches fertig zur Verfügung. Das heißt die Hauptbestandteile jedes Scetches void setup() und void loop() sind sozusagen zum Befüllen mit Code vorbereitet.