Die Sache mit dem Fehler 255 - UPDATE

Hallo Leute,

der @stephan und ich haben den kompletten Abend mit SD-Karten formatieren, Ordner kopieren und der seriellen Konsole der Arduino IDE verbracht.

Wir haben 99 Ordner mit je 255 MP3 Dateien für den Test verwendet (xxx.mp3) und folgendes beobachtet:

  • wenn viele Dateien auf der SD-Karte sind wird der DFPlayer bei den “hinteren” Ordnern doch recht langsam
  • durch einen Timeout in der verwendeten Library führt das dann zu dem Fehler 255
  • ab etwa 1500 Dateien trat der Fehler auf
    • Es gibt einen Workaround, hier müsste der Timeout in der Library erhöht werden. @stephan wird versuchen das per Pullrequest in die Upstream Version zu bekommen
    • alternativ kann man den Timeout in der lokalen Version erhöhen
  • die Ordner mp3 und advert sollten als erstes auf die SD-Karte kopiert werden
  • die Idee Hörspiele in viele kleine Dateien zu splitten ist damit eher vom Tisch - es gäbe sonst im Extremfall bis zu 4 Sekunden Pause zwischen den Tracks
2 „Gefällt mir“

Pull Request ist raus. Warte nun auf Feedback. Wenn der gemerged ist, kümmere ich mich darum, dass der Maintainer ein neues Release macht. Sonst taucht das nämlich nicht in der Arduino IDE auf. Aber eins nach dem anderen. :wink:

1 „Gefällt mir“

Danke für Euren Aufwand!
Wird das Problem damit grundlegend behoben oder nur durch den Workaround?
Ich habe alle Hörbücher in vielen Dateien und würde es gerne so belassen ohne größere Pausen zwischen den Tracks. Funktioniert mit 50 Ordnern alles bestens aktuell.

Danke an @stephan und @Thorsten. :+1:
Hier dran war ich auch schon am grübeln. Hatte auch das Problem.
Den Timeout anzupassen ist eine super Lösung.
Werde es testen.

Ich verstehe die Frage nicht. Die Erhöhung des Timeouts löst das Problem mit dem General Error 255. Wenn du das Problem nicht hast dann is auch so gut.

es ist ja nur die Zeit die gewartet würde bis der Error 255 kommt

Ich meinte, dass nicht für alle die Pause zwischen zwei Tracks erhöht werden sollte, da wohl nur wenige so viele Dateien haben.
Bzw. man sollte es dann individuell parametrisieren können.

Du darfst hier Delay nicht mit Timeout verwechseln. Wir fügen hier keine zusätzliche Wartezeit ein sondern erlauben der Library nur länger auf Antwort zu warten. Die Wartezeit hast du so oder so.

2 „Gefällt mir“

um nicht auf den offiziellen Fix in der Library warten zu müssen:

// DFPlayer Mini initialisieren
mp3.begin();
mp3.setVolume(15);
// Fix für das Problem mit dem Timeout
mySoftwareSerial.setTimeout(10000);
1 „Gefällt mir“

Prima! Der Pull Request wurde gerade ebenfalls akzeptiert. Ich habe mal freundlich nachgefragt wie es mit einem Release aussieht. :grimacing:

So, die DFMiniMp3 Library wurde in v1.0.2 released und enthält unseren Bugfix. Ich empfehle also allen die Library in der Arduino IDE zu aktualisieren:

  1. Werkzeuge -> Bibliotheken verwalten…
  2. Bei “Typ” wählt ihr “Aktualisierbar”
  3. Nun die Library “DFPlayer Mini Mp3 by Makuna” auswählen und rechts auf “Update”
  4. Dann die TonUINO Firmware neu kompilieren und auf den Arduino Nano übertragen
  5. Fertig

5 „Gefällt mir“

Super, vielen Dank für die Erledigung. Jetzt kommt bei mir der com-Fehler 255 nicht mehr. Ich hatte ca. 1800 Dateien in 94 Ordnern. Ich habe es mit dem Partymodus im letzten Ordner getestet und jetzt wird die Anzahl wieder korrekt angezeigt.

ich habe alle 99 Ordner drin, 41 ungenutzte. In den ungenutzten Ordnern hab ich eine Datei drin, Ordnername.mp3

3917 Dateien drin.

Z.Z. zeigte sich der Fehler noch nicht.
Update ich habe die Version 1.0.2 drin.

Ich sage danke.