Runtime Configuration
The runtime configuration API allows applications to change their runtime configuration directly, without going through the Configuration models.
Bluetooth mesh nodes should generally be configured by a central network configurator device with a Configuration Client model. Each mesh node instantiates a Configuration Server model that the Configuration Client can communicate with to change the node configuration. In some cases, the mesh node can’t rely on the Configuration Client to detect or determine local constraints, such as low battery power or changes in topology. For these scenarios, this API can be used to change the configuration locally.
API reference
- group bt_mesh_cfg
Runtime Configuration.
Defines
-
BT_MESH_KR_NORMAL
-
BT_MESH_KR_PHASE_1
-
BT_MESH_KR_PHASE_2
-
BT_MESH_KR_PHASE_3
-
BT_MESH_RELAY_DISABLED
-
BT_MESH_RELAY_ENABLED
-
BT_MESH_RELAY_NOT_SUPPORTED
-
BT_MESH_BEACON_DISABLED
-
BT_MESH_BEACON_ENABLED
-
BT_MESH_GATT_PROXY_DISABLED
-
BT_MESH_GATT_PROXY_ENABLED
-
BT_MESH_GATT_PROXY_NOT_SUPPORTED
-
BT_MESH_FRIEND_DISABLED
-
BT_MESH_FRIEND_ENABLED
-
BT_MESH_FRIEND_NOT_SUPPORTED
-
BT_MESH_NODE_IDENTITY_STOPPED
-
BT_MESH_NODE_IDENTITY_RUNNING
-
BT_MESH_NODE_IDENTITY_NOT_SUPPORTED
Enums
Functions
-
void bt_mesh_beacon_set(bool beacon)
Enable or disable sending of the Secure Network Beacon.
- Parameters
beacon – New Secure Network Beacon state.
-
bool bt_mesh_beacon_enabled(void)
Get the current Secure Network Beacon state.
- Returns
Whether the Secure Network Beacon feature is enabled.
-
int bt_mesh_default_ttl_set(uint8_t default_ttl)
Set the default TTL value.
The default TTL value is used when no explicit TTL value is set. Models will use the default TTL value when bt_mesh_msg_ctx::send_ttl is BT_MESH_TTL_DEFAULT.
- Parameters
default_ttl – The new default TTL value. Valid values are 0x00 and 0x02 to BT_MESH_TTL_MAX.
- Return values
0 – Successfully set the default TTL value.
-EINVAL – Invalid TTL value.
-
uint8_t bt_mesh_default_ttl_get(void)
Get the current default TTL value.
- Returns
The current default TTL value.
-
void bt_mesh_net_transmit_set(uint8_t xmit)
Set the Network Transmit parameters.
The Network Transmit parameters determine the parameters local messages are transmitted with.
See also
- Parameters
xmit – New Network Transmit parameters. Use BT_MESH_TRANSMIT for encoding.
-
uint8_t bt_mesh_net_transmit_get(void)
Get the current Network Transmit parameters.
The BT_MESH_TRANSMIT_COUNT and BT_MESH_TRANSMIT_INT macros can be used to decode the Network Transmit parameters.
- Returns
The current Network Transmit parameters.
-
int bt_mesh_relay_set(enum bt_mesh_feat_state relay, uint8_t xmit)
Configure the Relay feature.
Enable or disable the Relay feature, and configure the parameters to transmit relayed messages with.
Support for the Relay feature must be enabled through the
CONFIG_BT_MESH_RELAY
configuration option.See also
- Parameters
relay – New Relay feature state. Must be one of BT_MESH_FEATURE_ENABLED and BT_MESH_FEATURE_DISABLED.
xmit – New Relay retransmit parameters. Use BT_MESH_TRANSMIT for encoding.
- Return values
0 – Successfully changed the Relay configuration.
-ENOTSUP – The Relay feature is not supported.
-EINVAL – Invalid parameter.
-EALREADY – Already using the given parameters.
-
enum bt_mesh_feat_state bt_mesh_relay_get(void)
Get the current Relay feature state.
- Returns
The Relay feature state.
-
uint8_t bt_mesh_relay_retransmit_get(void)
Get the current Relay Retransmit parameters.
The BT_MESH_TRANSMIT_COUNT and BT_MESH_TRANSMIT_INT macros can be used to decode the Relay Retransmit parameters.
- Returns
The current Relay Retransmit parameters, or 0 if relay is not supported.
-
int bt_mesh_gatt_proxy_set(enum bt_mesh_feat_state gatt_proxy)
Enable or disable the GATT Proxy feature.
Support for the GATT Proxy feature must be enabled through the
CONFIG_BT_MESH_GATT_PROXY
configuration option.Note
The GATT Proxy feature only controls a Proxy node’s ability to relay messages to the mesh network. A node that supports GATT Proxy will still advertise Connectable Proxy beacons, even if the feature is disabled. The Proxy feature can only be fully disabled through compile time configuration.
- Parameters
gatt_proxy – New GATT Proxy state. Must be one of BT_MESH_FEATURE_ENABLED and BT_MESH_FEATURE_DISABLED.
- Return values
0 – Successfully changed the GATT Proxy feature state.
-ENOTSUP – The GATT Proxy feature is not supported.
-EINVAL – Invalid parameter.
-EALREADY – Already in the given state.
-
enum bt_mesh_feat_state bt_mesh_gatt_proxy_get(void)
Get the current GATT Proxy state.
- Returns
The GATT Proxy feature state.
-
int bt_mesh_friend_set(enum bt_mesh_feat_state friendship)
Enable or disable the Friend feature.
Any active friendships will be terminated immediately if the Friend feature is disabled.
Support for the Friend feature must be enabled through the
CONFIG_BT_MESH_FRIEND
configuration option.- Parameters
friendship – New Friend feature state. Must be one of BT_MESH_FEATURE_ENABLED and BT_MESH_FEATURE_DISABLED.
- Return values
0 – Successfully changed the Friend feature state.
-ENOTSUP – The Friend feature is not supported.
-EINVAL – Invalid parameter.
-EALREADY – Already in the given state.
-
enum bt_mesh_feat_state bt_mesh_friend_get(void)
Get the current Friend state.
- Returns
The Friend feature state.
-
BT_MESH_KR_NORMAL