Hi @thotro ,
In the last commit, the frame filtering was entirely software. Now i'm trying to active the Frame Filter of the DW1000. It works great with the short address (for poll, poll_ack, range, range_report) but not with the long 8 bytes address (ranging_init). (The DW1000 module need to compare it with its EUI saved in register 0x01)
I don't exactly know our the address is save in the DW1000 chip and it can be a reason why it doesn't work.
consider an address byte address[8]={0x82, 0x17, 0x58, 0xD5, 0xA9, 0x9A, 0xE2, 0x9C};
if i use writeBytes like this:
writeBytes(EUI, NO_SUB, address, LEN_EUI);
The DW1000 will understand the address like i wrote it ?
In user manual page 66, it seems that the address needs to be saved in reverse position.
I tried byte addressReverse[8]={0x9C, 0xE2, 0x9A, 0xA9, 0xD5, 0x58, 0x17, 0x82}; and the writeBytes with this addressReverse Array but it doesn't work too...
Do you have an idea ? Maybe we need to reverse each bite also ?
Thanks !
Léopold
Hi @thotro , In the last commit, the frame filtering was entirely software. Now i'm trying to active the Frame Filter of the DW1000. It works great with the short address (for poll, poll_ack, range, range_report) but not with the long 8 bytes address (ranging_init). (The DW1000 module need to compare it with its EUI saved in register 0x01) I don't exactly know our the address is save in the DW1000 chip and it can be a reason why it doesn't work. consider an address byte address[8]={0x82, 0x17, 0x58, 0xD5, 0xA9, 0x9A, 0xE2, 0x9C}; if i use writeBytes like this: writeBytes(EUI, NO_SUB, address, LEN_EUI); The DW1000 will understand the address like i wrote it ? In user manual page 66, it seems that the address needs to be saved in reverse position. I tried byte addressReverse[8]={0x9C, 0xE2, 0x9A, 0xA9, 0xD5, 0x58, 0x17, 0x82}; and the writeBytes with this addressReverse Array but it doesn't work too... Do you have an idea ? Maybe we need to reverse each bite also ? Thanks ! Léopold