ack payloads?

hi all, as one of my first post, I would like to ask about the "advantages" of the ack payload"technique".
well I don't really know what ack payload is and if you have any simple explanation regarding this matter.
please share.
and also do you have any pdf,links,tutorials, reagarding about "using" this type of technique in a code. I'll greatly appreciate it .

thank you

Are you asking about nRF24L01 and its cousins?

If so, ack payload allows sharing so that one transmission serves two purposes. You get an ack and a data payload for the "cost" of a single transmission. The overhead, such as address, data length, CRC, gets sent once instead of twice. Some of the delay times are eliminated as well, allowing a saving in time. The disadvantage is that you have to know the data and have it ready to go BEFORE the ack is needed.

Whether you can do this in software and how to do this may depend upon what library you use. Many nRF24L01 libraries share names but may have functional differences.

There is a simple example here Simple nRF24L01+ 2.4GHz transceiver demo.

The examples mention something else that I should have pointed out: another advantage of an ack payload is that it avoids the need for the transmitter and receiver to overtly swap roles and then swap roles back again.

A disadvantage mentioned is that an ack payload is limited to 32 bytes or less.

vaj4088:
A disadvantage mentioned is that an ack payload is limited to 32 bytes or less.

All nRF24 messages have a max size of 32 bytes

...R

Yes, but larger messages can be broken up into multiple messages. An ack payload would not make sense to be broken up into multiple messages because this would then take multiple acks.

vaj4088:
Yes, but larger messages can be broken up into multiple messages. An ack payload would not make sense to be broken up into multiple messages because this would then take multiple acks.

Yes and no.

I think if I had an application which would benefit from using ackPayload and which needed payloads bigger than 32 bytes then I would arrange for my master to make several calls to the slave to get all the pieces. That's not significantly different from what you need to do to send a message in several pieces.

Another option would be for the master to send a short message so the slave knows it is authorized to send a long message that the master will be listening for. Or just swap the roles of master and slave.

I guess a lot depends on what sort of data is being transmitted.

...R