Ja, das ist klar. Bei mir läuft es ja auch. @hEhski hat einen JL Player, diese liefen bis jetzt immer relativ problemlos. Was ich im Log gesehen habe ist, dass dieser wie manche 24SS v3. 0 Player vor dem Abspielen eines Tracks den Busy Pin für einen kurzen Moment auf High setzt
Aber nicht immer. Hier kommt dafür die doppelte Ende Meldung.
@hEhski Sind das wirklich zwei Logs mit mit gleichem Player und nur unterschiedlichen SD-Karten?
Ja, das ist bekannt. Der Party Modus schaltet automatisch in den Endlos Modus, egal ob vorher die Endlos Karte aufgelegt wurde.
Bei mir läuft auch ein Player mit JL Chipsatz (JL AB25CS330Y. 1-74) aus einer Serie mit blauer statt roter LED auf dem Player ohne solche Probleme. Anscheinend gibt es da Unterschiede zwischen den JL Chipsätzen
Das war eigentlch nicht der Grund für die Bemerkung, sondern vielmehr, dass der Zustand beim ersten Auflegen der Karte anscheinend nicht abgefragt wird und das toggle nicht wie erwartet greift und den Endlos-Modus abschaltet (das passiert erst bei zweitem Auflegen der Karte).
Das ist, weil die Box auch nach dem Auflegen der Party Karte im Nicht-Endlos Modus bleibt. D.h., wenn eine andere Karte aufgelegt wird, wird diese nicht im Endlos Modus abgespielt. Ist alles nicht 100%ig ideal, aber es ist rückwärtskompatibel.
Ja, immer der gleiche DFPlayer. Habe bis jetzt nur diese Box fertig gemacht.
Habe noch andere DFPlayer, müsste dort aber erst die Pins anlöten damit ich diese nutzen könnte.
Ja, soweit verstanden und gut so. Dennoch hat mich das unlogische Verhalten bei Auflegen der Endlos-Karte nicht ganz losgelassen. Dabei habe ich gesehen, dass die Toggle-Funktion etwas unplausibel wird, wenn endless <> mp3.isEndless beim Einstieg in die Funktion ist.
Um das zu beseitigen, habe ich eine Zeile in der tonuino.cpp eingefügt, um die Synchronität beim Einstieg in die Toggle-Funktion wieder herzustellen:
void Tonuino::switchEndlessOnOff() {
endless = mp3.isEndless(); // add by nobl
endless = not endless;
Mit dieser Zeile ist das Verhalten der Box aus meiner Sicht wieder logisch richtig und dürfte auch keinen Einfluss auf die Rückwärtskompatibilität haben, da sie ja erst bei Auflegen einer Endlos-Karte wirksam wird.
Nach Durchlauf der Toggle-Funktion sind beide Werte ja ohnehin in allen Fällen synchron.
@NoBl Ja, habe ich geändert, wenn auch etwas anders:
void Tonuino::switchEndlessOnOff() {
if (((myFolder.mode == pmode_t::party) || (myFolder.mode == pmode_t::party_vb)) && mp3.isEndless())
endless = true;
endless = not endless;
Das sollte etwas besser lesbar sein und Nebeneffekte werden ausgeschlossen.
Gleichzeitig habe ich noch die Ausführung von Mod-Karten im Webinterface geändert. Die laufen jetzt im Haupt-Thread (und nicht im Web-Thread). Dadurch kamen missingOnPlayerFinish beim Abspielen von Adv. Tracks, wenn die SD Karte langsam ist.
Bei mir läuft das Abspielen von Adv. Tracks damit stabil in allen drei Situationen (Idle, Pause und Play).
@hEhski Kannst du das bei dir jetzt nochmal versuchen. Wenn immer noch Probleme sind, dann bespiele die SD Karte doch bitte neu (evtl. neu formatieren, danach mp3 und advert Ordner aufspielen, dann die anderen Ordner und zum Schluss Fatsort).
Wenn es dann noch nicht geht, schicke nochmal ein Log.
Kurz zum Ablauf: Bevor ich die SD-Karte formatiert habe, passierte beim Auflegen der Mod-Karte direkt nach dem Start wieder nichts. Erst nachdem eine Hörbuchkarte aufgelegt wurde, spielte die Box die Audiodatei aus Ordner 01 ab. Danach funktionierten die Ansagen allerdings korrekt. Nach einem Neustart der Box zeigte sich wieder das gleiche Verhalten.
Auf deine Anweisung hin habe ich die SD-Karte nun formatiert und anschliessend zuerst den „mp3“- und „advert“-Ordner aufgespielt. Danach habe ich die restlichen Ordner per Drag & Drop kopiert.