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-CC1310: cc1310 Easylink_abort() pending problem

Part Number: LAUNCHXL-CC1310

Tool/software: TI-RTOS

We are currently testing the following:

1. It operates as two nodes and one concentrator.
2. The configuration of each node is as follows.
    
     (no. 1)
      source addr: 0xaa
      destination addr: 0x00
     
     (No.2)
      source addr: 0xbb
      destination addr: 0x11

3. The configuration of the concentrator is as follows.

ConcentratorAddress: 0x00
       EasyLink_enableRxAddrFilter (& concentratorAddress, 1, 1)
      

4. I have configured the button interrupt.
   If ConcentratorChangeFilter function is called through an interrupt in concentratortask.c After stopping the current EasyLink_receiveAsync (rxDoneCallback, 0) After changing EasyLink_enableRxAddrFilter (0x00 -> 0x11 or 0x11 -> 0x00) Call EasyLink_receiveAsync (rxDoneCallback, 0) again.


==== ConcentratorChangeFilter Fucntion======
  
void ConcentratorChangeFilter (void)
 {
    EasyLink_abort ();

    if (chgFlag == 0)
    {
      ConcentratorAddress = RADIO_CONCENTRATOR_ADDRESS_TWO;
      EasyLink_enableRxAddrFilter (& concentratorAddress, 1, 1);
      chgFlag = 1;
    }
    else if (chgFlag == 1)
    {
      ConcentratorAddress = RADIO_CONCENTRATOR_ADDRESS_ONE;
      EasyLink_enableRxAddrFilter (& concentratorAddress, 1, 1);
      chgFlag = 0;
    }
    if (EasyLink_receiveAsync (rxDoneCallback, 0)! = EasyLink_Status_Success) {
        System_abort ("EasyLink_receiveAsync failed");
    }
}


There is a problem here.
When I performed the actual operation, I found that it stopped at RF_pendCmd.

I do not understand the similar posts on other forums.

Why does EasyLink_receiveAsync not stop? 

Could you explain in detail?

thanks

  • Hello Kim,
    I am a bit confused. You said you had 2 nodes and 1 concentrator. But in your explanation and within your code, there are two destination addresses or concentrator addresses. Can you describe more on what exactly are you trying to achieve.
    The reason that it is stuck in RF_pendCmd is that it is waiting for a packet to be received for a address (on a second concentrator) that does not exist and is stuck there forever.
    Regards,
    Prashanth