Ranging is not happening when frame filtering enabled

Hi,

we are using DW1001 module for ranging (initiator and responder). I got the code from git https://github.com/Decawave/dwm1001-examples. This example is for only two device ranging and MAC filter added in the Nordic controller code. It is working perfectly for me.

Now we are trying to range with multiple responders from multiple initiators. Using the above code it is not possible because of MAC filtering is in the Nordic code. So I used to enable frame filtering on it. But device is not ranging when enabled frame filtering (not receiving any packets in the responder code)

Here is the code for initializing,

static dwt_config_t config = {
5, /* Channel number. /
DWT_PRF_16M, /
Pulse repetition frequency. /
DWT_PLEN_1024, /
Preamble length. Used in TX only. /
DWT_PAC32, /
Preamble acquisition chunk size. Used in RX only. /
3, /
TX preamble code. Used in TX only. /
3, /
RX preamble code. Used in RX only. /
1, /
0 to use standard SFD, 1 to use non-standard SFD. /
DWT_BR_850K, /
Data rate. /
DWT_PHRMODE_STD, /
PHY header mode. /
(1025 + 64 - 32) /
SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};

////////////////////// INITIATOR CODE ////////////////////////////////////////
#define TWR_FRAME_CONTROL 0x8841
/* Reset DW1000 /
reset_DW1000();
/
Set SPI clock to 2MHz /
port_set_dw1000_slowrate();
/
Init the DW1000 /
if (dwt_initialise(DWT_LOADUCODE) == DWT_ERROR) {
while (1) {};
}
// Set SPI to 8MHz clock
port_set_dw1000_fastrate();
/
Configure DW1000. /
dwt_configure((dwt_config_t
)&config);
/* Apply default antenna delay value. See NOTE 2 below. */
dwt_setrxantennadelay(RX_ANT_DLY);
dwt_settxantennadelay(TX_ANT_DLY);

/* Set expected response's delay and timeout. 
* As this example only handles one incoming frame with always the same delay and timeout, those values can be set here once for all. */
dwt_setrxaftertxdelay(POLL_TX_TO_RESP_RX_DLY_UUS);
dwt_setrxtimeout(30000); // Maximum value timeout with DW1000 is 65ms  

/* Enable PAN_ID Filter */
dwt_setpanid(0xDECA);
/* Enable 16bi shortaddress filter */
dwt_setaddress16(0x0002);
/* Enable Frame Filtering */
dwt_enableframefilter(DWT_FF_DATA_EN);

////////////////////// RESPONDER CODE ////////////////////////////////////////
#define TWR_FRAME_CONTROL 0x8841
/* Reset DW1000 /
reset_DW1000();
/
Set SPI clock to 2MHz /
port_set_dw1000_slowrate();
/
Init the DW1000 /
if (dwt_initialise(DWT_LOADUCODE) == DWT_ERROR) {
while (1) {};
}
// Set SPI to 8MHz clock
port_set_dw1000_fastrate();
/
Configure DW1000. /
dwt_configure((dwt_config_t
)&config);

/* Apply default antenna delay value. See NOTE 2 below. */
dwt_setrxantennadelay(RX_ANT_DLY);
dwt_settxantennadelay(TX_ANT_DLY);
dwt_setrxtimeout(0); 

/* Enable PAN_ID Filter */
dwt_setpanid(0xDECA);
/* Enable 16bi shortaddress filter */
dwt_setaddress16(0x0001);
dwt_enableframefilter(DWT_FF_DATA_EN);

Please correct mem if am doing anything wrong. Help me out to figure this issue.