We are testing a custom frequency hopping technique and are using these commands to change the Tx frequency before sending out a packet. As a test, we run the system with 24 transmits at 923 MHz and then switch to 907 before transmitting another packet. When we have no Task_sleep() after the call to set the frequency, the frequency actually transmits at a different frequency, not 907. Adding just 10 mS seems to be enough time for the CC1310 receiver to get the full packet and respond. So I am assuming it takes some time for the transmitter CPU to change the frequency.
My question: Is there a way to determine when the frequency change is complete (frequency has stabilized)? For example, is there a function call or a register that can be read to determine when it is safe to send the packet?
RF_cmdFs.frequency=907;
RF_runCmd(rfHandle, (RF_Op*)&RF_cmdFs, RF_PriorityNormal, &callback, 0);//Set frequency
Task_sleep(SLEEP_FOR_10MS);
RF_runCmd(rfHandle, (RF_Op*)&RF_cmdPropTxAdv, RF_PriorityNormal, NULL, 0); //Send a packet