Radio Configuration

If your project uses smartrf_settings files to configure the radio settings, you can use SysConfig to configure the radio settings. E.g. if you are using an RF Driver project or an EasyLink project, you can use the Custom RF Stack SysConfig view to add settings to smartrf_settings.c/h. In this case, SysConfig can be used instead of SmartRF Studio to configure the RF settings of your project.

Most configurable parameters in the Custom RF Stack view are also found as a configurable parameter in SmartRF Studio. If there is a specific parameter you need documentation about, please check SmartRF Studio or in the CC13x2 CC26x2 SimpleLink Wireless MCU Technical Reference Manual.

In the following sections, rfPacketTx is used as the example, but the instructions are valid for any example project that uses smartrf_settings.c/h to configure the RF settings.

Note

Custom RF Stack configuration in SysConfig will only make changes to smartrf_settings.c/h. Any required changes to your application files you must do on your own.

Open An Example Project

Open the standalone SysConfig tool or a SysConfig-enabled example project (found in the {SDK_INSTALL_DIR}/examples/syscfg_preview folder).

Open the .syscfg file.

Adding RF Settings

In the RF STACKS view, you can add sets of settings for multiple RF stacks. If you’re not using one of the RF stacks, you can use the Custom option to add a direct configuration of the smartrf settings. Press the Plus sign next to Custom to add a configuration of the smartrf settings.

When you open the Custom RF Stack view you will see that the RF settings are divided into modes; Proprietary mode for the 431 - 527 MHz band, Proprietary mode for the 799 - 930 MHz band, BLE mode, IEEE 802.15.4 mode. You can have multiple sets of RF settings defined simultaneously.

../_images/ccs_syscfg.png
  1. Add RF Mode

    Add at least one set of RF Settings in the Custom RF Stacks view. For each mode, you will have to choose the PHY type. Each time an RF Settings mode is added, a box will appear in SysConfig that will allow you to configure the chosen PHY.

  2. Choose PHY Type

    You can choose a preconfigured PHY type, or choose Custom PHY Setting. Each time an RF Settings mode is added, a box will appear in SysConfig that will allow you to configure the chosen PHY. You can have one or more PHY settings for each RF mode.

    ../_images/phy_type.png
  3. Name the Set of RF Settings

    Each set of RF Settings must have a name, which is used when generating every RF driver command. Two different sets of RF Settings can not have the same name. Scroll down to Code Export Configuration and select the desired Symbol Name Generation Method:

    • Legacy - Bare-bones names are generated. You can only have one set of RF Settings with the Legacy name.
    • Automatic - Each object will be given the selected PHY as a suffix.
    • Custom - You can configure the name as you like.

    You can see the generated names in the RF Command Symbols and Other Symbols tabs.

    ../_images/code_export_config.png
  4. Set the PHY Properties

    (For BLE and IEEE 802.15.4 settings you will not get this tab.) In the PHY Properties tab you can set basic properties such as frequency and Tx Power to use, and settings related to packet format such as the sync word.

    Each parameter is more thoroughly explained if you press the small circle with a question mark next to the parameter name.

    Make sure your settings make sense from an RF point of view. Certain parameter combinations will give you a build error. Other will give you a hint to a file where you need to change a different parameter based on your SysConfig parameters. In this case, make sure to comply (as SysConfig will not make this change for you).

    ../_images/phy_properties.png
  5. Set the Link Layer Options

    (For BLE and IEEE 802.15.4 settings you will not get this tab.) In the Link Layer tab you can set packet parameters such as packet length and Rx address to filter on.

  6. The Other Dependencies Tab

    In this tab you can configure options that are defined outside of the RF STACKS view in SysConfig. E.g. the RF Driver is found under the TI DRIVERS view. If you change the RF Driver settings here, you will see your changes reflected in the TI DRIVERS view.

  7. Save the .syscfg file.

  8. Generate the files

    You can see the generated files by clicking the <> symbol. In this example, board.c/h was generated by the “TI DRIVERS” view and smartrf_settings/smartrf_settings.c/h was generated by the “RF Stacks” view.

    ../_images/generated_files_prop.png

    After the build has completed, you will find the generated files in the output folder of your project. In this example, it’s the folder called “Debug” of the rfPacketTx example.

    ../_images/generated_folder_prop.png

    The Radio Settings are shown separately in the generated smartrf_settings.c. In this example, one set of RF Settings was added. These settings are found under a RF Setting header.

    Listing 37. smartrf_settings.h - RF Setting Header
    //*********************************************************************************
    //  RF Setting:   50 kbps, 2-GFSK, 25 kHz deviation
    //
    //  PHY:          2gfsk50kbps
    //  Setting file: setting_tc106.json
    //*********************************************************************************
    
  9. Adjust Your Application Files

    The names of RF objects have been generated according to the naming rules chosen in Code Export Configuration. Make sure your application is using the correct name whenever an RF object is used.

    In this example, RF objects are only called from rfPacketTx.c. For each RF object, make sure the name is correct according to the RF Settings you have generated. This is also valid if your application uses multiple sets of RF Settings. Use build errors and warnings to make sure you are using the correct names.

    Attention

    Whenever you re-build the project, SysConfig will re-generate the files. Because of this, any changes made directly in the files (smartrf_settings.c/h) will be overwritten and lost.