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

How work the acknoledge in the nrf24L01?

Hello everyone,

I am using 3 nrf24L01 on arduino Uno boards. One arduino is the coordinator and the others are nodes. The coordinator send on a specific pipe a value (the ID of the node) and at the same time this node is listening on the same pipe to receive the data. it works well! But, (there is always a but...) when the two nodes are listening on the same pipe, they receive the same value send by the coordinator. So, my question is, is it possible for the coordinator the recognize, identify which node sent his answer firs?

Thanks

Parents
  • Hi Cedric,

    If you have two PRX (primary receivers) listening on the same RF address, you will get a conflict on-air due to both PRX devices sending an on-air ACK.

    What I would recommend to do is to use a dedicated RF pipe per device to avoid the above scenario. Node #1 has "address #1" Node #2 has "address #2"

    This way you can poll each node individually by:

    • Setting TX_ADDR and RX_ADDR_P0 to "Address #1"
    • Send a payload to Node #1
    • Set TX_ADDR and RX_ADDR_P0 to "Address #2"
    • Send a payload to Node #2

    Note that you will need to set TX_ADDR equal to PIPE0 in order for the hardware on-air ACK to work (limitation in the radio state machine).

    Best regards, Håkon

Reply
  • Hi Cedric,

    If you have two PRX (primary receivers) listening on the same RF address, you will get a conflict on-air due to both PRX devices sending an on-air ACK.

    What I would recommend to do is to use a dedicated RF pipe per device to avoid the above scenario. Node #1 has "address #1" Node #2 has "address #2"

    This way you can poll each node individually by:

    • Setting TX_ADDR and RX_ADDR_P0 to "Address #1"
    • Send a payload to Node #1
    • Set TX_ADDR and RX_ADDR_P0 to "Address #2"
    • Send a payload to Node #2

    Note that you will need to set TX_ADDR equal to PIPE0 in order for the hardware on-air ACK to work (limitation in the radio state machine).

    Best regards, Håkon

Children
No Data
Related