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: rxPacketErrorRate build fails with RTOS, builds clean without RTOS

Part Number: LAUNCHXL-CC1310
Other Parts Discussed in Thread: CC1310

Tool/software: TI-RTOS

I'm using CCS for MacOS, importing the example project through TIREX.  rfPacketErrorRate_CC1310_LAUNCHXL_nortos_ccs builds cleanly out of the box but rfPacketErrorRate_CC1310_LAUNCHXL_tirtos_ccs fails with many errors in rx.c and tx.c on statements like 

RF_pCmdPropRadioDivSetup_fsk->txPower   = RF_TxPowerTable_findValue((RF_TxPowerTable_Entry *)PROP_RF_txPowerTableREEU, 25).rawValue;

Each of those statements generates 3 errors:

#156 expression must have struct or union type
#18 expected a ")"
#29 expected an expression

and the following warning:

#225-D function "RF_TxPowerTable_findValue" declared implicitly

The indexer can't seem to find the declarations involved, and the include browser can't seem to find many header files -- perhaps because the #include statements require macro expansion?

Any help appreciated!

  • Hello Rich,

    please always give some details regarding your environment like:
    compiler version,
    simplelink_cc13x0_sdk, CCS versions
    to setup a common ground for both parties.
    Help me so I could help you.

    I am using:
    compiler TI v18.1.1.LTS,
    simplelink_cc13x0_sdk_2_10_00_36\
    CCSv7.4
    and in both cases of nortos and rtos I can build projects without errors.

    Are you sure that RF_TxPowerTable_findValue calls occures within rx.c?

    The warning you have cited above: #225-D function "RF_TxPowerTable_findValue" declared implicitly
    is meaningful!

    Your compiler does not find the definition of RF_TxPowerTable_findValue
    and based on the C language standard supported by your compiler version,
    and based on the C language standard support selected within your project properties,
    the compiler "probably" assumes that RF_TxPowerTable_findValue is a function which has
    two int argument and returns int.
    Assuming that returned value is int, there is no glue to add ".rawValue" after that and obtain :
    #156 expression must have struct or union type
    #18 expected a ")"
    #29 expected an expression
    typical syntax errors.

    RF_TxPowerTable_findValue is not a function but a macro
    and in case of simplelink_cc13x0_sdk_2_10_00_36
    it has definition within the following headers:
    1) \source\ti\blestack\hal\src\target\_common\rf_api.h
    2)\source\ti\drivers\rf\RF.h
    3) \source\ti\ti154stack\hal\src\target\_common\rf_api.h

    In your case I would do like this:
    1) compare include files for tx.c in both the rtos and the nortos cases
    2) compare include paths both the rtos and the nortos cases
    3) compare preprocessor file listing for both of the above to find a missing header file (3 options and one is evident for first shoot ! )

    I cannot recreate you environment!
    I tried to give you a fishing rod.

    Fix the rest of oddities yourself and mark your issue as resolved.