ghmartin77 / DFPlayerAnalyzer

Test driver to analyze different makes of DFPlayerMini and reveal specials in behavior.
26 stars 7 forks source link

MH ET LIVE MH2024K-16SS #5

Open seisfeld opened 3 years ago

seisfeld commented 3 years ago
DFPlayer Analyzer 1.0 - Starting up...

[60] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
[111] Packet received (<-): 7E FF 6 42 0 0 2 FE B7 EF   <- Msg: 42 (GetStatus), arg: 2
-------------------------------------------------------
 Test Case "TestConnectivity" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestDiscoverDevices"
-------------------------------------------------------
[150] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[705] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[2271] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[2383] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[2646] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[2709] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[3261] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[4726] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[6740] Packet sent     (->): 7E FF 6 48 0 0 0 FE B3 EF   -> Cmd: 48 (GetNoTracksSD), arg: 0
[6792] Packet received (<-): 7E FF 6 48 0 0 4 FE AF EF   <- Msg: 48 (GetNoTracksSD), arg: 4
[6804] Packet sent     (->): 7E FF 6 9 0 0 1 FE F1 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 1
[8821] Packet sent     (->): 7E FF 6 47 0 0 0 FE B4 EF   -> Cmd: 47 (GetNoTracksUSB), arg: 0
[8872] Packet received (<-): 7E FF 6 47 0 0 0 FE B4 EF   <- Msg: 47 (GetNoTracksUSB), arg: 0
[9885] Packet sent     (->): 7E FF 6 9 0 0 5 FE ED EF   -> Cmd: 9 (SetPlaybackDevice), arg: 5
[11900] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
-------------------------------------------------------
 Test Case "TestDiscoverDevices" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestReaction3F"
-------------------------------------------------------
[12113] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[12666] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[14232] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[14345] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[14607] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[14669] Packet sent     (->): 7E FF 6 3F 0 0 0 FE BC EF   -> Cmd: 3F (StorageDevices), arg: 0
--------------
 ERROR 129
--------------
-------------------------------------------------------
 Test Case "TestReaction3F" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestGetFolderTrackCount"
-------------------------------------------------------
[16205] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[16760] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[18327] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[18440] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[18702] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[18764] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[19779] Packet sent     (->): 7E FF 6 4E 0 0 1 FE AC EF   -> Cmd: 4E (GetNoTracksFolder), arg: 1
[19829] Packet received (<-): 7E FF 6 4E 0 0 2 FE AB EF   <- Msg: 4E (GetNoTracksFolder), arg: 2
-------------------------------------------------------
 Test Case "TestGetFolderTrackCount" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestGetCurrentTrack"
-------------------------------------------------------
[19869] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[20425] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[21991] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[22104] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[22366] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[22429] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[22642] Packet sent     (->): 7E FF 6 F 0 1 2 FE E9 EF   -> Cmd: F (PlayFolderTrack), arg: 258
[24656] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
[24705] Packet received (<-): 7E FF 6 4C 0 0 2 FE AD EF   <- Msg: 4C (GetCurrentTrackSD), arg: 2
[24719] Packet sent     (->): 7E FF 6 F 0 1 1 FE EA EF   -> Cmd: F (PlayFolderTrack), arg: 257
[24784] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
--------------
 ERROR 129
--------------
[26335] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
[26385] Packet received (<-): 7E FF 6 4C 0 0 1 FE AE EF   <- Msg: 4C (GetCurrentTrackSD), arg: 1
GetCurrentTrack for SD returns correct value 1599ms after start of track
[26404] Packet sent     (->): 7E FF 6 16 0 0 0 FE E5 EF   -> Cmd: 16 (Stop), arg: 0
-------------------------------------------------------
 Test Case "TestGetCurrentTrack" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestTrackFinishedCallback"
-------------------------------------------------------
[26470] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[26521] Packet received (<-): 7E FF 6 40 0 0 3 FE B8 EF   <- Msg: 40 (Error), arg: 3
--------------
 ERROR 3
--------------
[28589] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[28701] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[28963] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[29026] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[30040] Packet sent     (->): 7E FF 6 F 0 1 2 FE E9 EF   -> Cmd: F (PlayFolderTrack), arg: 258
[32054] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
[32102] Packet received (<-): 7E FF 6 4C 0 0 2 FE AD EF   <- Msg: 4C (GetCurrentTrackSD), arg: 2
[45262] Packet received (<-): 7E FF 6 3D 0 0 2 FE BC EF   <- Msg: 3D (TrackFinishedSD), arg: 2
Callback global track finished: 2
Received 1 callback(s) on SD track end
-------------------------------------------------------
 Test Case "TestTrackFinishedCallback" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestContinuePlaybackAfterAd"
-------------------------------------------------------
[48156] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[48711] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[50278] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[50390] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[50653] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[50715] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[51729] Packet sent     (->): 7E FF 6 F 0 1 2 FE E9 EF   -> Cmd: F (PlayFolderTrack), arg: 258
[53744] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
[53792] Packet received (<-): 7E FF 6 4C 0 0 2 FE AD EF   <- Msg: 4C (GetCurrentTrackSD), arg: 2
[53809] Packet sent     (->): 7E FF 6 13 0 0 64 FE 84 EF   -> Cmd: 13 (PlayAd), arg: 100
[54322] Packet sent     (->): 7E FF 6 4C 0 0 0 FE AF EF   -> Cmd: 4C (GetCurrentTrackSD), arg: 0
[54370] Packet received (<-): 7E FF 6 4C 0 0 3 FE AC EF   <- Msg: 4C (GetCurrentTrackSD), arg: 3
[69082] Packet received (<-): 7E FF 6 3D 0 0 3 FE BB EF   <- Msg: 3D (TrackFinishedSD), arg: 3
Callback global track finished: 3
[69797] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
[69847] Packet received (<-): 7E FF 6 42 0 0 1 FE B8 EF   <- Msg: 42 (GetStatus), arg: 1
[82256] Packet received (<-): 7E FF 6 3D 0 0 2 FE BC EF   <- Msg: 3D (TrackFinishedSD), arg: 2
Callback global track finished: 2
-------------------------------------------------------
 Test Case "TestContinuePlaybackAfterAd" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Running Test Case "TestWakeupAfterSleep"
-------------------------------------------------------
[82395] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[82951] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF   <- Msg: 3F (StorageDevices), arg: 2
Callback OnCardOnline: 2
[84516] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[84629] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[84892] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[84955] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[85170] Packet sent     (->): 7E FF 6 6 0 0 0 FE F5 EF   -> Cmd: 6 (SetVolume), arg: 0
[85232] Packet sent     (->): 7E FF 6 16 0 0 0 FE E5 EF   -> Cmd: 16 (Stop), arg: 0
[85444] Packet sent     (->): 7E FF 6 1A 0 0 1 FE E0 EF   -> Cmd: 1A (SetDAC), arg: 1
[85657] Packet sent     (->): 7E FF 6 A 0 0 0 FE F1 EF   -> Cmd: A (Sleep), arg: 0
[87869] Packet sent     (->): 7E FF 6 C 0 0 0 FE EF EF   -> Cmd: C (Reset), arg: 0
[89982] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[90095] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[90358] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[90421] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[90634] Packet sent     (->): 7E FF 6 F 0 1 2 FE E9 EF   -> Cmd: F (PlayFolderTrack), arg: 258
[92648] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[94261] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[95874] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[97486] Packet sent     (->): 7E FF 6 16 0 0 0 FE E5 EF   -> Cmd: 16 (Stop), arg: 0
[97548] Packet sent     (->): 7E FF 6 6 0 0 0 FE F5 EF   -> Cmd: 6 (SetVolume), arg: 0
[97611] Packet sent     (->): 7E FF 6 16 0 0 0 FE E5 EF   -> Cmd: 16 (Stop), arg: 0
[97823] Packet sent     (->): 7E FF 6 1A 0 0 1 FE E0 EF   -> Cmd: 1A (SetDAC), arg: 1
[98036] Packet sent     (->): 7E FF 6 A 0 0 0 FE F1 EF   -> Cmd: A (Sleep), arg: 0
[100248] Packet sent     (->): 7E FF 6 9 0 0 2 FE F0 EF   -> Cmd: 9 (SetPlaybackDevice), arg: 2
[102362] Packet sent     (->): 7E FF 6 7 0 0 0 FE F4 EF   -> Cmd: 7 (SetEQ), arg: 0
[102474] Packet sent     (->): 7E FF 6 1A 0 0 0 FE E1 EF   -> Cmd: 1A (SetDAC), arg: 0
[102737] Packet sent     (->): 7E FF 6 6 0 0 1 FE F4 EF   -> Cmd: 6 (SetVolume), arg: 1
[102799] Packet sent     (->): 7E FF 6 F 0 1 2 FE E9 EF   -> Cmd: F (PlayFolderTrack), arg: 258
[104814] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[106427] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[108040] Packet sent     (->): 7E FF 6 42 0 0 0 FE B9 EF   -> Cmd: 42 (GetStatus), arg: 0
--------------
 ERROR 129
--------------
[109652] Packet sent     (->): 7E FF 6 16 0 0 0 FE E5 EF   -> Cmd: 16 (Stop), arg: 0
-------------------------------------------------------
 Test Case "TestWakeupAfterSleep" FINISHED 
-------------------------------------------------------

-------------------------------------------------------
 Profile of this DFPlayer device
-------------------------------------------------------
The following devices have been discovered:
   -> SD, announced on reset, discovered by getTotalTrackCount
Does NOT react on setPlaysourceFlash
Does NOT react on 0x3F queries
getFolderTrackCount...
   -> for SD returned 2 files in Folder /01/ 
GetCurrentTrack for SD returns correct value 1599ms after start of track
Sends 1 callback(s) on SD track end
Continue playback after Ad for SD works
Wakeup from sleep by reset does NOT work
Wakeup from sleep by setting playsource SD does NOT work

-------------------------------------------------------------------------------
 ALL TESTS COMPLETED!
seisfeld commented 3 years ago
-------------------------------------------------------
 Profile of this DFPlayer device
-------------------------------------------------------
The following devices have been discovered:
   -> SD, announced on reset, discovered by getTotalTrackCount
Does NOT react on setPlaysourceFlash
Does NOT react on 0x3F queries
getFolderTrackCount...
   -> for SD returned 2 files in Folder /01/ 
GetCurrentTrack for SD returns correct value 1599ms after start of track
Sends 1 callback(s) on SD track end
Continue playback after Ad for SD works
Wakeup from sleep by reset does NOT work
Wakeup from sleep by setting playsource SD does NOT work
ghmartin77 commented 3 years ago

Looks like this one can never be brought back from sleep mode, hm?

seisfeld commented 3 years ago

Honestly I can't really interpret the output. 😅 But from the chip side of things this is the first one i saw which uses a newer IC with just 16 legs (compared to the 24 usually). This is most likely because the chip all the DFPlayers are build upon is discontinued by the supplier. Because of that, i assume the software build is not the same as previous MH ET LIVE based DFPlayers.

comparison

ghmartin77 commented 3 years ago

Honestly I can't really interpret the output.

The summary states: Wakeup from sleep by reset does NOT work Wakeup from sleep by setting playsource SD does NOT work

So there's no (known) way to wake it up from sleep. All the details yadayada before the profile summary is about the actual communication with the device. The latter conclusions are from TestWakeupAfterSleep where you see the communication data to and from the player, e.g.: [82395] Packet sent (->): 7E FF 6 C 0 0 0 FE EF EF -> Cmd: C (Reset), arg: 0 That means at millisecond 82395 after chip start, the Arduino sends bytes 7F FF 6 C ... to the player (->). The command in that string is C (hex) which actually is "Reset". Result of that command sent back from the player to the Arduino (<-) is: [82951] Packet received (<-): 7E FF 6 3F 0 0 2 FE BA EF <- Msg: 3F (StorageDevices), arg: 2 3F is "Storage Devices" information package and 2 as an argument means "SD Card available" More on that protocol can be found here. "ERROR 129" just means "timed out while waiting for reply from DFPlayer". For the TestWakeupAfterSleep the device is put into sleep mode by sending command for sleep (i.e. hex 0A) and then trying to wake it up by either reset (command 0C) or SetPlaybackDevice (command 09) but both variants result in "ERROR 129" when trying to get the status from the device.