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

Modifying queued ESB ACK payload

Hi all, I am using a nRF52 in PTX mode to request a progress status from another nRF52 in PRX mode every two seconds. The PRX is updating its internal status every 0.25 seconds. The PRX updates the ACK payload each time it receives a packet from the PTX, but this means that the status received by the PTX is 2 seconds out of date.

Is it possible to modify the queued ACK payload every time the PRX updates its status, so that the ACK payload is up to date, without risking missing a payload or returning corrupt data if the PRX receives a packet from the PTX while it is modifying the ACK payload?

  • Hi Steve

    I think the easiest way to do this would be to simply flush the TX buffer on the PRX side, and upload the packet again. Then you don't have to make any changes to the library code.

    The more efficient way to do it is just to alter the data in the FIFO directly, but this would require some changes to the library itself since by default you don't have direct access to the FIFO struct. You can use the address match event to ensure that you don't change the FIFO too late (before this event occurs it is safe to update the FIFO, assuming you only spend a couple of microseconds doing it).

    Best regards
    Torbjørn

Related