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/CC1310: Change Frequency returns EasyLink_Status_Busy_Error

Part Number: CC1310

Tool/software: TI-RTOS

The status is always returned as busy and the frequency does not change. What can I do in MY SOURCE file to prepare for a frequency change. "busyMutex" is declared as static in EasyLink.c. I need to be able to change frequency on the fly.

In my source file:

EasyLink_Status el_status;

LearnMode=TRUE;

el_status = EasyLink_setFrequency(LEARN_FREQUENCY); ///

In EasyLink.c:

EasyLink_Status EasyLink_setFrequency(uint32_t ui32Freq)
{
EasyLink_Status status = EasyLink_Status_Cmd_Error;
//uint64_t ui64FractFreq;

if(!configured)
{
return EasyLink_Status_Config_Error;
}
//Check and take the busyMutex
if(Semaphore_pend(busyMutex, 0) == FALSE)
{
return EasyLink_Status_Busy_Error;
}

/* Set the frequency */
EasyLink_cmdFs.frequency = (uint16_t)(ui32Freq / 1000000);

  • Can you check if the EasyLink_init() has been called before calling EasyLink_setFrequency()
    Please refer to this related thread
    e2e.ti.com/.../2096905
    Regards,
    Prashanth
  • I will look at the thread.

    How I test this is I work the device in normal operation mode first to verify operation then I attempt to change the frequency. The fact that everything works fine prior to the frequency change is proof that EasyLink_init() has been called. I even tried proceeding the EasyLink_setFrequency() with EasyLink_abort() and/or EasyLink_init() and I just get variations of it no working or getting hung.