NRF52 - ESB - Receiving duplicate packets

We are having some issues with ESB, it seems the automatic ACKs are not working properly and we get spammed with a lot of duplicates.

We believe the issue is because we start some function immediately when NRF_ESB_EVENT_RX_RECEIVED is triggered and because of this it doesn't have time to send an ACK.

How can we delay without blocking the CPU before starting our function?

This seems to work but is it the best way?

//event triggered

for(int i=0; i<50; i++){
nrf_delay_us(10);
}

//start function

Parents Reply
  • Sorry, that is not possible. If you have specific questions I can answer them, but in terms of software development you will need to use the example as starting point and develop you own project. Personally I would have considered using the first 1-2bytes as a header for the application, e.g. information about what packet this was in a sequence of x packets etc. But I don't have any example or guidance on how this can be done in specific no.

    Kenneth

Children
Related