I am using the TMRh20 library for nrf24 and there are some methods, I didn't understand their main purpose, advantage and usage. I will be very happy if you help me to understand these codes better. I checked the internet but I cannot find the an exact answer for my questions.
What is the purpose and usage of setPALevel in nrf24 ? and if I change the RF24_PA_MIN to RF24_PA_MAX, I get better performance on the wireless communication ?
What is the purpose and usage of setDataRate in nrf24 ?
radio.setDataRate(RF24_250KBPS); // reducing bandwidth
If I increase the RF24_250KBPS to RF24_1MBPS or RF24_2MBPS , is it increasing the performance of the nrf24 module's wireless communication between transmitter and receiver ? thank you.
Why these codes are needed in the setup section with which way I can increase the performance of my nrf24 ?
radio.setAutoAck(1); // Ensure autoACK is enabled
radio.setRetries(2,15); // Optionally, increase the delay between retries & # of retries
radio.setCRCLength(RF24_CRC_8); // Use 8-bit CRC for performance
Apart from these, I have another very important question. When I keep the receiver code short then the execution of commands ,that are listened from transmitter, is very fast and happens in time.
However, when I write lot's of code on the receiver sketch of Arduino, then there are some 1 or 2 seconds delays to execute the commands that are sent from the transmitter to the receiver for the robot which ,for example, from transmitter I send the some commands to make robot move but because of the reasons I mentioned above, robot starts moving after some delay. So, is there any way to lower this 1-2 second delays when we use nrf24 ? thank you.