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

How many and which pipe nRF24LU1 set default enable?

Hi. I have one question: From SDK and docs, I can find how many pipes and which pipe nRF24LU1 open when it is TX. I check function:

void hal_nrf_open_pipe(hal_nrf_address_t pipe_num, bool auto_ack);

from commment, it can be used to set numbers of pipes open, but is there any function to open someone pipe? such as open pipe 0, open pipe 1.

If I only want to open pipe 3, how can I do in nRF24LU1?

  • There is only one pipe for TX transmitting, this stated in the nRF24LU1+ spec: "On the PTX the TX_ADDR must be the same as the RX_ADDR_P0 and as the pipe address for the designated pipe"

    If you are talking about PRX, you call hal_nrf_open_pipe() for each of the pipe you want to open.

  • yes, I means PRX, I want to know:

    1. if I only use default settings in PRX without hal_nrf_open_pipe, which pipes will be listening? all pipes?
    2. if I use hal_nrf_open_pipe to enable someone pipe, like pipe 5, nRF24 can only listen pipe 5? Plz help me . Thanks.
  • @Chaw: Have you checked out the product spec of the nRF24LU1 ? You can find the the EN_RXADDR register at page 57 (section 6.6). If you want to enable a pipe you set the according bit in the register. By default pipe 1 and pipe 0 is enabled. You can disable them by set the bit to 0.

    You can also have a look inside the source code of the hal_nrf_open_pipe() to see how it works. It's in hal_nrf.c

Related