thotro / arduino-dw1000

A library that offers functionality to use Decawave's DW1000 chips/modules with Arduino.
Apache License 2.0
516 stars 288 forks source link

register 0x01 EUI - 8 bytes address filtering #29

Closed leosayous21 closed 9 years ago

leosayous21 commented 9 years ago

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. capture d ecran 2015-08-10 23 37 31 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

leosayous21 commented 9 years ago

solved !