ESB. It is not possible to change the load of ACK on PRX.

PTX transmits data to PRX every second. The PRX should attach the payload to each ACK using nrf_esb_write_payload. In debugging on PRX, I see that the data is different every time. But the PTX receives data that was uploaded to the ASK for the first time.
That is, it turns out that after the first use of nrf_esb_write_payload on the PRX, it is impossible to change this data during subsequent transmissions.
If I do nrf_esb_flush_tx() on the PRX, it sends a normal ASK without load. As soon as I use nrf_esb_write_payload, the load that was at the very first call to nrf_esb_write_payload will be attached to the ASK.

Parents
  • Hi,

     

    The ACK payload is sent back when the PRX receives a payload. This means that the ACK payload must be pre-loaded on the PRX side, if not, you will have to do something like this:

    1. PTX sends "prepare ack payload"

    2. PRX receives payload, and uploads using nrf_esb_write_payload

    3. PTX sends "dummy" payload

    4. PRX sends ACK payload back to PTX.

     

    Kind regards,

    Håkon

Reply
  • Hi,

     

    The ACK payload is sent back when the PRX receives a payload. This means that the ACK payload must be pre-loaded on the PRX side, if not, you will have to do something like this:

    1. PTX sends "prepare ack payload"

    2. PRX receives payload, and uploads using nrf_esb_write_payload

    3. PTX sends "dummy" payload

    4. PRX sends ACK payload back to PTX.

     

    Kind regards,

    Håkon

Children
Related