This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

nRF51422, receiving packets in "proprietary mode"

I wrote an application that works using an Enhanced Shockburst-compatible protocol (because I need it so), using the RADIO interface.

What happens if a packet with an address that is not included in the list is received? (specifically, what happens to RXMATCH field)? Is the RX sequence going in any case to the end, triggering "ADDRESS", "PAYLOAD" and "END"?

thanks

  • How the BASEx and PREFIX-es are setup together is showed in the RM chapter 16.1.4.

    Here's a short example setup of the RADIO peripheral:

    NRF_RADIO->BASE1 = 0x12345678;
    NRF_RADIO->PREFIX0 = 0x44332211;
    NRF_RADIO->RXADDRESSES = (uint8_t)(BIT_1 | BIT_2);
    

    This will enable "Logical address" 1 and 2, which are:

    LogicAddr1 = 0x1234567822
    LogicAddr2 = 0x1234567833
    

    If you've only enabled these two receiving addresses, the radio will not generate an ADDRESS event if the address is not equal to any of the two above logical addresses.

    You can think of the addressing like a postal address. If you live at 2nd avenue apartment 100, you will not receive the mail for 3rd avenue apartment 100, unless the postal service makes a mistake or the sender gives an incorrect address (translated to RF-terms; unless your configuration is incorrect or a transmitter sends on the same frequency and address).

    The RXMATCH register will hold the value of the last logical address on which you received a valid payload on. In a normal reception, you will first get the ADDRESS event, then the PAYLOAD event. You can check the CRC status (if enabled) in the register CRCSTATUS.

    Cheers, Håkon

  • that's pretty much what I needed to know. So no way to wildcard address I guess

Related