I’ve got two DMW1000 modules interfaced with STM32 micros. All I am doing is sending messages back and forth. When I TX the first message from one unit to the other, all is well. However, when I send a second message, the data read from the receiving unit’s RX buffer is incorrect. It will repeat the same value over and over for each byte read from the buffer. If, after the first reception, I perform a soft reset of the receiver, and then enter RX mode, the subsequent reception will be correct 90% of the time.
Do I really need to reset the receiver after every reception? I believe I followed the configuration steps from the user manual and the simple rx api example correctly.
You don’t need to reset the receiver after every reception
It could be possibly a timing issue and so the RX is not in the correct state. What processor are you using ? It might be faster or slower then the TM32F105RC the examples are based on.
Please see aps022 attached to check the status of the RX. APS022 is available on our website.
Also check the User Manual (section 4 Message Reception). There it states that the receiver (once enabled) will stay on until a timer times out (e.g. FWTO or SFDTO) or gets an error (e.g. PHE, CRC bad) or gets a good frame (CRC good), then you could process the event
There are a few things you could check also:
Use the examples we have, but you’re using them already you say. (eg ex_02(abc) _simple_rx)
Have the receiver always on.
Do some trouble shooting by checking 0x0f (SYS_STATUS) and 0x19 (SYS_STATE) registers