Marco's Affenbox Fork

Hallo,

ich habe schon des öfteren meinen Fork hier im Forum verlinkt, jetzt würde ich ihn nochmal im Detail Präsentieren.

Dieser Fork ist nach und nach gewachsen und ich habe immer wenn ich einen sinnvollen Anstoß für eine Anpassung gefunden habe, diesen integriert.
Mir geht es darum die besten Funktionen (meiner bescheidenen Meinung nach) aus den ganzen Forks und Vorschlägen im Forum, in einer Software zusammen zu fügen.

Der Fork baut auf @Thorsten 's Software auf und enthält folgende funktionale Änderungen und Ergänzungen. Hier in einer kurzen Übersicht: (Detailbeschreibungen findet Ihr bei GitHub, die Dokumentation ist noch WIP)

  • Es wurde ein Start- und Shut Down Sound eingefügt, der im mp3 Ordner abgelegt ist. Dafür wurde der Shortcut Nr. 3 entfernt. (über ein #define zu-/abwählbar)

  • Support eines MOSFET Lautsprecherschalters, um das anfängliche Störgeräusch auszublenden. (über ein #define zu-/abwählbar)
    Geräusch beim Start der Box, allerdings nicht bei jedem Start

  • Ausschalten der Box über einen längeren Druck (2s) der Pausetaste. Setzt einen Pollolu (oder ähnliches) voraus. (über ein #define zu-/abwählbar)

  • Um Programmspeicher für die neuen Funktionen frei zu geben, sind die Debugausgaben gekürzt worden und in englischer Sprache, sowie über ein #define zu-/abwählbar.

  • Support eines Rotary Encoder KY 040 um die Lautstärke ein zu stellen. (über ein #define zu-/abwählbar). Adaptiert aus @Ullergr 's SW.

  • „Stopp wenn Karte weg“-Funktion, zu- und abschaltbar über das Adminmenü. Diese habe ich aus @mcgreg 's SW.

  • Neue Spielemodifier: Puzzle, Quiz & Button Smash. Nähere Informationen dazu im Repository.
    + neuer Kartenvariante: Puzzleteil, welche für die Spiele Puzzle und Quiz gebraucht wird.
    Spiele: Puzzle, Quiz & Button Smash

  • Neuer Abspielmodi: Spezial Hörbuch von bis + Weitere Hörbuchspeicher pro Ordner. Die Idee und Teile des Codes stammen von @Peer
    Anfängerfrage - Unterschiede Abspielmodi Hörbuch/Hörspiel

  • Modifier können im EEPROM abgespeichert werden, damit sie bei einem Reset direkt wieder reaktiviert werden.

  • Support eines Drehschalters. Dieser soll eine alternative Steuerungsmöglichkeit bieten. Man kann die einzlenen Stellungen des Schalters über das Adminmenü konfigurieren, ähnlich der Shortcuts. Es sind aber auch Modifiktionen und System Befehle(Pause, Vor, Zurück, Lautstärke & entfernen des Modifiers) konfigurierbar. (über ein #define zu-/abwählbar)
    Tonoino für die Kita

Das hier sind natürlich nur die Oberflächlichen Änderungen, im Code habe ich auch noch an eingien Stellen Veränderungen vorgenommen, diese erläutere ich aber hier nicht im Detail. Mich kann aber jeder gerne dazu ausfragen. Eine Interressante Änderung möchte ich hier dennoch nennen. Um die weiteren Hörbuchspeicher auf die RFID Tags zu speichern, habe ich dort zwei weiter Bytes in Verwendung: Special 3 & 4.
Verwendung finden diese aktuell nur beim Hörbuch und bei den Modifierkarten, die im EEPROM gespeichert werden sollen. Aber sie schaffen Raum für weitere Möglichkeiten, mal sehen…

Die Funktionen sind von @kobayashi_maru und mir zu großen Teilen getestet worden.
Nochmals Danke dafür!
Aber als 100% stabil würde ich den Fork noch nicht beschreiben, deshalb freue ich mich über jede Fehlermeldung die ihr mir zukommen lasst!

Ich habe auch noch eine große Erweiterung offen:
@stephan 's Fernbedienungsintegration. Diese stellt mich allerdings aktuell vor die Herausforderung, eines zu geringen Programmspeichers. Hier muss ich noch die Speicherfresser finden und beheben.
Aber eine Lösung werde ich schon finden und dann berichten.

Ich hoffe der ein oder andere probiert meinen Fork mal aus und berichtet.
Grüße Marco

7 Like

In meinem Fork gab es Fehler beim Erstellen von neuen Karten, sowie Fehler bei den von bis Modis.
Die von bis Grenzen wurden nicht richtig eingehalten.

Um transparent fest zu halten, welche Funktionen validiert sind, habe ich ein Testprotokol angefügt.
Hier kann man nachvollziehen, welche Funktionen von mir bereits getestet sind und welche nicht.

1 Like

Ich habe meinen Fork jetzt zu ca. 95% getestet und nahezu alle Bugs behoben.
Es gibt noch ein paar sehr spezielle Fehler, die im normalen Betrieb nicht weiter auffallen sollten.
Vor ein paar Minuten hab ich die Version aktualisiert.

4 Like

Moin Marco,

vielleicht kannst du mir weiterhelfen bei deinem Fork, den ich sehr interessant finde & gerne ausprobieren würde.

Also lade ich deinen Fork runter, tausche die mp3 gegen meine aus (nutze die 2.1 DEV von Thorsten) und lade die im Tonuino Ordner befindliche Ino Datei - den advert Ordner lasse ich unberührt.

Die im Ordner Specials befindliche TonUINO_ShortCutButtons Ino ist ja was anderes richtig ? Auch die im Specials Ordner befindlichen 3 mp3 Files gehören dann auch zum Shortcut Fork ?

Da Kompilieren klappt

Der Sketch verwendet 26282 Bytes (85%) des Programmspeicherplatzes. Das Maximum sind 30720 Bytes. Globale Variablen verwenden 1174 Bytes (57%) des dynamischen Speichers, 874 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.

Auch das hochladen. Bekomme folgende Debug Ausgabe:
Allerdings beim auflegen oder drücken der Taster, kommt nicht’s in der Ausgabe.

07:51:42.994 -> ]⸮I\T]ox⸮⸮⸮Aê⸮iPV-i3⸮TonUINO Version 2.1
07:51:44.353 -> created by Thorsten Voß and licensed under GNU/GPL.
07:51:44.353 -> Information and contribution at https://tonuino.de.
07:51:44.353 ->
07:51:44.387 -> Fork by Marco Schulz
07:51:46.367 -> load settings from flash
07:51:46.367 -> Version: 2
07:51:46.367 -> Max Vol: 25
07:51:46.367 -> Min Vole: 5
07:51:46.367 -> Init Vol: 15
07:51:46.367 -> EQ: 1
07:51:46.367 -> Locked: 0
07:51:46.367 -> Sleep Timer: 0
07:51:46.367 -> Inverted Vol Buttons: 1
07:51:46.367 -> Admin Menu locked: 1
07:51:46.367 -> Admin Menu Pin: 11255255
07:51:46.367 -> Saved Modifier Mode: 255
07:51:46.400 -> set modifier: 255

Nur beim auflegen einer Karte, oder versuchen ins Admin mit den Buttons zu gelangen passiert gar nichts … Auch am Arduino leuchtet nur Grün, ich erinnere mich das sonst beim Auflegen einer Karte die rote LED leuchtet. Ich nutze nur 3 Tasten

Ich hab dann auch mal meinen advert Ordner mit deinem ausgetauscht, ohne erfolg. Ich habe //#define DEBUG_QUEUE und #define DEBUG unkommentiert,

Hast du noch einen Tipp was ich falsch mache?

Danke & Gruß

Soweit ist alles korrekt.
Ich würde als erstes mal probieren den EEPROM zu löschen.
Alle drei tasten drücken und dann einschalten.

Bei dir ist das Adminmenü gesperrt und ein Pin ist hinterlegt.

Das könntr daran liegen das Maine Fork den EEPROM anderes nutzt und nun falsche Daten aus deinem ließt, aufgrund der Originalen Software.

Kannst du danach noch eine Konsolenausgabe mit aufgelegter Karte und Adminmenü posten?

Das hat schon mal geklappt… Vielen Dank dafür. Ich kann Karten spielen und komme in’s Admin Menü:

09:16:10.654 -> TonUINO Version 2.1
09:16:10.654 -> created by Thorsten Voß and licensed under GNU/GPL.
09:16:10.654 -> Information and contribution at https://tonuino.de.
09:16:10.654 ->
09:16:10.687 -> Fork by Marco Schulz
09:16:12.668 -> load settings from flash
09:16:12.668 -> Version: 2
09:16:12.668 -> Max Vol: 25
09:16:12.668 -> Min Vole: 1
09:16:12.668 -> Init Vol: 1
09:16:12.668 -> EQ: 1
09:16:12.668 -> Locked: 0
09:16:12.668 -> Sleep Timer: 0
09:16:12.668 -> Inverted Vol Buttons: 1
09:16:12.702 -> Admin Menu locked: 0
09:16:12.702 -> Admin Menu Pin: 1111
09:16:12.702 -> Saved Modifier Mode: 0
09:16:12.702 -> set standby timer

Ich hatte dann im Anschluss eine Fehlermeldung, die aber mit dem neu befallen des mp3 Ordners anscheinend erledigt ist:
09:22:01.125 -> packet header error

Jetzt bekomme ich noch die Meldung
09:42:08.923 -> write settings to flash
09:42:08.923 -> set standby timer
09:42:08.960 -> milis: 0
09:42:08.960 -> cant read card

was könnte cant read card bedeuten ?

wenn ich im Admin menu was speichere

Gruß

Das könnte mit der „Pause wenn Karte weg“ Funktion zusammenhängen, dann wäre es kein Fehler. Eventuell muss ich die Debugausgaben an der Stelle verbessern.
Muss ich mir bei Gelegenheit nochmal ansehen.

Aber die Funktion ist nicht beeinträchtigt?

Nein, funktioniert alles super…Danke für deine sehr schnelle Hilfe