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

NRF24LE1 seems to be halt when two or more PRX exist

I develop with nRFgo SDK 2.3.0.10040.

Normally PRX can communicate with PTX by auto ACK, but when there are two or more PRXs with same configuration exist, once PTX sends package continually, NRF_ISR() in PRXs will soon be out of work, no more RF interrupt happen.

Questions: 1.Can PRX identify received package is auto ACK or not? If not, then PRXs will send auto ACK back to each other? 2.Why auto ACK don't work after calling "hal_nrf_enable_dynamic_ack(true)" in PRX?

  • Hi

    If you want to send a packet to more than one PRX at the same time you have to disable ACK's. Otherwise you will have issues once two or more PRX's try to ACK the same packet.

    If you enable dynamic ACK you can do this dynamically (duh) on the TX side, in case you also want to be able to send packets to a single PRX with ACK's enabled. The critical thing is that you enable dynamic ACK both on the PRX and PTX side, otherwise it will not work properly.

    BR Torbjørn

  • Thank you for your answer.

    "hal_nrf_enable_dynamic_ack(true)" actually enables EN_DYN_ACK which enables the W_TX_PAYLOAD_NOACK command written on page 53 in Product Specification v1.6, it just sets PCF[1]=1, why it will effect auto ACK on PRX side? And W_ACK_PAYLOAD command whick upload ACK packet on PRX side is not mentioned in "Figure 9. Automatic packet assembly" on page 26, is that mean auto ACK packet on PRX side is not fit to this packet assembly process?

Related