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

ESB nRF52 SDK 11

Hello,

I am working with the nRF52 DK, SDK 11 and especially with the ESB protocoll. I started with the provided example esb_low_power_ptx/prx.

  1. In the documentation is written the following:

"Note that this TX packet must have been uploaded to the TX FIFO before the packet is received."

When I looked into the code and I received a message the the nrf_esb_event_handler()-function is called. At the very end of the function payload data is loaded into the tx buffer. According to the documentation it is actually to late, because the packet is already received. How it is possible yet to attach the payload to the ACK?

  1. In the documentation it is written it is possible to have up to 256 Byte payload (nrf52). Same payload length I have in ACK?

Thanks in advance,

Florian

Parents
    1. The ACK-with-payload packets are sent out of sync in this example. If you notice in the main() function, the first payload is added to the tx_buffer here. In this way the tx_buffer is kept at one packet always, and on rx_event 2 you will transmit the packet added to fifo on rx_event 1.

    2. I believe the max payload length is 252 bytes. According to the ESB User guide in the doc: ESB User guide (Do a Ctrl-F search for "252") This works for static payloadlength only, max dynamic payload length is 32

    1. Ah ok, so it is correct the payload for the ACK has to be loaded into the buffer before a message is received? It is not possible to load payload into the buffer after a message is received? There is no possibility to delay the ACK?

    2. I need to do a broadcast to several PRX devices. Is it possible to send the broadcastpacket, switch from PTX mode to PRX mode. If the PRX has received the packet, it switches from PRX to PTX to send a packet with payload?

Reply
    1. Ah ok, so it is correct the payload for the ACK has to be loaded into the buffer before a message is received? It is not possible to load payload into the buffer after a message is received? There is no possibility to delay the ACK?

    2. I need to do a broadcast to several PRX devices. Is it possible to send the broadcastpacket, switch from PTX mode to PRX mode. If the PRX has received the packet, it switches from PRX to PTX to send a packet with payload?

Children
No Data
Related