This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RTOS/LAUNCHXL-CC2650: CC2650: How to Switching between RX and TX and the switching time.

Part Number: LAUNCHXL-CC2650
Other Parts Discussed in Thread: CC2650, CC2500, CC2510

Tool/software: TI-RTOS

i use the CC2650 to design a Half-duplex FHSS Communication,so i need to switch between Tx and Rx and change the Frequency every 3ms.

i try to use the API:

RF_postCmd(handle,(RF_Op*)&RF_cmdFs, RF_PriorityNormal,NULL, 0)      // change the Frequency 

RF_postCmd(handle,(RF_Op*)&RF_cmdPropRx, RF_PriorityNormal,&RF_callback, IRQ_RX_ENTRY_DONE)      // change the Frequency

Sometimes it works normally, sometimes it's error, i can't find the driver about switch TX/RX and change the Frequency  from TI, does anyone can share a driver about this that has been tested?

help!

  • Hello,

    After issuing command to change frequency, it takes ~300uS to change frequency on CC2650. When using the RF_postCmd, the function does not wait for completion of command. If RX or TX command is issued before CMD_FS has completed, it might result in error. You could either use RF_runCmd instead of RF_postCmd for changing frequency and this will not return until the command execution is complete. Alternately, checking the status on CMD_FS to ensure that the command execution is complete before issuing the RX or TX command can also help.

    Regards,
  • hello SVS,

    i operate the RF in a time callback :

    T0:start to change the Frequency  :RF_postCmd(rfhandle,RF_Op*)&RF_cmdFs,RF_PriortyNormal,NULL,0);

    T1:start to open Rx                           :RF_postCmd(rfhandle,RF_Op*)&RF_cmdPropRx,RF_PriortyNormal,&rfcall_back,IRQ_RX_ENTRY_DONE);

    T2: do nothing

    T3: start to Tx                                     :RF_postCmd(rfhandle,RF_Op*)&RF_cmdPropTx,RF_PriortyNormal,&rfcall_back,IRQ_RX_ENTRY_DONE);

    T0~T1: 300us

    T1~T2:4200us

    T2~T3:200us

    T3~T0:2300us

    when i use RF_runCmd(); it will enter :

     i want to know how can i change the Frequency and switch the Tx/Rx successfully?  can you show me the code?

    (We successfully implemented this communication protocol with stm32 + CC2500 and CC2510 for several years)

  • Please help!

    thanks a lot...