Ja, auch eine Möglichkeit. Aber sehr nah am funktionierendem System mit 99 Speicher. Wie die anderen schon schreiben ist genügend Platz im Eeprom.
Mein erster muss noch gebaut werden, aber mein dreijähriger hört auch schon 90 Minuten Hörspiele und sucht ständig wo er das letzte mal aufgehört hat.
Wenn die Kisten dann mal laufen ist es egal ob er bei Opa, auf seinem tonuino, auf dem geschwister tonuino, auf der Anlage, in Mamas Auto, in Papas Auto,… Die Liste würde wohl kein Ende nehmen.
Ich bin froh dass @marco-117 sich dieser Idee annimmt, weil ich denke dass ich sie mal nutzen werde und nicht in der Lage bin mir selbst etwas zu programmieren.
Das Problem mit dem Wiederauflegen hat sich erledigt, wenn man Pause-Wenn-Karte-Weg aktiviert.
Hier muss die Karte beim Spielen aufliegen.
Außerdem habe ich die Funktion über den RFID schon implementiert. Ich werde das nicht mehr ändern.
@Nick-Spick, diese Diskussion hatten wir doch schon mal an andere Stelle, oder?
Man könnte die zwei Systeme auch verheiraten. Der Langzeitspeicher liegt auf der RFID und ein „wurde noch nicht auf der Karte gespeichert“-Speicher ist im EEPROM.
Immer wenn eine Karte mit Speicher aufgelegt wird, wird erst geprüft ob ein anderer Speicher zu der Karte im EEPROM liegt und dieser wird dann auf den RFID geschrieben und aus dem EEPROM gelöscht.
Warnungen könnten weg fallen.
Edit:
In meine jetzige ALPHA Version wird aber erstmal kein neues Feature kommen. Ich habe mir einen festen Funktionsumfang dafür vorgenommen und werde diesen erstmal implementieren. Sonst komm ich zu keinem Ende.
In einer neuen Version kann ich mir die Ergänzung im EEPROM gut vorstellen. Kommt auf die ToDo.
Da bei dir die Karte immer aufliegt, wäre das hierfür ja gar nicht notwendig. Dann kann ja ohne Aufforderung zum Auflegen gespeichert werden, womit die Advert-Lösung gar nicht zum Einsatz kommen muss.
ich habe meinen Fork jetzt auf einen Stand gebracht den ich mal als BETA bezeichne.
Alle mir bekannten Bugs habe ich behoben. Ich stelle fürs erste mal das Ergänzen neuer Funktionen ein.
Folgende Funktionen/Ergänzungen sind NICHT enthalten:
Alterssperre
Sleepmodifier, Lautstärke ausfaden lassen
RFID Empfindlichkeit über Adminmenü
Always Queue
Jukebox Modifier: Rndom Track bis RFID aufgelegt, dann einen Track aus RFID und weiter mit Random
Memory Spiel: Modifier karte, die mit einem Satz memory RFID Tags mehrere Motive zulässt
Ich werde diese Funktionen noch implementieren, möchte aber jetzt erst eine Testphase einlegen, um Bugs zu fixen.
Folgende Funktionen SIND Enthalten:
Unterstützung, inkl. Anlernmöglichkeit einer IR Fernbedienung
Unterstützung, inkl. Anlernmöglichkeit eines analogen Eingangs
Fortschrittspeiciher auf RFID (Außnahme Short cuts, diese werden witerhin im EEPROM abgelegt)
Mehr Shortcuts, 12Stk
Shortcuts können Modifier annehmen.
Admin Menü muss aktiv beendet werden und Menüs sind allgemein Umlaufend
Neuer Modifier Calculate
@Gute_Laune, du kannst dir jetzt anschauen, wie das mit der IRRemote Libary Version 3.0.1 Funktioniert, ich habe meine Code auf diese angepasst.
Fernbedienung klingt auch spannend. Für den überschaubaren Preis bestell ich mir auch mal eine zum Probieren. Wie wird die angeschlossen? Kann ich bei der 3-Button-Variante die beiden freien Pins für die Fernbedienung nutzen? Oder muss ich an Pins direkt auf der AiO ran, die später evtl. noch für das BT-Modul gebraucht werden?
Ich muss noch etwas zu der verlinkten Fernbedienung sagen.
Die Fernbedienung funktioniert sehr gut, aber der Empfänger ist überhaupt nicht zu empfehlen.
Bei mir empfängt er in meiner Box nur Störsignale (wahrscheinlich Raumbeleuchtung) und im Bassrefelxrohr, in das ich ihn einbauen wollte, empfängt er gar nichts mehr.
Dieser hier ist um welten besser, ich empfehle diesen Empfänger dringlichst.
Sagmal, habe deinen Fork auf meinen TonUINO AiO aufgespielt und wollte anfangen die ganzen RFID Karten einzurichten. Dabei ist mir aufgefallen, das nach dem einrichten einer Karte (hat alles funktioniert) bei der Zweiten Karten nach dem Einstieg in die Konfiguration die Audio weg bleibt. Erst alles abbrechen und TunUINO neu starten, dann geht es wieder für die erste Karte, die zweite Einrichtung ist dann wieder stumm. Hatte keine Zeit mehr für eine Fehlersuche, daher habe ich wieder den Fork von @Thomas-Lehnert genommen, der hatte dieses Problem nicht, daher gehe ich mal von einem SW-Fehler aus.
Einfach mal mehrere Karten hintereinander einrichten/zuordnen…
Wenn Du eine Idee hast oder der Fehler schon gefunden wurden, wäre ich über eine Info dankbar…
Bei irgend einer (Test-) Kiste die hier steht hab ich auch ein bisweilen immer Mal wieder „stummes“ Adminmenü. Aber keine Ahnung wie ich das geschafft habe, schätze aber nach einem neu flashen, mp3 Ordner aktualisieren und EEPROM löschen läuft alles wieder.
Hallo!
Ich baue momentan meinen 3. Tonuino, aber den ersten mit Rotary-Encoder. Ich bekommen beim Kompilieren den Fehler:
Arduino: 1.8.13 (Windows 10), Board: "Arduino Uno"
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In member function 'virtual void SleepTimer::loop()':
Tonuino:600:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:600:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void nextTrack(uint16_t)':
Tonuino:1312:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1312:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1322:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1322:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1355:9: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, currentTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:1358:9: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, firstTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:1360:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1360:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1368:9: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, currentTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:1371:9: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, firstTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:1373:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1373:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1382:7: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1382:7: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1388:3: error: 'disablestandbyTimer' was not declared in this scope
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1388:3: note: suggested alternative: 'SetupStandbyTimer'
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
SetupStandbyTimer
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void previousTrack()':
Tonuino:1472:7: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, currentTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:1490:7: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1490:7: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1495:3: error: 'disablestandbyTimer' was not declared in this scope
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1495:3: note: suggested alternative: 'SetupStandbyTimer'
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
SetupStandbyTimer
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void setup()':
Tonuino:1606:5: error: 'SetModifier' was not declared in this scope
SetModifier(mySettings.savedModifier);
^~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1606:5: note: suggested alternative: 'Modifier'
SetModifier(mySettings.savedModifier);
^~~~~~~~~~~
Modifier
Tonuino:1609:3: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1609:3: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void playFolder()':
Tonuino:1775:3: error: 'disablestandbyTimer' was not declared in this scope
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:1775:3: note: suggested alternative: 'SetupStandbyTimer'
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:1847:22: error: 'readAudiobookMemory' was not declared in this scope
currentTrack = readAudiobookMemory(myFolder->folder, myFolder->special3);
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void loop()':
Tonuino:1939:3: error: 'checkStandbyAtMillis' was not declared in this scope
checkStandbyAtMillis();
^~~~~~~~~~~~~~~~~~~~
Tonuino:1994:9: error: 'writeAudiobookMemory' was not declared in this scope
writeAudiobookMemory (myFolder->folder, myFolder->special3, currentTrack);
^~~~~~~~~~~~~~~~~~~~
Tonuino:2015:9: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2015:9: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:2019:9: error: 'disablestandbyTimer' was not declared in this scope
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2019:9: note: suggested alternative: 'SetupStandbyTimer'
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:2151:3: error: 'handleCardReader' was not declared in this scope
handleCardReader();
^~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void adminMenu(bool)':
Tonuino:2188:3: error: 'disablestandbyTimer' was not declared in this scope
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2188:3: note: suggested alternative: 'SetupStandbyTimer'
disablestandbyTimer();
^~~~~~~~~~~~~~~~~~~
SetupStandbyTimer
Tonuino:2273:9: error: 'setupModifier' was not declared in this scope
if (setupModifier(&tempCard.nfcFolderSettings)) {
^~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2273:9: note: suggested alternative: 'activeModifier'
if (setupModifier(&tempCard.nfcFolderSettings)) {
^~~~~~~~~~~~~
activeModifier
Tonuino:2433:3: error: 'setstandbyTimer' was not declared in this scope
setstandbyTimer();
^~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2433:3: note: suggested alternative: 'SetupStandbyTimer'
setstandbyTimer();
^~~~~~~~~~~~~~~
SetupStandbyTimer
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'uint8_t voiceMenu(int, int, int, bool, int, int, bool)':
Tonuino:2477:7: error: 'checkStandbyAtMillis' was not declared in this scope
checkStandbyAtMillis();
^~~~~~~~~~~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'bool readCard(nfcTagObject*)':
Tonuino:2800:14: error: 'SetModifier' was not declared in this scope
return SetModifier (tempCard.nfcFolderSettings);
^~~~~~~~~~~
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino:2800:14: note: suggested alternative: 'Modifier'
return SetModifier (tempCard.nfcFolderSettings);
^~~~~~~~~~~
Modifier
C:\Users\Juergen\AppData\Local\Temp\Temp1_TonUINO-master.zip\TonUINO-master\Tonuino\Tonuino.ino: In function 'void RotEncSetVolume()':
Tonuino:2955:25: error: a function-definition is not allowed here before '{' token
void RotEncSetVolume () {
^
Tonuino:2996:17: error: a function-definition is not allowed here before '{' token
void timerIsr() {
^
Tonuino:3094:56: error: a function-definition is not allowed here before '{' token
bool setupModifier(folderSettings * tmpFolderSettings) {
^
Tonuino:3133:53: error: a function-definition is not allowed here before '{' token
bool SetModifier (folderSettings tmpFolderSettings) {
^
Tonuino:3177:23: error: a function-definition is not allowed here before '{' token
bool RemoveModifier() {
^
Tonuino:3201:62: error: a function-definition is not allowed here before '{' token
bool setupSystemControl (folderSettings * tmpFolderSettings) {
^
Tonuino:3217:68: error: a function-definition is not allowed here before '{' token
uint8_t readAudiobookMemory (uint8_t folder, uint8_t memoryNumber) {
^
Tonuino:3236:81: error: a function-definition is not allowed here before '{' token
void writeAudiobookMemory (uint8_t folder, uint8_t memoryNumber, uint8_t track) {
^
Tonuino:3257:1: error: a function-definition is not allowed here before '{' token
{
^
Tonuino:3310:1: error: a function-definition is not allowed here before '{' token
{
^
Tonuino:3363:18: error: a function-definition is not allowed here before '{' token
void onNewCard() {
^
Tonuino:3381:24: error: a function-definition is not allowed here before '{' token
void setstandbyTimer() {
^
Tonuino:3399:28: error: a function-definition is not allowed here before '{' token
void disablestandbyTimer() {
^
Tonuino:3410:29: error: a function-definition is not allowed here before '{' token
void checkStandbyAtMillis() {
^
Tonuino:3422:17: error: a function-definition is not allowed here before '{' token
void shutDown() {
^
Tonuino:3475:1: error: expected '}' at end of input
}
^
exit status 1
'setstandbyTimer' 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.
Ich habe auf verschiedenen Rechner kompiliert, ändert aber nichts, Die -DEV läuft anstandslos durch. Danke im Voraus
Hallo @JZi ,
es klingt als würde das ein oder andere Zeichen im Code fehlen, eventuell aus Versehen etwas gelöscht.
Wie hast du den Sketch ins Programm bekommen? Die .ino runtergeladen oder von Github per STRG+C kopiert?
Versuch nochmal den Code zu bekommen, und achte darauf auch alle Zeichen mitzunehmen.
Klappt das auch nicht, drücke mal STRG+T in der Arduino IDE, da startet er eine automatische Einrückung. Da erkennt man auch ganz gut was dort nicht ins Gesamtbild passt und kann dann genauer nachschauen.
Also geändert habe ich am Code nichts. Verwendet habe ich die -Master Version. Eben an einem neuen Laptop alles nochmals aufgespielt: IDE 1.8.13 die marco-117/TonUINO Version heruntergeladen, die Bibliotheken installiert und ein Kompilieren aufgesetzt -> derselbe Fehler!