NRF24L01+ two way communication

To achieve two way communication with NRF24L01+ modules, there are basically two ways:

1. Switch the role of PRX and PTX when it’s necessary, delay, idle time etc. need to be managed accordingly (may be tricky when complex and reliable communication protocol is to be implemented).
2. use ACK with PAYLOAD feature with Enhanced ShockBurst.
The drawback with this one is that since PRX won’t know what the ACK Payload should be before the MCU can download and handle the data from PTX, so that the Payload in ACK will be one package after the correct package. However, with proper protocol it could be usable.
Later I will investigate both the solutions and see which is easier to be implemented and which has the better performance regarding the communication speed.