Die jeweils neueste Release des TonUINO Programmcodes kann von GITHUB heruntergeladen werden.
So sind Dokumente und Informationen bei Bedarf schnell verfügbar.
Nach erfolgreichem Download befindet sich dann die Datei "TonUINO-TNG-main.zip" in diesem Ordner.
Mit dem "Windows Exlorer" das Verzeichnis öffnen, in das die Datei "TonUINO-TNG-main.zip" heruntergeladen wurde.
In der Archiv-Datei befindet sich ein Verzeichnis "TonUINO-TNG-main"
Das Verzeichnis "TonUINO-TNG-main" auswählen und mit der rechten Maustaste das Kontextmenü öffnen und
die Funktion "Kopieren" auswählen.
Anschließend wieder in das Verzeichnis "TonUINO" zurückkehren.
Zunächst im Verzeichnis "TonUINO" mit der linken Maustate in einen freien Bereich klicken und
anschließend dort mit der rechten Maustaste das Kontextmenü öffnen.
Wenn das Entpacken abgeschlossen ist, gibt es nun ein Verzeichnis "TonUINO-TNG-main"
Das Verzeichnis "TonUINO-TNG" sollte nun Struktur und Inhalt wie nebenstehenden gezeigt haben.
Damit ist der Download und das Enpacken beendet und der Programm-Code des TonUINO für die nächsten Schritte bereit.
In file included from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.hpp:11:0,
from C:\Daten\Arduino-Projekte\TonUINO-TNG\TonUINO-TNG.ino:1:
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp:268:26: error: 'maxTracksInFolder' was not declared in this scope
typedef queue track_queue;
^~~~~~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp:268:43: error: template argument 2 is invalid
typedef queue track_queue;
^
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp: In member function 'uint8_t Mp3::getCurrentTrack()':
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp:234: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; }
^~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp: In member function 'bool Mp3::isLastTrack()':
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\mp3.hpp:236:52: Mp3::q', which is of non-class type 'Mp3::track_queue {aka int}'
bool isLastTrack() { return current_track+1 >= q.size(); }
^~~~
Mehrere Bibliotheken wurden für "SoftwareSerial.h" gefunden
Benutzt: C:\Users\nobl\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SoftwareSerial
Nicht benutzt: C:\Daten\Arduino-Projekte\libraries\EspSoftwareSerial
exit status 1
Compilation error: 'maxTracksInFolder' was not declared in this scope
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.cpp: In member function 'void Tonuino::setup_adc()': C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.cpp:159:19:error: 'INTERNAL2V5' was not declared in this scope analogReference(INTERNAL2V5); ^~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.cpp:159:19: note: suggested alternative: 'INTERNAL' analogReference(INTERNAL2V5); ^~~~~~~~~~~ INTERNAL Mehrere Bibliotheken wurden für "SoftwareSerial.h" gefunden Benutzt: C:\Users\nobl\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SoftwareSerial Nicht benutzt: C:\Daten\Arduino-Projekte\libraries\EspSoftwareSerial exit status 1 Compilationerror: 'INTERNAL2V5' was not declared in this scope
^~~~~~~~~~~~~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:430:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr uint8_t shutdownPin = 7;
^~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:434:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr levelType shutdownPinType = levelType::activeLow;
^~~~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:436:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr uint8_t openAnalogPin = A7;
^~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:437:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr unsigned long cycleTime = 50;
^~~~~~~~~
In file included from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:4:0,
from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\modifier.hpp:7,
from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.hpp:12,
from C:\Daten\Arduino-Projekte\TonUINO-TNG\TonUINO-TNG.ino:1:
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\modifier.hpp: In member function 'virtual bool ToddlerMode::handleButton(command)':
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\log.hpp:13:6: warning: 'if constexpr' only available with -std=c++1z or -std=gnu++1z
if constexpr ( Logger_::will_log(Severity_) ) \
^
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\modifier.hpp:77:38: note: in expansion of macro 'LOG'
bool handleButton(command) final { LOG(modifier_log, s_debug, F("ToddlerMode::Button -> LOCKED!")); return true; }
^~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\TonUINO-TNG.ino: In function 'void setup()':
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\log.hpp:13:6: warning: 'if constexpr' only available with -std=c++1z or -std=gnu++1z
if constexpr ( Logger_::will_log(Severity_) ) \
^
C:\Daten\Arduino-Projekte\TonUINO-TNG\TonUINO-TNG.ino:31:3: note: in expansion of macro 'LOG'
LOG(init_log, s_error, F("\n _____ _____ _____ _____ _____"));
^~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:434:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr levelType shutdownPinType = levelType::activeLow;
^~~~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:436:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr uint8_t openAnalogPin = A7;
^~~~~~~~~~~~~
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:437:32: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
inline constexpr unsigned long cycleTime = 50;
^~~~~~~~~
In file included from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:4:0,
from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp:4:
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp: In member function 'command Commands::getCommand(commandRaw, state_for_command)':
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\log.hpp:13:6: warning: 'if constexpr' only available with -std=c++1z or -std=gnu++1z
if constexpr ( Logger_::will_log(Severity_) ) \
^
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp:88:5: note: in expansion of macro 'LOG'
LOG(button_log, s_info , F("btn/cmd: "), getCommandRawStr(b), F("/"), getCommandStr(ret));
^~~
Mehrere Bibliotheken wurden für "SoftwareSerial.h" gefunden
Benutzt: C:\Users\nobl\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.8\libraries\SoftwareSerial
Nicht benutzt: C:\Daten\Arduino-Projekte\libraries\EspSoftwareSerial
exit status 1
Compilation error: 'printStatusCode' function uses 'auto' type specifier without trailing return type
Hier verwendet ein Funktionsaufruf im Programmcode andere Parameter als sie durch das Board-Paket erwartet werden.
Es gibt auch einen Klon des Arduino Nano Every bestückt mit einem ATmega4808 Prozessor. Wird ein solcher Klon verwendet,
muss natürlich die Board-Einstellung in der Arduino IDE "ATmega4808" geändert werden.
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:414:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr uint8_t dfPlayer_transmitPin = 3; ^~~~~~~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:417:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr uint8_t maxTracksInFolder = 255; ^~~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:418:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr uint8_t dfPlayer_busyPin = 4; ^~~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:419:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr levelType dfPlayer_busyPinType = levelType::activeHigh; ^~~~~~~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:425:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr unsigned long dfPlayer_timeUntilStarts = 1200; ^~~~~~~~~~~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:430:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr uint8_t shutdownPin = 7; ^~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:434:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr levelType shutdownPinType = levelType::activeLow; ^~~~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:436:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr uint8_t openAnalogPin = A7; ^~~~~~~~~~~~~ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:437:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z< inline constexpr unsigned long cycleTime = 50; ^~~~~~~~~ In file included from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:4:0, from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\modifier.hpp:7, from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\tonuino.hpp:12, from C:\Daten\Arduino-Projekte\TonUINO-TNG\TonUINO-TNG.ino:1: C:\Daten\Arduino-Projekte\TonUINO-TNG\src\modifier.hpp: In member function 'virtual bool ToddlerMode::handleButton(command)': C:\Daten\Arduino-Projekte\TonUINO-TNG\src\log.hpp:13:6:warning: 'if constexpr' only available with -std=c++1z or -std=gnu++1z if constexpr ( Logger_::will_log(Severity_) ) \ ^
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\constants.hpp:437:32:warning: inline variables are only available with -std=c++1z or -std=gnu++1z inline constexpr unsigned long cycleTime = 50; ^~~~~~~~~ In file included from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:4:0, from C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp:4: C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp: In member function 'command Commands::getCommand(commandRaw, state_for_command)': C:\Daten\Arduino-Projekte\TonUINO-TNG\src\log.hpp:13:6:warning: 'if constexpr' only available with -std=c++1z or -std=gnu++1z if constexpr ( Logger_::will_log(Severity_) ) \ ^ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\commands.cpp:88:5: note: in expansion of macro 'LOG' LOG(button_log, s_info , F("btn/cmd: "), getCommandRawStr(b), F("/"), getCommandStr(ret)); ^~~ Mehrere Bibliotheken wurden für "SoftwareSerial.h" gefunden Benutzt: C:\Users\nobl\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\libraries\SoftwareSerial Nicht benutzt: C:\Daten\Arduino-Projekte\libraries\EspSoftwareSerial exit status 1 Compilationerror: 'printStatusCode' function uses 'auto' type specifier without trailing return type
In file included from C:\Program Files\TonUINO-TNG\src\settings.hpp:8:0, from C:\Program Files\TonUINO-TNG\src\tonuino.hpp:4, from C:\Program Files\TonUINO-TNG\TonUINO-TNG.ino:1: C:\P rogram Files\TonUINO-TNG\src\chip_card.hpp:6:10:fatal error: MFRC522.h: No such file or directory #include^~~~~~~~~~~ compilation terminated. exit status 1 Compilation error: MFRC522.h: No such file or directory
C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:6:1: warning: type 'struct tonuino_log' violates the C++ One Definition Rule [-Wodr] DEFINE_LOGGER(tonuino_log , s_debug , void); ^ C:\Daten\Arduino-Projekte\TonUINO-TNG\src\logger.hpp:6:1: note: a type with different bases is defined in another translation unit DEFINE_LOGGER(tonuino_log , s_debug , void); ^ Der Sketch verwendet 28322 Bytes (92%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes. Globale Variablen verwenden 1518 Bytes (74%) des dynamischen Speichers, 530 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes. avrdude: ser_open():can't open device "\\.\COM14": Das System kann die angegebene Datei nicht finden.
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
Dieser Fehler tritt nur auf, wenn als Mikrocontroller der Arduino Nano verwendet wird. Dieses Board wird je nach Charge und Herkunft mit
unterschiedlichen Bootloadern ausgeliefert.
Mit dem "TonUINO-TNG Uploader" kann die Firmware für unterschiedliche Hardwarekonfigurationen mit den Standardeinstellungen direkt auf den TonUINO geladen werden.
Es muss der entsprechende COM-Anschluss ausgewählt werden, uber den der TonUINO mit dem PC verbunden ist.
(siehe dazu "Kontrolle / Herstellung der Verbindung")
Sobald die vorliegende Hardware-Konfiguration für Mikrocontroller und Bedienfeld ausgewählt ist, kann der Upload gestartet werden.
Der erfolgreiche Upload wird bestätigt.
Funktionierende Hardware vorausgesetzt, ist der TonUINO nun nach einem Neustart einsatzbereit.
// ###################################################################### /* uncomment the below lines if you use Pololu Powerswitch or Traeger Platine for shutdown * wenn der Pololu Powerswitch oder die Traeger Platine für das Shutdown verwendet wird, in den nächsten Zeile den Kommentar entfernen *///#define USE_POLOLU_SHUTDOWN //#define USE_TRAEGER_PLATINE_SHUTDOWN
// ###################################################################### /* uncomment the below lines if you use Pololu Powerswitch or Traeger Platine for shutdown * wenn der Pololu Powerswitch oder die Traeger Platine für das Shutdown verwendet wird, in den nächsten Zeile den Kommentar entfernen */#define USE_POLOLU_SHUTDOWN //#define USE_TRAEGER_PLATINE_SHUTDOWN