DF Player MH2024K-24SS fehlende Ansage bei neuer Karte

Hallo,

leider komme ich aktuell nicht weiter.
Wenn ich bei dem DF Player MH2024K-24SS Version MP3-TF-16P V3.0 eine neue Karte auflege kommt leider nur die erst Ansage („Oh eine neue Karte“) aber dann nichts mehr.

Mit einem alten Player (JL Version) geht alles.

Hier das Log dazu:

Card Inserted
CardData:  00 00 00 00 00 00 00 00 00
enqueue mp3 300 0
clear folder
clear mp3
enter AdmNewCard
play current
play mp3 300
playMp3FolderTrack: 300
OUT  7e ff 06 12 01 01 2c fe bb ef
IN  7e ff 06 41 00 00 00 fe ba ef
enter ChMode
enqueue mp3 310 0
clear folder
clear mp3
play current
play mp3 310
playMp3FolderTrack: 310
OUT  7e ff 06 12 01 01 36 fe b1 ef
IN  7e ff 06 41 00 00 00 fe ba ef
IN  7e ff 06 3d 00 00 45 fe 79 ef
Track beendet: 69
nextTrack
playNext: stop
clear folder
clear mp3

Ich vermute es liegt an dem doppelten IN vom DFPlayer? Aber ich konnte leider noch keine ausreichende Doku zu den Command finden…

Hat jemand eine Idee was hier das Problem ist?

Kannst du mal in der Datei constants.hpp die Konstante dfPlayer_timeUntilStarts erhöhen?
Diese gibt es in der Datei mehrmals, du musst die in dem richtigen Abschnitt zu deiner Variante suchen.

1 „Gefällt mir“

Kurze Testreihe:
1400ms → gleicher Fehler
1700ms → gleicher Fehler
2000ms → funktioniert (in diesem einen Test …)

Hier das Log dazu:

V3.1.5 10.12.23

Ver:2
Vol:25 5 15
EQ:1
ST:0
IB:1
AL:0
AP:1111
PCR:255
setVolume: 15
OUT  7e ff 06 43 00 00 00 fe b8 ef
IN  7e ff 06 43 00 00 0f fe a9 ef
setVolume loops: 1
Volume: 15
OUT  7e ff 06 07 01 00 00 fe f3 ef
IN  7e ff 06 41 00 00 00 fe ba ef
MFRC522:146
enter Idle
Command: 6
enqueue mp3 262 0
clear folder
clear mp3
play current
play mp3 262
playMp3FolderTrack: 262
OUT  7e ff 06 12 01 01 06 fe e1 ef
IN  7e ff 06 41 00 00 00 fe ba ef
IN  7e ff 06 3d 00 00 00 fe be ef
Track beendet: 0
Card Inserted
CardData:  00 00 00 00 00 00 00 00 00
enqueue mp3 300 0
clear folder
clear mp3
enter AdmNewCard
play current
play mp3 300
playMp3FolderTrack: 300
OUT  7e ff 06 12 01 01 2c fe bb ef
IN  7e ff 06 41 00 00 00 fe ba ef
IN  7e ff 06 3d 00 00 01 fe bd ef
Track beendet: 1
nextTrack
playNext: stop
clear folder
clear mp3
enter ChMode
enqueue mp3 310 0
clear folder
clear mp3
play current
play mp3 310
playMp3FolderTrack: 310
OUT  7e ff 06 12 01 01 36 fe b1 ef
IN  7e ff 06 41 00 00 00 fe ba ef
IN  7e ff 06 3d 00 00 03 fe bb ef
Track beendet: 3
nextTrack
playNext: stop
clear folder
clear mp3

Danke für den Hinweis auf die richtige Stelle.
Wenn gewünscht kann ich noch weitere Tests machen.

1 „Gefällt mir“

Du könntest mal andere SD Karten probieren. Vielleicht ist diese ja auch nur zu langsam.

So jetzt nochmal ein Update nach einer kleinen Testreihe:

Beide SD Karten wurden vor dem Test nochmal mit dem SD Card Formatter formatiert und dann die mp3&Advert Ordner und danach die normalen Ordner drauf kopiert.

DFPlayer MH2024K-24SS Version MP3-TF-16P V3.0

SanDisk 32GB SDHC Class 4

15:08:51:487 -> play mp3 262
15:08:51:495 -> playMp3FolderTrack: 262
15:08:51:500 -> OUT  7e ff 06 12 01 01 06 fe e1 ef
15:08:51:556 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:08:53:781 -> IN  7e ff 06 3d 00 00 00 fe be ef
15:08:53:832 -> Track beendet: 0

15:09:01:221 -> play mp3 300
15:09:01:221 -> playMp3FolderTrack: 300
15:09:01:230 -> OUT  7e ff 06 12 01 01 2c fe bb ef
15:09:01:287 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:09:04:708 -> IN  7e ff 06 3d 00 00 01 fe bd ef
15:09:04:765 -> Track beendet: 1

→ ~1850-1950 ms Ladezeit


SanDisk 32GB SDHC U1 Class 10

15:26:31:290 -> play mp3 262
15:26:31:298 -> playMp3FolderTrack: 262
15:26:31:303 -> OUT  7e ff 06 12 01 01 06 fe e1 ef
15:26:31:359 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:26:33:484 -> IN  7e ff 06 3d 00 00 00 fe be ef
15:26:33:533 -> Track beendet: 0

15:26:42:570 -> play mp3 300
15:26:42:570 -> playMp3FolderTrack: 300
15:26:42:579 -> OUT  7e ff 06 12 01 01 2c fe bb ef
15:26:42:636 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:26:45:957 -> IN  7e ff 06 3d 00 00 01 fe bd ef
15:26:46:016 -> Track beendet: 1

→ ~1750-1850 ms Ladezeit


DFPlayer Mini „JL“ (4-5 Jahre alt)

SanDisk 32GB SDHC Class 4

15:39:57:472 -> play mp3 262
15:39:57:480 -> playMp3FolderTrack: 262
15:39:57:494 -> OUT  7e ff 06 12 01 01 06 fe e1 ef
15:39:57:497 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:39:57:971 -> IN  7e ff 06 3d 00 01 00 fe bd ef
15:39:57:974 -> IN  7e ff 06 3d 00 01 00 fe bd ef
15:39:58:021 -> Track beendet: 256

15:40:01:567 -> play mp3 300
15:40:01:567 -> playMp3FolderTrack: 300
15:40:01:581 -> OUT  7e ff 06 12 01 01 2c fe bb ef
15:40:01:588 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:40:03:311 -> IN  7e ff 06 3d 00 01 01 fe bc ef
15:40:03:314 -> IN  7e ff 06 3d 00 01 01 fe bc ef
15:40:03:361 -> Track beendet: 257

→ ~150-220 ms Ladezeit


SanDisk 32GB SDHC U1 Class 10

15:34:05:910 -> play mp3 262
15:34:05:918 -> playMp3FolderTrack: 262
15:34:05:932 -> OUT  7e ff 06 12 01 01 06 fe e1 ef
15:34:05:935 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:34:06:409 -> IN  7e ff 06 3d 00 01 00 fe bd ef
15:34:06:411 -> IN  7e ff 06 3d 00 01 00 fe bd ef
15:34:06:459 -> Track beendet: 256

15:34:14:597 -> play mp3 300
15:34:14:597 -> playMp3FolderTrack: 300
15:34:14:609 -> OUT  7e ff 06 12 01 01 2c fe bb ef
15:34:14:617 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:34:16:339 -> IN  7e ff 06 3d 00 01 01 fe bc ef
15:34:16:341 -> IN  7e ff 06 3d 00 01 01 fe bc ef
15:34:16:388 -> Track beendet: 257

→ ~150-220 ms Ladezeit


Erkenntnis:

→ SD Karte hat nur minimalen Einfluss auf die Ladezeit (100ms bei der schlechten DF Player Version)
→ 2000ms ist immer noch knapp bemessen bei mir für den Timeout.
→ JL Version ist wesentlich schneller und hat auch keinen Unterschied bei den Karten gemacht


Fragen:

  • Warum antwortet der JL Player immer zwei mal mit dem Track finished? Ist das bekannt / egal?
15:34:14:609 -> OUT  7e ff 06 12 01 01 2c fe bb ef
15:34:14:617 -> IN  7e ff 06 41 00 00 00 fe ba ef
15:34:16:339 -> IN  7e ff 06 3d 00 01 01 fe bc ef
15:34:16:341 -> IN  7e ff 06 3d 00 01 01 fe bc ef
  • Was ist die Zahl nach dem Track beendet ? Diese unterscheidet sich ebenfalls bei den beiden Playern

MH2024K-24SS:

15:26:46:016 -> Track beendet: 1

JL Version:

15:34:16:388 -> Track beendet: 257

Der neue MH2024K-24SS gibt die Zahlen größer 255 nicht richtig zurück. Deshalb funktionieren mit dem auch die largeFolder nicht vollständig.
Beim JL ist die Zahl die tatsächliche Nummer des Tracks in der Reihenfolge wie sie auf die Karte geschrieben wurde.
Der 24SS interpretiert den zurückgegebenen Wert nicht vollständig: 257 in hex 10 1.
Der Player liest nur den hinteren Block der hex-Zahl 1 also in dezimal auch 1.
:man_shrugging:

Ja das ist bekannt. Das war schon immer ein Problem und da wurde drumrum gebaut. Denn man nicht bei jedem Trackfinish zum nächsten Track, sondern nur einmal pro Track.

Ja, das ist ein bekannter Bug, wird in der Software aber schon beachtet.

Der Callback OnPlayFinished() hat einen Parameter, der den Track angibt. Das ist eine Zählung über alle Tracks auf der SD Karte, nicht im Folder. Dieser Parameter wird in der Software verwendet um obigen Bug zu behandeln.

Danke an alle für die Infos zu meinen Fragen! :+1: :pray:

Somit ist der MH2024K-24SS (Version MP3-TF-16P V3.0 ) mithilfe dieser Änderungen für mich funktionstüchtig.

inline constexpr unsigned long dfPlayer_timeUntilStarts = 2500;
using DfMp3 = DFMiniMp3<SerialType, Mp3Notify, DFMiniMp3_T_CHIP_VARIANT, 3000>;

Die Ladezeit von knapp 2s pro Track ist aber schon echt nervig…

Ich werde bei mir in die Boxen wieder die alte JL Version bauen und schauen ob ich für zukünftige Projekte noch eine bessere Version irgendwo bekomme.

1 „Gefällt mir“

Die zweite Änderung ist in das neue Release V3.1.5_2023.12.12 eingeflossen, die erste Änderung habe ich nicht übernommen, da diese das Verhalten für die anderen Player doch erheblich verschlechtert.