This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ESB Device address from hardware ID.

I have previously developed on the nRF24LU1+.  This device would have a CHIPID in the InfoPage, This ID would have guaranteed it does not violate the requirements for ESB addresses. On the rRF5x, I have NRF_FICR->DEVICEID[2] and NRF_FICR->DEVICEADDR[2]. Can those values be trusted to not violate the ESB address requirements as well, or do I have to check for and replace 0x55 or 0xAA at the beginning?

Parents
  • Hi,

     

    The DEVICEADDR has checks for 0, 0xFF, 0x55, 0xAA in the first byte going on-air, but it has it for little-endian. If you are to use big endian packet format, you'll have to check the corresponding byte for the four non-recommended values.

    You can set the endianness of the RF payload in the nRF5-series devices (NRF_RADIO->PCNF1 register, field ENDIAN), so it is important that you check for valid address based on your configured endianness.

     

    PS: Endianness used in bluetooth LE is little endian.

     

    Best regards,

    Håkon

Reply
  • Hi,

     

    The DEVICEADDR has checks for 0, 0xFF, 0x55, 0xAA in the first byte going on-air, but it has it for little-endian. If you are to use big endian packet format, you'll have to check the corresponding byte for the four non-recommended values.

    You can set the endianness of the RF payload in the nRF5-series devices (NRF_RADIO->PCNF1 register, field ENDIAN), so it is important that you check for valid address based on your configured endianness.

     

    PS: Endianness used in bluetooth LE is little endian.

     

    Best regards,

    Håkon

Children
Related