​ ​ ​ ​ DFplayer mini module problems - Page 4
Page 4 of 4 FirstFirst ... 2 3 4
Results 31 to 39 of 39

Thread: DFplayer mini module problems

  1. #31
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,308

    Default

    Quote Originally Posted by Ghostbear View Post
    looking at framing errors:
    I would not completely agree with their description or likely cause, and the actual error, assuming the datasheet has it correct, is "Serial receiving error (a frame has not been received completely yet)".

    That's not specifically saying there has been a "framing error" but that a frame has not been received completely. That could be because not enough data was sent, it missed some data, or the data doesn't match what it was expecting.

    'It didn't get what it expected to get' is a fair enough assessment but we don't know what it found wrong with what was sent.

    Quote Originally Posted by Ghostbear View Post
    I'm wondering if theres a bit of a difference on the baud rate (not much, but enough to throw it off?)
    That seems unlikely to me but it would be worth trying different 14M2's to confirm that.

    Whenever I have measured on-chip oscillator accuracy of PICAXE chips they have always been 'spot on' for me. While there are some variances with serial bit timings they are well within acceptable tolerance.

    Quote Originally Posted by Ghostbear View Post
    (This is after download AND picaxe has been powered off and back on)
    Ok, so initial wait for response comes back with “No response”
    That is not what would be expected and is odd. The PICAXE waits for a response immediately on starting so it seems nothing is received within the timeout period.

    Perhaps try changing the [5000,TimedOut] to [65000,TimedOut] in the 'WaitForResponse:' routine.

    I would ignore that issue for now and look at why the response is not correct fro the later Reset command.

    You could put the sending of Reset and reporting its result in a loop with a PAUSE 1000 at the end; repeatedly issuing that Reset to see if the results are consistent.

    Quote Originally Posted by Ghostbear View Post
    I’m going to try removing the qualifier
    Worth a punt but don't get distracted in doing that and head off down a blind alley. The initial "no response" seems rather unimportant and it would be better to concentrate on why the Reset doesn't work as expected.

    A better option to removing the qualifier would be to tee the data signal from the DFPlayer into a PC serial port to see exactly what is being sent.

    That would be easy to do on an AXE091 board which has a MAX3232 which will invert the signal to RS232. It may be a bit difficult otherwise. A separate X2 could read the T9600 with background receive and send that out via SERTXD.

  2. #32
    Member
    Join Date
    Oct 2015
    Location
    Nottingham
    Posts
    52

    Default

    Looking at the reset the module section on the code:

    Code:
    ; Reset the module
    SerTxd("Reset the module", CR, LF )
    cmd = $3F : arg = %1111 : Gosub SendAndWaitForResponse
    $3F is to query the memory according to the datasheet

    Code:
    When the module is working, users can use the command as above (0x3F) to query the status of the online
    storage devices.
    $0C is to reset the module, so to reset the module I would have thought the code would be

    Code:
    SerTxd("Reset the module", CR, LF )
    cmd = $0C : arg = 0 : Gosub SendAndWaitForResponse
    SerTxd("Query the status", CR, LF )
    cmd = $3F : arg = %1111 : Gosub SendAndWaitForResponse

  3. #33
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,308

    Default

    Code:
    Get firmware version number
    Firmware version response = 7E FF 06 40 00 00 03 FE 
    * Version 0.3
    Sorry; only just realised that isn't a valid Get Firmware Version response.

    So it does appear that every command is giving a 'something is wrong' response.

    Quote Originally Posted by Ghostbear View Post
    $0C is to reset the module, so to reset the module I would have thought the code would be

    Code:
    SerTxd("Reset the module", CR, LF )
    cmd = $0C : arg = 0 : Gosub SendAndWaitForResponse
    SerTxd("Query the status", CR, LF )
    cmd = $3F : arg = %1111 : Gosub SendAndWaitForResponse
    It appears you are right there. Whether it should be a 'SendAndWaitForResponse' after $0C or simply a 'Send' then PAUSE, and for how long, I don't know.

  4. #34
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,308

    Default

    Quote Originally Posted by Ghostbear View Post
    (This is after download AND picaxe has been powered off and back on)
    Are you power-cycling the DFPlayer at the same time you are power-cycling the PICAXE ?

    I'm just wondering if the DFPlayer isn't in a reset state, has got itself into some odd mode it won't come out of.

  5. #35
    Member
    Join Date
    Oct 2015
    Location
    Nottingham
    Posts
    52

    Default

    Quote Originally Posted by hippy View Post
    Are you power-cycling the DFPlayer at the same time you are power-cycling the PICAXE ?

    I'm just wondering if the DFPlayer isn't in a reset state, has got itself into some odd mode it won't come out of.
    VICTORY!

    Turns out the "optional" checksums..... Aren't.

    Wonder who we can mail to see about updating the documentation for the spe035?

    Thanks for all the help people

  6. #36
    Technical Support
    Join Date
    Jan 1970
    Location
    UK
    Posts
    24,308

    Default

    Quote Originally Posted by Ghostbear View Post
    VICTORY!
    That's good to hear.


    Quote Originally Posted by Ghostbear View Post
    Turns out the "optional" checksums..... Aren't.
    That's not so good.


    Quote Originally Posted by Ghostbear View Post
    Wonder who we can mail to see about updating the documentation for the spe035?
    No need to mail us as you have made us aware of the issue.

    But before we start changing documentation and the example programs, we first need to find out what the full situation is, whether this is just an anomaly or something which has changed with the DFPlayer or its chip.

    Am I correct in assuming that as you have an SPE035 and DFPlayer you bought them as a pair direct from ourselves ?

    Was this a recent purchase or sometime in the past ?

    Can you tell us what labelling there is on the larger chip under the board to confirm it's a VX5200 chip or something else.

    And can you tell us what Firmware Version is being reported when the program runs.

    It would also be appreciated if you could post your test code which now works.

    One thing which would be worth checking is whether it is only the first command which needs a checksum or all subsequent commands. It might be worthwhile trying the program without checksums again ( download but don't power-cycle ) to see if that now works as expected.

    I know that's a bit of an ask but it sure would be appreciated in helping us figure out what is going on. We will also be looking at what we can do to sort things out this end.

    And finally; sorry you had the problems but thanks for your patience, effort and feedback in getting to where we are.

  7. #37
    Member
    Join Date
    Oct 2015
    Location
    Nottingham
    Posts
    52

    Default

    Quote Originally Posted by hippy View Post
    That's good to hear.




    That's not so good.




    No need to mail us as you have made us aware of the issue.

    But before we start changing documentation and the example programs, we first need to find out what the full situation is, whether this is just an anomaly or something which has changed with the DFPlayer or its chip.

    Am I correct in assuming that as you have an SPE035 and DFPlayer you bought them as a pair direct from ourselves ?

    Was this a recent purchase or sometime in the past ?

    Can you tell us what labelling there is on the larger chip under the board to confirm it's a VX5200 chip or something else.

    And can you tell us what Firmware Version is being reported when the program runs.

    It would also be appreciated if you could post your test code which now works.

    One thing which would be worth checking is whether it is only the first command which needs a checksum or all subsequent commands. It might be worthwhile trying the program without checksums again ( download but don't power-cycle ) to see if that now works as expected.

    I know that's a bit of an ask but it sure would be appreciated in helping us figure out what is going on. We will also be looking at what we can do to sort things out this end.

    And finally; sorry you had the problems but thanks for your patience, effort and feedback in getting to where we are.
    No problem might not be for a couple weeks while I finish off the prototypes in time for the May bank holiday weekend though...

  8. #38
    Senior Member
    Join Date
    Dec 2012
    Location
    Out There
    Posts
    287

    Default

    Quote Originally Posted by hippy View Post
    A better option to removing the qualifier would be to tee the data signal from the DFPlayer into a PC serial port to see exactly what is being sent.
    That was the approach I took. I had a serial LCD module (running modified software to frame the hex values and display them) tapped into the PicAxe TX and (once playing started to work) then into the RX lines to 'watch' the serial communicaion going in and out. This was simply inserted on a small section of VERO board between the MP3 module on the SPE035 and the PicAxe on the oher half. Invalulable for me.

    That code might have saved some scratching of the head though....

  9. #39
    Senior Member
    Join Date
    Dec 2012
    Location
    Out There
    Posts
    287

    Default

    Quote Originally Posted by Ghostbear View Post
    VICTORY!

    Turns out the "optional" checksums..... Aren't.

    Thanks for all the help people
    Pleased to hear it is working at last. Well done for sticing with it.
    I think I do send something relevant in the checksum sections, not sure what without looking at my code, not '00' though?

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •