BLE Mesh SysConfig Features

Note

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

BLE Mesh Configuration

The following is a high level overview of the relevant files generated by Sysconfig and their contents.

File

Description

ti_ble_config.c/h

Contains BLE stack defines (conn interval, slave latency, timeout, etc)

ti_ble_mesh_config.h

Contains Mesh stack defines (key information, buffer size, node specific defines)

ti_ble_mesh_prov_data.h

Contains device information used during provisioning (i.e. UUID)

ti_device_composition.c/h

Contains model definitions, element composition data

When opening the BLE tab (under RF Stacks) you will see the option to enable mesh:

../_images/syscfg_initialSelection.png

Figure 139. Option to Enable Mesh

Once selected, multiple sections related to BLE mesh will appear, and any sections that are not applicable to the mesh configuration will disapear.

The most immediate item that will be encountered is the choice of application type. Here, the project can be configured to support a normal BLE peripheral configuration on top of the mesh configuration. Additionally, this peripheral configuration can be made to allow Over the Air Download(OAD) to this device.

BLE Mesh Node Type Features

The following section describes the supported node features, along with additional configuration options for the node.

../_images/syscfg_nodeTypes.png

Figure 140. Node Type Configuration

Inside the BLE Mesh - Configure BLE Mesh tab shown above, 3 options are given to configure your mesh node.

Feature

Description

Use NV

Allow mesh node state and configuration data to be stored persistently in flash

Use Extended Advertising

Enable the use of Extended Advertisement payloads within the mesh network

Static Provisioning

Allow the mesh node to provision itself using pre-configured provisioning data

The various node types can also be selected for the device. A device can choose to support none of these features, or can support numerous different combinations of them.

Any combination of Relay, Proxy, and Friend are possible, but keep in mind that a node that is considered a Low Power Node may not support any of the other features.

When either the Friend or Low Power node type are selected, additonal options will appear to allow additional configuration for that specific node type, such as timing parameters for Low Power Nodes, or how many Low Power Nodes a Friend Node will be supporting.

Layer-Specific Configuration

Many of the configuration options for BLE mesh have been seperated based on which layer of the protocol stack they affect. This way it is more apparent which component of the protocol you can expect to see the change in.

../_images/stack_layers.png

Figure 141. Layers of the BLE mesh protocol

Starting from the lowest layer, we can look towards the Provisioning Configuration section to make changes that affect the bearer level. Namely, the device can be set to act as a PB-ADV bearer or PB-GATT bearer. This will affect how provisioning is handled in regards to the specific node.

The network layer configuration allows changes to be made that affect how the specific node interacts with the network, and what limitations there may be to that interaction.

The transport layer has many opportunities for optimization based on the specific use case. Many of the configurables contained here have tradeoffs between memory and performance, so be sure to spend time considering what is best for the use case.

The model layer has options pertaining to the model and their relationship with other pieces of the project such as the access layer or the application.

Data Configuration

The provisioning data configuration section allows callback functions to be set for the various stages of provisioning, along with several other provisioning properties. Utilizing these callbacks can allow for a very granular control over when specific events occur.

Additionally, this section also allows customization of the UUID, which can be seen when the node is advertising as an unprovisioned node.

The device composition data allows the addition of whatever elements and models are needed for the node. The basic identification information will be set here, as well as the configuration for the foundational models.

This section can also be utilized to add additional elements or to add more models to a specific element. The models can be configured to be generic ones defined by the Bluetooth SIG or vendor-specific ones tailored to the specific use case.

../_images/node_element.png

Figure 142. An element configured with 2 models