Tonuno AiO (Affenbox Fork): kein Admin Menu, Hilfe bei Debug Ausgabe

Hallo zusammen!
Ich bin gerade dabei, meinen erst Tonuino zu entwickeln. Ich setze dabei die All-in-One (AiO) Platine ein. Da ich unbedingt die Pause-when-card-away-Funktion einsetzen möchte, habe ich den develop branch von Marcos Affenbox-Fork (https://github.com/marco-117/TonUINO-Affenbox/tree/develop) im Einsatz. Nun komme ich nicht ins Admin Menu, um die Pause-when-card-away-Funktion zu aktivieren. Sobald ich die drei Tasten drücke, passiert leider nichts. Zudem fallen mir beim Debug im seriellen Monitor ein paar seltsame Logs auf, vielleicht könnt ihr mir helfen?

Das habe ich bisher probiert:

  • neue SD-Karte mit 32GB
  • SD Karte neu formatiert
  • mp3 und advert neu geschrieben
  • Testweise eine RFID-Karte für Ordner 01 geschrieben – der Ordner wird auch abgespielt
  • Den Tonuino mit allen drei Tasten gedrückt gestartet, um den EEPROM zu leeren

Hier die Logausgabe:

⸮Affenbox by Marco Schulz
12:32:39.499 -> forked from TonUINO by Thorsten Voß; licensed under GNU/GPL.
12:32:39.499 -> Information and contribution https://tonuino.de.
12:32:39.499 -> 
12:32:40.031 -> Firmware Version: 0x92 = v2.0
12:32:40.097 -> del EEPROM
12:32:41.296 -> rsetSettings
12:32:41.496 -> writeSettings
12:32:42.028 -> rset short cuts
12:32:42.028 -> write short cuts at 53
12:32:42.028 -> get short cuts from 53
12:32:42.061 -> short cut no 0
12:32:42.061 -> folder: 0
12:32:42.061 -> mode 0
12:32:42.061 -> special1 0
12:32:42.061 -> special2 0
12:32:42.061 -> special3 0
12:32:42.061 -> short cut no 1
12:32:42.061 -> folder: 0
12:32:42.061 -> mode 0
12:32:42.061 -> special1 0
12:32:42.061 -> special2 0
12:32:42.061 -> special3 0
12:32:42.061 -> short cut no 2
12:32:42.061 -> folder: 0
12:32:42.061 -> mode 0
12:32:42.061 -> special1 0
12:32:42.061 -> special2 0
12:32:42.061 -> special3 0
12:32:45.521 -> nxt track
12:32:45.554 -> abort
12:32:45.655 -> set stby timer
12:32:45.754 -> milis 64378
12:32:53.113 -> adminMenu
12:32:53.678 -> voiceMenu 15 Opt
12:33:04.260 -> nxt track
12:33:04.260 -> abort

Ich frage mich ja schon, warum lese ich so viel „nxt track“, obwohl ich den Button nicht drücke?

Ich habe zum Testen alle Buttons einmal gewechselt, die Logausgabe bleibt gleich. Das Kabel ist korrekt angeschlossen.

Habt ihr eine Idee?

Edit: Ich werde das Gefühl nicht los, dass es irgendwie mit der SD-Karte zusammenhängt. Dazu eine Frage: Nehme ich den Inhalt des Ordners „sd“ im git-repo und kopiere ihn auf die oberste Ebene der SD-Karte? Oder müssen die Dateien aus dem „Standard“-repo auch noch auf die sd-Karte?

Du musst den Inhalt aus dem repo nehmen von @marco-117 Affen-Fork und den Inhalt aus dem SD Ordner auf die Karte kopieren sollten 2 Ordner sein „mp3“ und „advert“

In den Ordnern sind die Dateien hinterlegt, welche das akustische Feedback für das Admin Menü ausgeben

Die SD Karte darf keine Unterordner enthalten.

Ansonsten hier noch Mal die FAQ https://discourse.voss.earth/t/faq-kategorie-hardware/926#wie-muss-die-sd-karte-befllt-werden-8

1 „Gefällt mir“

Jedes Mal, wenn der Player einen Track fertig abgespielt hat, gibt er eine Meldung an den TonUINO. Daraufhin wird versucht den nächsten Track abzuspielen. Die Software prüft dann in nextTrack, was sie machen soll. Im Albummodus würde sie dann zum Beispiel den nächsten Track starten. In Menüs soll dann gar nichts passieren, deshalb siehst du als nächste Ausgabe dann abort.

1 „Gefällt mir“

Vielen Dank für die Anregungen!

Ahja, das erklärt die Ausgabe, Vielen Dank für die Erklärung! Da stimmt also alles.

Ich habe nun beides getestet:

  • Nur die Ordner aus dem repo von @marco-117 genommen und getestet: kein Erfolg.
  • den Ordner von tonuino.de genommen und die Daten aus dem repo von @marco-117 hinzugefügt (vorhandene ersetzt): auch kein Erfolg

Danke! Die FAQ hatte ich schon einmal gelesen. Ich habe trotzdem noch einmal alles gegengecheckt den Order „.Trash“, den Linux bei entfernen von Daten anlegt, entfernt. Die Karte gesynct (sync) und augeworfen (umount). Leider immer noch kein Erfolg.

Aber eine neue Erkenntnis: Wenn ich versuche, das Admin Menü aufzurufen, indem ich drei Buttons betätige, gerät der Tonuino in einen Freeze. Nichts geht mehr. Abschalten nicht, Musik über RFID-Karte auflegen nicht, nur noch über ein Kappen der Stromzufuhr ist der Tonuino abschaltbar.

Habt ihr noch Ideen? :slight_smile:

Welche Version des affenbox-fork nutzt du denn, ich hatte letztens auch Probleme und @marco-117 sagte mir ich solle die Dev Version nehmen die wird aktualisiert und dort wurde vor paar Tagen der Mp3 und advert Ordner erneuert.

Hast du dann mal versucht mit einem langem Druck auf Play das Menü wieder zu verlassen? Denn solange du im Menü bist, steuern die Buttons nur das Menü und Karten sollen dort auch nicht funktionieren.

Du solltest auf jeden Fall nur die Sounddateien vom Affenboxfork brauchen.

Hi, wie äußert sich der freeze? Geht gar nichts? oder wie @Gute_Laune sagte, kannst du dich nur im Menü bewegen? Bekommst du die Menüausgaben mittlerwile?

Laut deinem ersten Log startet das Adminmenü

12:32:53.113 -> adminMenu
12:32:53.678 -> voiceMenu 15 Opt

aber es ist keine Bewegung im Meü zu erkennen

Kannst du einen Log posten mit dem aktuellen Setup? Also von dem Freeze.

Zu erst einmal: Danke für eure Hilfe und Hinweise, das ist wirklich hilfreich!

In Ordnung. Ich habe das repo neu gepullt, die SD Karte gelöscht und nur die Ordner aus dem reop übertragen. Anschließend alle Dotfiles entfernt und wieder synchonisiert (sync) und die Karte ausgeworfen (umount).

Ja! Danke! Es ist wohl kein freeze, sondern ich hänge im Menü fest. Ich komme da mit dem langen Tastendruck heraus, es dauert aber erstaunlich lange. Nach dem langen Tastendruck, wenn das Menü beendet wird, werden Einstellung geschrieben (Ausgabe: write Settings):

5:59:07.722 -> ⸮Affenbox by Marco Schulz
15:59:18.289 -> forked from TonUINO by Thorsten Voß; licensed under GNU/GPL.
15:59:18.289 -> Information and contribution https://tonuino.de.
15:59:18.289 -> 
15:59:18.856 -> Firmware Version: 0x92 = v2.0
15:59:22.316 -> nxt track
15:59:22.316 -> abort
15:59:22.316 -> nxt track
15:59:22.316 -> abort
15:59:22.349 -> set stby timer
15:59:22.416 -> milis 64148
15:59:26.040 -> adminMenu
15:59:26.573 -> voiceMenu 15 Opt
15:59:35.950 -> nxt track
15:59:35.950 -> abort
15:59:35.950 -> nxt track
15:59:35.950 -> abort
15:59:45.803 -> nxt track
15:59:45.836 -> abort
15:59:45.836 -> nxt track
15:59:45.836 -> abort
15:59:45.836 -> = 0
15:59:45.936 -> writeSettings

Nach einer Weile kann ich wieder Karten auflegen, die gespielt werden:

16:00:05.839 -> ReadCardSerial fin
16:00:05.839 -> Card UID 
16:00:05.839 ->  93  7E  8B  80 
16:00:05.839 -> PICC type MIFARE 1KB
16:00:05.839 -> Authenticating Classic using key A...
16:00:05.872 ->  FF  FF  FF  FF  FF  FF 
16:00:05.872 -> 0
16:00:05.872 -> Read block4
16:00:05.872 -> data on card 
16:00:05.872 -> folder 1
16:00:05.872 -> mode 5
16:00:05.872 -> special 0
16:00:05.872 -> special2 0
16:00:05.872 -> special3 2
16:00:05.872 -> special4 0
16:00:05.872 -> 1
16:00:05.872 -> 1
16:00:05.872 -> new tag
16:00:06.171 -> Audio Book
16:00:06.171 -> 3 mp3 in folder 1
16:00:06.171 -> play mp3 2
16:00:06.470 -> disable stby timer
16:00:06.837 -> tag gone
16:00:06.837 -> pause

Genau! Ich bekomme leider keine Tonausgabe des Admin Menüs. Ich kann darin auch nicht navigieren. Wenn ich hoch oder runter drücke – ich habe auch vor und zurück getestet – kommt keine Ausgabe im Log. Da passiert nichts.

Ich habe nun schlichtweg die für mich notwendigen Einstellungen direkt in den Sketch geschrieben und den Tonuino mit leerem EEPROM gestartet, so kann ich wenigstens Pause-when-Card-Away nutzen. Aber das Admin Menü wäre natürlich schöner.

Hi, ich habe exakt das gleiche Problem ich komme nicht ins Admin Menu.
Verwende als Hardware den AIO mit dem TonUINO Button Board 1×5. Als Software die 2.0.2 Build von Marcos Affenbox-Fork (ohne Anpassungen)
Habe alle die oben genannten Schritte zur Lösung versucht aber leider keinen Erfolg.

Wo kann ich die Einstellung im Sketch finden für „Pause-when-Card-Away“ ?
Denn dafür reichen meine Software Kenntnisse leider nicht.
Oder gibt es doch noch eine Lösung zur Aktivierung des Admin Menus.

Du kannst eine Adminkarte anlernen und mit dieser das Menü öffnen.
Einfach beim Anlernen der Karte als Wiedergabemodus Adminkarte wählen

Hi tra,

Hast du den „develop“ brach verwendet? (siehe GitHub - marco-117/TonUINO-Affenbox at develop)

Die Settings sind im Sketch formuliert, ab Zeile 234 findest du dies:

void resetSettings()
{
#if defined DEBUG
  Serial.println(F("rsetSettings"));
#endif
  mySettings.cookie = cardCookie;
  mySettings.version = 3;
  mySettings.maxVolume = 13;
  mySettings.minVolume = 1;
  mySettings.initVolume = 9;
  mySettings.eq = 1;
  mySettings.locked = false;
  mySettings.standbyTimer = 1;
  mySettings.invertVolumeButtons = false;
  mySettings.adminMenuLocked = 0;
  mySettings.savedModifier.folder = 0;
  mySettings.savedModifier.special = 0;
  mySettings.savedModifier.special2 = 0;
  mySettings.savedModifier.mode = 0;
  mySettings.stopWhenCardAway = true;
  mySettings.userAge = 0;

Ich habe hier die Einstellungen, die ich eigentlich gern im Admin-Menü setzen will, direkt in den Sketch geschrieben:

  mySettings.maxVolume = 13;
  mySettings.minVolume = 1;
  mySettings.initVolume = 9;
  mySettings.stopWhenCardAway = true;

Wenn du den Sketch mit diesen Definitionen speicherst und hochlädst, solltest du darauf achten, beim nächsten Starten alle drei Buttons gedrückt zu halten (Vol+, Vol-, Play). Das zwingt den Tonuino einmal den EEPROM-Speicher zu leeren, da könnten noch Einstellungen drin stehen, die dann die im Sketch überschreiben würden. Jedenfalls habe ich das immer mit Erfolg so gemacht.

Das habe ich übrigens auch nochmal getestet, nur um ein Problem der Buttons auszuschließen. In der Ausgabe sieht es aber genauso aus. Das Admin-Menü startet offenbar, es gbt aber keine Tonausgabe und ich kann darin nicht navigieren. Mit langem Tastendruck auf „Play“ kann ich es aber schließen – was allerdings ziemlich lang dauert.

11:57:28.312 -> ⸮Affenbox by Marco Schulz
11:57:31.468 -> forked from TonUINO by Thorsten Voß; licensed under GNU/GPL.
11:57:31.468 -> Information and contribution https://tonuino.de.
11:57:31.501 -> 
11:57:32.034 -> Firmware Version: 0x92 = v2.0
11:57:32.067 -> del EEPROM
11:57:32.833 -> rsetSettings
11:57:33.032 -> writeSettings
11:57:33.565 -> rset short cuts
11:57:36.658 -> set stby timer
11:57:36.758 -> milis 603825
11:57:46.869 -> ReadCardSerial fin
11:57:46.869 -> Card UID 
11:57:46.869 ->  62  A7  64  43 
11:57:46.869 -> PICC type MIFARE 1KB
11:57:46.869 -> Authenticating Classic using key A...
11:57:46.869 ->  FF  FF  FF  FF  FF  FF 
11:57:46.869 -> 0
11:57:46.869 -> Read block4
11:57:46.869 -> data on card 
11:57:46.869 -> folder 0
11:57:46.869 -> mode 0
11:57:46.869 -> special 0
11:57:46.869 -> special2 0
11:57:46.869 -> special3 0
11:57:46.869 -> special4 0
11:57:46.869 -> set modifier: 0
11:57:46.903 -> adminMenu
11:57:47.435 -> voiceMenu 15 Opt
11:57:56.781 -> nxt track
11:57:56.814 -> abort
11:57:56.814 -> nxt track
11:57:56.814 -> abort
11:58:12.139 -> nxt track
11:58:12.172 -> abort
11:58:12.172 -> nxt track
11:58:12.172 -> abort
11:58:12.172 -> = 0
11:58:12.272 -> writeSettings

Ich denke ich habe euren Fehler gefunden.
Der taucht in meinem Testaufbau nicht auf, da ich idR fürs testen die Classic Variante nutzt und dort keine Lautsprecher abschaltung integriert ist.

Zu eurem Fehler:
In der aktuellsten Version schalte ich im Leerlauf den Standbytimer ein. Im Log:
11:57:36.658 -> set stby timer
Der Standbytimer deaktivert aber gleichzietig den Lautsprecher/Verstärker um unnötigen Verbrauch zu reduzieren und eventuelles Grundrauschen im Leerlauf aus zu schalten.
Ob etwas läuft und oder nicht wird im Main loop erkannt.

Hier ist die krucks. Das Admin Menü ist eine eigene Schleife. Solange man im Adminmenü hängt wird die Main loop nicht durchlaufen. Wenn man vor dem Adminmenü keinen Titel laufen hatte, ist der Lautsprecher/Verstärker inaktiv sobald man das Menü betrit. Folge, ihr hört nichts.

Das war die ausführliche Erläuterung, eine neue Version werde ich heute noch hochladen und sobald ich das getan habe poste ich ier den Link.

1 „Gefällt mir“

Hier das aktuelle Release:

1 „Gefällt mir“

Und ich dachte schon, ich würde irgendeinen ganz blöden Fehler machen, den ich selbst immer wieder übersehe. Ganz herzlichen Dank für dein ausführliches Feedback und auch für deine Anpassungen am Code! Ich habe mal rein gesehen und kann ganz gut nachvollziehen, wo das Problem gelegen hat. Ich bin bloß einfach zu unbedarft in C, das hätte ich nie gefunden. Herzlichen Dank!

Achja: Das Admin-Menü startet, ich bekomme eine Tonausgabe, kann navigieren und alles klappt genauso, wie es soll! DANKE!

1 „Gefällt mir“

Klasse!
Danke für die Rückmeldung, dann kann ich es als gelöst abhaken.

1 „Gefällt mir“