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.

LAUNCHXL-CC1352P: RF_runCmd

Part Number: LAUNCHXL-CC1352P

/* Send packet */
RF_EventMask terminationReason = RF_runCmd(rfHandle, (RF_Op*)&RF_cmdIeeeTx_ieee154_1,RF_PriorityNormal, NULL, 0);

This is from an example. Instead of continuing the loop, the firmware app always gets stuck... but I am not able to enter the function and discover the reason. How do I activated the ¿indexer? ?

What conditions should be put as parameters in order to unblock the function?

Thank you. 

  • Hello carles,

    RF_runCmd() does not fully support IEEE commands, please try using RF_runScheduleCmd() instead. 

    https://e2e.ti.com/support/wireless-connectivity/zigbee-and-thread/f/158/t/780211
    https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/777749 

    Regards,
    Ryan

  • Now I am able to transmit a packet every 5 seconds... the very same packet every 5 seconds. With this code. 8308.rar

    However, there are some things that I do not understand. 

    switch(terminationReason)
    {
    case RF_EventLastCmdDone:
    // A stand-alone radio operation command or the last radio
    // operation command in a chain finished.
    break;
    case RF_EventCmdCancelled:
    // Command cancelled before it was started; it can be caused
    // by RF_cancelCmd() or RF_flushCmd().
    break;
    case RF_EventCmdAborted:
    // Abrupt command termination caused by RF_cancelCmd() or
    // RF_flushCmd().
    break;
    case RF_EventCmdStopped:
    // Graceful command termination caused by RF_cancelCmd() or
    // RF_flushCmd().
    break;
    case RF_EventLastFGCmdDone :
    ///< A stand-alone IEEE-mode radio operation command or the last command in a chain finished.
    break;
    default:
    // Uncaught error event
    break;
    //while(1);

    }

    uint32_t cmdStatus = ((volatile RF_Op*)&RF_cmdIeeeTx_ieee154_1)->status;
    switch(cmdStatus)
    {
    case PROP_DONE_OK:
    // Packet transmitted successfully
    break;
    case PROP_DONE_STOPPED:
    // received CMD_STOP while transmitting packet and finished
    // transmitting packet
    break;
    case PROP_DONE_ABORT:
    // Received CMD_ABORT while transmitting packet
    break;
    case PROP_ERROR_PAR:
    // Observed illegal parameter
    break;
    case PROP_ERROR_NO_SETUP:
    // Command sent without setting up the radio in a supported
    // mode using CMD_PROP_RADIO_SETUP or CMD_RADIO_SETUP
    break;
    case PROP_ERROR_NO_FS:
    // Command sent without the synthesizer being programmed
    break;
    case PROP_ERROR_TXUNF:
    // TX underflow observed during operation
    break;
    default:
    // Uncaught error event - these could come from the
    // pool of states defined in rf_mailbox.h

    break;
    //while(1);
    }

    However, I simply ignore that the terminationReason and the status return... Another question that assaults me is that I am not able to receive these packets with another launchpad... I guess that this is related to the sequence number... could it be that the receiving launchpad discards packets that are identical...

    Thank you again. 

  • We can continue this conversation from your new E2E post: e2e.ti.com/.../1002903

    Regards,
    Ryan