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

About ESB sending failure...

Hello,

I used to send it successfully on nRF52810.

Two chips, one as the master and one as the slave.

Using SDK15.2.0

Now, I want to port to nRF52811

Related header files, I will copy from SDK15.3.0/components/proprietary_rf/esb

In addition, I still use Timeslot (BLE+ESB)

The current situation is that the callback function always reminds me "NRF_ESB_EVENT_TX_FAILED"

If there is no ESB slave around, will this happen?

In addition, there are other situations where the same problem will occur? In the nRF52810 test, there are successes and failures.

Thanks.

Parents
  • Hi 

    Are you using ACK, or sending packets with the noack feature set?

    If so it sounds normal that you should get the TX FAILED interrupt when there is no slave around. 

    Is the data transmission working properly when you have a slave nearby?

    Best regards
    Torbjørn

  • Hi,

    Thank you for your reply.

    I am sorry, I forgot to change the function of the PA chip, it should be the state of the PA off,

    equivalent to no ESB slave around.

    It's run successfully now

    I want to ask another question.

    Should ack be the answer mode?

    Can turning off ack increase the throughput?

    last question

    I will switch between these two states frequently.

    nrf_esb_config.mode               = NRF_ESB_MODE_PTX; 

    nrf_esb_config.mode               = NRF_ESB_MODE_PRX;

    If I have finished initializing, Next time I want to switch, is it necessary to do some clear?(Ensure that the next initialization is normal)

    Or, I set the mode directly, and then initialize it directly?

    nrf_esb_init(&nrf_esb_config);

    Thank you.

Reply
  • Hi,

    Thank you for your reply.

    I am sorry, I forgot to change the function of the PA chip, it should be the state of the PA off,

    equivalent to no ESB slave around.

    It's run successfully now

    I want to ask another question.

    Should ack be the answer mode?

    Can turning off ack increase the throughput?

    last question

    I will switch between these two states frequently.

    nrf_esb_config.mode               = NRF_ESB_MODE_PTX; 

    nrf_esb_config.mode               = NRF_ESB_MODE_PRX;

    If I have finished initializing, Next time I want to switch, is it necessary to do some clear?(Ensure that the next initialization is normal)

    Or, I set the mode directly, and then initialize it directly?

    nrf_esb_init(&nrf_esb_config);

    Thank you.

Children
Related