BLE5-Stack SysConfig Features

Note

Get started with SysConfig provides an overview of what SysCfg is and how to get started with it. Please take a look at this if you have not already.

After importing a BLE5-Stack SysCfg project into CCS, by double clicking on the *.syscfg file, a GUI will appear where the project can be configured more easily. A number of BLE5-Stack configurable features are included in this GUI. Figure 183. shows what this looks like when importing the multi_role example.

../_images/syscfg_after_import.png

Figure 183. After Import

Figure 183. Also shows many different configurable parameters for the project. The first few configurable options inside the Configuration pane are the Role Combination, Bond Manager, GATT Database Off Chip, L2CAP Connection Oriented Channels and Transport Layer options. Figure 184. shows these in the GUI.

../_images/syscfg_first_options.png

Figure 184. First Options

The Role Combination configurable is an example of a drop down list where you can select the specific Role Combination you wish to use. Role Combination refers to the GAP Roles that the project operates as. This can be seen in Figure 185. There are many different options with different input methods available.

../_images/syscfg_role_combinations.png

Figure 185. Role Combinations

When you first open a SysConfig project all of the settings for that project will be at their default values that are known to work with that example. Providing this amount of quick and easy configuration for a project is powerful. However, as we know, with great power comes great responsibility. Any one specific example is not guaranteed to function properly with any and all permutations of the available configurable options. More specifically, BLE5-Stack projects are written to implement one (or more) specific Generic Access Profile (GAP) Role Combinations, so one should not switch this unless you know what you’re doing. As long as the files that are generated from your input compile, the project will build. Whether or not it performs to the same degree depends on what you changed the options to.

Furthermore, the options that are available to modify will depend on the GAP Roles that have been selected. Changing the Role Combination may add or remove options below it. If changing the Role Combination option is required, it is suggested to change this first so that you do not lose any work you have already done below.

../_images/syscfg_generated_files_ble.png

Figure 186. Generated Files

If you click the Generated Files (< >) Figure 186. button at the top of the Configuration pane you will find a list of Generated Files. After selecting a file you will be able, in real-time, to identify how the changes in the GUI effect the generated files. This will help you review the relationship between the GUI and the code.

../_images/syscfg_code_review.png

Figure 187. Code Review

Note

Once changes are made in the GUI and saved, the changes will appear once you open the SysConfig GUI once again.

Additional Configuration Categories

Note

Remember that the following Configuration Categories will depend on the Role Combination (GAP Roles) you’ve chosen. Change Role Combination before changing any of the below options.

General Configurations

../_images/syscfg_general_configurations.png

Figure 188. General Configurations

Advanced Settings

In this category you will find settings that configure the application such as Power Management and Two Button Menu options. You can also configure whether to use RCOSC and/or PTM mode. You will also find ICall options. More information:

  1. Power Management
  2. HAL Assert Handling
  3. Stack Library Configuration
  4. Extended Stack Settings, see 32 Connections Design
  5. GAPBondMgr and SNV
  6. RCOSC: See Running Bluetooth Low Energy on CC2640 Without 32 kHz Crystal
  7. Production and Direct Test Mode (PTM, DTM)
  8. ICall, see: Creating Additional ICall Enabled Tasks

Bond Manager Configurations

These settings control all the bond manager parameters and generate the function
setBondManagerParameters() in ble_config.c. This function sets all the bond manager parameters as configured by SysConfig. setBondManagerParameters() should be called from the main application.
../_images/syscfg_bond_manager_configurations.png

Figure 189. Bond Manager Configurations

Peripheral Configuration

../_images/syscfg_peripheral_configurations.png

Figure 190. Peripheral Configurations

Broadcaster Configuration

../_images/syscfg_broadcaster_configurations.png

Figure 191. Broadcaster Configurations

Central Configuration

../_images/syscfg_central_configurations.png

Figure 192. Central Configurations

Observer Configuration

../_images/syscfg_observer_configurations.png

Figure 193. Observer Configurations

RF Settings

In this view you can configure the front end mode and the bias configuration. This configuration will alter the RF_FE_MODE_AND_BIAS define in ble_config.h.

../_images/syscfg_rf_settings.png

Figure 194. RF Settings

Note

RF Settings in the BLE Configuration view is restricted version of Radio Configuration. If you want the full version of Radio configuration, open the RF STACKS Custom view. This is not recommended for BLE-Stack projects.

In RF Settings you will also find the BLE Radio Configuration view. Some of the configurations made in BLE Radio Configuration Settings will show up in the generated smartrf_settings files and is not applicable for BLE projects. The Other Dependencies -> RF options control arguments in the RF Driver and the Power Driver config in the Board.c file. For normal operation they should be left unchanged.

../_images/syscfg_rf_settings_ble_radio_configuration.png

Figure 195. RF Settings - BLE Radio Configuration