Marco's Affenbox Fork

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.

2 „Gefällt mir“

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.

2 „Gefällt mir“

Ich glaube das war hier:

1 „Gefällt mir“

Kurze Rückmeldung zu dem Ansatz mit der Lautstärke. Das hat leider gar nichts bewirkt.

Ich probiere bei Gelegenheit noch die Abschaltung Lautsprecher/Verstärker aus…

Sonst muss man an der Stelle mit dem kleinen Manko leben.

Ich bekommen richtig Ärger wenn ich die Karte entferne, wenn noch etwas läuft :wink: Die muss da einfach liegen bleiben!

90min verteilt auf wie viele Dateien? Meine sind 2 und 4, aber nach spätestens 10min wird die Karte gewechselt :slight_smile:

Gut das ich die SMD Bauteile eingelötet habe :slight_smile:

Huch, etwas übertrieben.
Ich habe nochmal geschaut. Die „Filme“ vom Sam gehen je eine Stunde auf 10 Songs verteilt.

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.

Hallo zusammen,

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.

Hier der aktuellste Code:

https://github.com/marco-117/TonUINO/tree/develop-Version-BETA

Hier noch die Fernbedienung die ich nutze:

—Link gelöscht— Empfänger ist nicht zu empfehlen, Bitte diesen Beitrag beachten:

2 „Gefällt mir“

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?

An der Buttonplatine der AiO gibt es den WS(D6) Pin, sowie ein 5V Pin und GND.
An diese drei muss der Empfänger ran.

Ich werde Versuchen in GitHub auch Vorschläge für die Verdrahtung neuer HW zu ergänzen.

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.

Sie haben auch die Fernbedienung einzeln:

Ich ahbe mal ein wiki in meinem Fork angefangen um die ganzen neuen Funktionen zu erklären.

Home · marco-117/TonUINO Wiki (github.com)

Es ist noch im Aufbau und ich werde nach und nach Inhalte hinzu fügen.

1 „Gefällt mir“

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…

Gruß
René

Danke für die Rückmeldung, schau ich mir an.

Ich konnte deinen Fehler nicht nachbilden.
Weder bei erstellen über das Admin menü noch mit neuen Karten.
Zumindest im BETA branch.

Welchen branch verwendest du? Hast du den mp3 Ordner aktualisert?
Hast du die Karten über das Adminmenü erstellt oder ganz neue kartenbenutzt?

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.

Hi, welchen Branch hast du verwendet?
Schau ich mir an.

In letzter Zeit war ich beruflich ziemlich ausgelstet weswegen ich gerade nicht weiter entwickel.
Aber jetzt hab ich wieder Zeit.

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!