Double Buffer confusion on DWM3000

Hello guys,

Im trying to create RTLS anchor listening for RX of UWB packets using DWM3001C and ofcourse, for best performance, I need to use double buffering. But since I started to test in real world conditions I had only problem with double buffers…

so my first question : can someone explain to me how double buffer status register works ? because, when in laboratory conditions, where there is no error RX, i receive packets perfectly fine, and status register is always 0… always… even when im using dwt_signal_rx_buff_free() which toggles buffers, im reading correct data from buffers so they should alternate, and there should be change in status register, should it not ? how is this possible ?

When there appears some RX error - and dwt_signal_rx_buff_free() is not called, then there starts to be some data in status register… so status of buffes is written after ISR function ? I dont get it at all