Tool/software:
Hi all!
Within the framework of a proprietary project, I use the NOP command.
The Technical Reference Manual (JANUARY 2018 – REVISED JUNE 2024) says that "The command can be used to test the communication between the system CPU and the radio CPU or to insert a wait."
I put this NOP command at the beginning of the chain of RF_cmdPropXXAdv commands:
RF_cmdNop.startTrigger.triggerType = TRIG_ABSTIME;
RF_cmdNop.startTrigger.pastTrig = 1;
RF_cmdNop.startTime = USEC_2_RAT_TICKS(1000000);
RF_cmdNop.condition.rule = COND_ALWAYS;
RF_cmdNop.pNextOp = (rfc_radioOp_t *) &RF_cmdPropXXAdv;
RF_cmdPropXXAdv.startTrigger.triggerType = TRIG_REL_FIRSTSTART;
RF_cmdPropXXAdv.startTime = 600; // means 150 us since NOP cmd starts
RF_cmdPropXXAdv.startTrigger.pastTrig = 1;
RF_cmdPropXXAdv.condition.rule = COND_ALWAYS;
RF_cmdPropXXAdv.pNextOp = (rfc_radioOp_t *) &RF_cmdPropYYAdv;
etc...
...
And every time the chain is completely executed, I adjust the "start" parameter of this command:
RF_cmdNopFG.startTime += 8000; // i.e. 2000 us
and restart chain by posting RF_cmdNop:
RF_postCmd(rfHandle, (RF_Op *) &RF_cmdNopFG, RF_PriorityNormal, RXEchoCallback, PROP_DONE_OK | PROP_DONE_RXTIMEOUT);
I noticed that the NOP command requires from 325 to 4000 ticks to execute.
Hence two questions:
- is the execution time of NOP command must be constant or near some specific value?
- if the execution time of NOP command increases, what could be the reason for that strange behavior?
Please assist