Hi All,
I am working with several dwm1001c devices and default config (Ch5).
I use code provided by decawave (deca_device.c) and do not have interrupts enabled, instead I constantly poll the IC status reg 0x0F.
Double receive buffer is enabled and everything works correctly: a tx is followed by multiple rx (using the swing buffer set) and another tx follows (asynchronous two-way ranging).
To test stability I have another dwm device configured to send about 100 uwb messages per second to flood the network. This is where I get following erratic behavior:
Once every few hours the device using the double buffer has the status flag RXOVRR set to 1 and after that the receiver stops working. Neither dwt_forcetrxoff() and dwt_rxreset() helps and I do have to make a full reset of the device. Tx still works though.
Status reg: 1100 0000 1001 0000 0000 1011 0111 0010
State reg: 0001 0000 0000 0000 0000
Rx auto enable is not active and I do switch the buffer manually after a successful rx. If a rx error or rx timeout happens, I do reset the receiver (dwt_forcetrxoff() and dwt_rxreset()).
I read the user manual several times and cannot see what I am doing wrong + I do not understand how the RXOVRR flag is set to 1 although rx auto enable is not enabled and I switch the buffers manually.
Best regards,
L