BT Mesh Configuration Task#

BT Mesh Configuration Tasks implement the different configuration procedures to set and get configuration server state of a node.
Each specific configuration task type implements the interface specified in btmesh_conf_task_t structure.

Modules#

btmesh_conf_task_appkey_t

btmesh_conf_task_appkey_list_t

btmesh_conf_task_model_binding_t

btmesh_conf_task_model_bindings_list_t

btmesh_conf_task_model_pub_t

btmesh_conf_task_model_sub_t

btmesh_conf_task_model_sub_clear_t

btmesh_conf_task_model_sub_list_t

btmesh_conf_task_beacon_t

btmesh_conf_task_default_ttl_t

btmesh_conf_task_gatt_proxy_t

btmesh_conf_task_relay_t

btmesh_conf_task_network_transmit_t

btmesh_conf_task_friend_t

btmesh_conf_task_dcd_get_t

btmesh_conf_task_ext_t

btmesh_conf_task_t

Enumerations#

enum
BTMESH_CONF_TASK_ID_APPKEY_ADD
BTMESH_CONF_TASK_ID_APPKEY_REMOVE
BTMESH_CONF_TASK_ID_APPKEY_LIST
BTMESH_CONF_TASK_ID_MODEL_BIND
BTMESH_CONF_TASK_ID_MODEL_UNBIND
BTMESH_CONF_TASK_ID_MODEL_BINDINGS_LIST
BTMESH_CONF_TASK_ID_MODEL_PUB_SET
BTMESH_CONF_TASK_ID_MODEL_PUB_GET
BTMESH_CONF_TASK_ID_MODEL_SUB_ADD
BTMESH_CONF_TASK_ID_MODEL_SUB_SET
BTMESH_CONF_TASK_ID_MODEL_SUB_REMOVE
BTMESH_CONF_TASK_ID_MODEL_SUB_CLEAR
BTMESH_CONF_TASK_ID_MODEL_SUB_LIST
BTMESH_CONF_TASK_ID_BEACON_SET
BTMESH_CONF_TASK_ID_BEACON_GET
BTMESH_CONF_TASK_ID_DEFAULT_TTL_SET
BTMESH_CONF_TASK_ID_DEFAULT_TTL_GET
BTMESH_CONF_TASK_ID_GATT_PROXY_SET
BTMESH_CONF_TASK_ID_GATT_PROXY_GET
BTMESH_CONF_TASK_ID_RELAY_SET
BTMESH_CONF_TASK_ID_RELAY_GET
BTMESH_CONF_TASK_ID_NETWORK_TRANSMIT_SET
BTMESH_CONF_TASK_ID_NETWORK_TRANSMIT_GET
BTMESH_CONF_TASK_ID_FRIEND_SET
BTMESH_CONF_TASK_ID_FRIEND_GET
BTMESH_CONF_TASK_ID_DCD_GET
BTMESH_CONF_TASK_ID_RESET_NODE
BTMESH_CONF_TASK_ID_COUNT
BTMESH_CONF_TASK_ID_INVALID
}

BT Mesh Configuration Task identifiers.

Typedefs#

BT Mesh Configuration Task identifiers.

Union of BT Mesh Configuration Task specific data structures.

Functions#

btmesh_conf_task_create(btmesh_conf_task_id_t task_id)
void
btmesh_conf_task_destroy(btmesh_conf_task_t *self)
sl_status_t
btmesh_conf_task_set_next_unconditional(btmesh_conf_task_t *self, btmesh_conf_task_t *const next_task)
sl_status_t
btmesh_conf_task_set_next_on_success(btmesh_conf_task_t *self, btmesh_conf_task_t *const next_task)
sl_status_t
btmesh_conf_task_set_next_on_failure(btmesh_conf_task_t *self, btmesh_conf_task_t *const next_task)
btmesh_conf_task_appkey_add_create(uint16_t appkey_index, uint16_t netkey_index)
void
btmesh_conf_task_appkey_add_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_appkey_remove_create(uint16_t appkey_index, uint16_t netkey_index)
void
btmesh_conf_task_appkey_remove_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_appkey_list_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_bind_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t appkey_index)
void
btmesh_conf_task_model_bind_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_unbind_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t appkey_index)
void
btmesh_conf_task_model_unbind_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_bindings_list_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
void
btmesh_conf_task_model_pub_set_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t address, uint16_t appkey_index, uint8_t credentials, uint8_t ttl, uint32_t period_ms, uint8_t retransmit_count, uint16_t retransmit_interval_ms)
void
btmesh_conf_task_model_pub_set_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_pub_get_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
void
btmesh_conf_task_model_pub_get_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_sub_add_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
void
btmesh_conf_task_model_sub_add_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_sub_set_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
void
btmesh_conf_task_model_sub_set_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_model_sub_remove_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
void
btmesh_conf_task_model_sub_clear_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
void
btmesh_conf_task_model_sub_list_create(uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
void
btmesh_conf_task_model_sub_list_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_beacon_set_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_beacon_get_destroy(btmesh_conf_task_t *self)
void
void
void
btmesh_conf_task_gatt_proxy_set_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_gatt_proxy_get_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_relay_set_create(uint8_t value, uint8_t retransmit_count, uint16_t retransmit_interval_ms)
void
btmesh_conf_task_relay_set_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_relay_get_destroy(btmesh_conf_task_t *self)
btmesh_conf_task_network_transmit_set_create(uint8_t transmit_count, uint16_t transmit_interval_ms)
void
void
void
btmesh_conf_task_friend_set_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_friend_get_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_dcd_get_destroy(btmesh_conf_task_t *self)
void
btmesh_conf_task_reset_node_destroy(btmesh_conf_task_t *self)

Macros#

#define
BTMESH_CONF_TASK_RESULT_UNKNOWN ((sl_status_t) 0xFFFFFFFF)

BT Mesh Configuration Task result is unknown because it is not finished yet.

Enumeration Documentation#

btmesh_conf_task_id_t#

btmesh_conf_task_id_t

BT Mesh Configuration Task identifiers.

Enumerator
BTMESH_CONF_TASK_ID_APPKEY_ADD

Add application key.

BTMESH_CONF_TASK_ID_APPKEY_REMOVE

Remove application key.

BTMESH_CONF_TASK_ID_APPKEY_LIST

List application keys (all)

BTMESH_CONF_TASK_ID_MODEL_BIND

Bind application key to model.

BTMESH_CONF_TASK_ID_MODEL_UNBIND

Unbind application key to model.

BTMESH_CONF_TASK_ID_MODEL_BINDINGS_LIST

List application keys bound to model.

BTMESH_CONF_TASK_ID_MODEL_PUB_SET

Set model publication data.

BTMESH_CONF_TASK_ID_MODEL_PUB_GET

Get model publication data.

BTMESH_CONF_TASK_ID_MODEL_SUB_ADD

Add address to subscription list of a model.

BTMESH_CONF_TASK_ID_MODEL_SUB_SET

Overwrite existing address in the subscription list of a model.

BTMESH_CONF_TASK_ID_MODEL_SUB_REMOVE

Remove address from the subscription list of a model.

BTMESH_CONF_TASK_ID_MODEL_SUB_CLEAR

Clear addresses from the subscription list of a model.

BTMESH_CONF_TASK_ID_MODEL_SUB_LIST

List addresses in the subscription list of a model.

BTMESH_CONF_TASK_ID_BEACON_SET

Set Beacon.

BTMESH_CONF_TASK_ID_BEACON_GET

Get Beacon.

BTMESH_CONF_TASK_ID_DEFAULT_TTL_SET

Set default TTL.

BTMESH_CONF_TASK_ID_DEFAULT_TTL_GET

Get default TTL.

BTMESH_CONF_TASK_ID_GATT_PROXY_SET

Set proxy feature.

BTMESH_CONF_TASK_ID_GATT_PROXY_GET

Get proxy feature.

BTMESH_CONF_TASK_ID_RELAY_SET

Set relay feature (feature turn on/off and retransmission parameters)

BTMESH_CONF_TASK_ID_RELAY_GET

Get relay feature (feature on/off and retransmission parameters)

BTMESH_CONF_TASK_ID_NETWORK_TRANSMIT_SET

Set network transmit count and interval.

BTMESH_CONF_TASK_ID_NETWORK_TRANSMIT_GET

Get network transmit count and interval.

BTMESH_CONF_TASK_ID_FRIEND_SET

Set friend feature.

BTMESH_CONF_TASK_ID_FRIEND_GET

Get friend feature.

BTMESH_CONF_TASK_ID_DCD_GET

Get Device Composition Data.

BTMESH_CONF_TASK_ID_RESET_NODE

Reset remote node.

BTMESH_CONF_TASK_ID_COUNT

Number of configuration tasks.

BTMESH_CONF_TASK_ID_INVALID

Invalid configuration task.


Typedef Documentation#

btmesh_conf_task_id_t#

typedef enum btmesh_conf_task_id_t btmesh_conf_task_id_t

BT Mesh Configuration Task identifiers.


btmesh_conf_task_ext_t#

typedef union btmesh_conf_task_ext_t btmesh_conf_task_ext_t

Union of BT Mesh Configuration Task specific data structures.


btmesh_conf_task_t#

typedef struct btmesh_conf_task_t btmesh_conf_task_t

Function Documentation#

btmesh_conf_task_create#

btmesh_conf_task_t * btmesh_conf_task_create (btmesh_conf_task_id_t task_id)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_id_t[in]task_id

Task identifier which shall be set

Create generic BT Mesh Configuration Task

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.

Allocates and initializes a generic configuration task. Warnings

  • This function shall be called from derived (specific) configuration task create functions only to create an initialized task instance which is further customized by the specific configuration task create function. For example btmesh_conf_task_appkey_add_create.


btmesh_conf_task_destroy#

void btmesh_conf_task_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task which shall be destroyed

Deallocates the BT Mesh Configuration Task instance

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_set_next_unconditional#

sl_status_t btmesh_conf_task_set_next_unconditional (btmesh_conf_task_t * self, btmesh_conf_task_t *const next_task)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task

btmesh_conf_task_t *const[in]next_task

Next task which shall be executed after this task (self)

Set next task pointers of the BT Mesh Configuration Task to the specified other task.

Returns

  • Status of next task setup.

Return values

  • SL_STATUS_OK: If the next task is set successfully.

  • SL_STATUS_NULL_POINTER: If

  • SL_STATUS_INVALID_PARAMETER: If the

The task which shall be executed after the end of self task is set to next_task. The next_task is independent from the result of self task.

Warnings

  • It is expected that the next_task does not have any next task when this function is called in order to guarantee that there will be no cyclic references in the task tree. Therefore, the task tree shall be built in the order of execution. This is enforced by the implementation and SL_STATUS_INVALID_PARAMETER is returned if this rule is not respected.


btmesh_conf_task_set_next_on_success#

sl_status_t btmesh_conf_task_set_next_on_success (btmesh_conf_task_t * self, btmesh_conf_task_t *const next_task)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task

btmesh_conf_task_t *const[in]next_task

Next task which shall be executed if this task (self) is completed successfully.

Set next task pointer of the BT Mesh Configuration Task to the specified other task if this task is completed successfully.

Returns

  • Status of next task setup.

Return values

  • SL_STATUS_OK: If the next task is set successfully.

  • SL_STATUS_NULL_POINTER: If

  • SL_STATUS_INVALID_PARAMETER: If the

Warnings

  • It is expected that the next_task does not have any next task when this function is called in order to guarantee that there will be no cyclic references in the task tree. Therefore, the task tree shall be built in the order of execution. This is enforced by the implementation and SL_STATUS_INVALID_PARAMETER is returned if this rule is not respected.


btmesh_conf_task_set_next_on_failure#

sl_status_t btmesh_conf_task_set_next_on_failure (btmesh_conf_task_t * self, btmesh_conf_task_t *const next_task)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task

btmesh_conf_task_t *const[in]next_task

Next task which shall be executed if this task (self) fails.

Set next task pointer of the BT Mesh Configuration Task to the specified other task if this task fails.

Returns

  • Status of next task setup.

Return values

  • SL_STATUS_OK: If the next task is set successfully.

  • SL_STATUS_NULL_POINTER: If

  • SL_STATUS_INVALID_PARAMETER: If the

Warnings

  • It is expected that the next_task does not have any next task when this function is called in order to guarantee that there will be no cyclic references in the task tree. Therefore, the task tree shall be built in the order of execution. This is enforced by the implementation and SL_STATUS_INVALID_PARAMETER is returned if this rule is not respected.


btmesh_conf_task_appkey_add_create#

btmesh_conf_task_t * btmesh_conf_task_appkey_add_create (uint16_t appkey_index, uint16_t netkey_index)
Parameters
TypeDirectionArgument NameDescription
uint16_t[in]appkey_index

Index of the application key

uint16_t[in]netkey_index

Index of the network key which the application key is bound to

Create BT Mesh Configuration Task to add an application key to a node.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_appkey_add_destroy#

void btmesh_conf_task_appkey_add_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Add Application Key BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_appkey_remove_create#

btmesh_conf_task_t * btmesh_conf_task_appkey_remove_create (uint16_t appkey_index, uint16_t netkey_index)
Parameters
TypeDirectionArgument NameDescription
uint16_t[in]appkey_index

Index of the application key

uint16_t[in]netkey_index

Index of the network key which the application key is bound to

Create BT Mesh Configuration Task to remove an application key from a node.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_appkey_remove_destroy#

void btmesh_conf_task_appkey_remove_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Remove Application Key BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_appkey_list_create#

btmesh_conf_task_t * btmesh_conf_task_appkey_list_create (uint16_t netkey_index)
Parameters
TypeDirectionArgument NameDescription
uint16_t[in]netkey_index

Network key index for the key used as query parameter

Create BT Mesh Configuration Task to list the application keys on a node.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_appkey_list_destroy#

void btmesh_conf_task_appkey_list_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of List Application Keys BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_bind_create#

btmesh_conf_task_t * btmesh_conf_task_model_bind_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t appkey_index)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node

uint16_t[in]vendor_id

Vendor ID for the model (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model

uint16_t[in]appkey_index

Index of the application key to bind to the model

Create BT Mesh Configuration Task to bind an application key to a model.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_bind_destroy#

void btmesh_conf_task_model_bind_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Bind Model BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_unbind_create#

btmesh_conf_task_t * btmesh_conf_task_model_unbind_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t appkey_index)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node

uint16_t[in]vendor_id

Vendor ID for the model (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model

uint16_t[in]appkey_index

Index of the application key to unbind from the model

Create BT Mesh Configuration Task to unbind an application key from a model.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_unbind_destroy#

void btmesh_conf_task_model_unbind_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Unbind Model BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_bindings_list_create#

btmesh_conf_task_t * btmesh_conf_task_model_bindings_list_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node

uint16_t[in]vendor_id

Vendor ID for the model (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model

Create BT Mesh Configuration Task to list application key bindings of a model.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_bindings_list_destroy#

void btmesh_conf_task_model_bindings_list_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of BT List Model Bindings Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_pub_set_create#

btmesh_conf_task_t * btmesh_conf_task_model_pub_set_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t address, uint16_t appkey_index, uint8_t credentials, uint8_t ttl, uint32_t period_ms, uint8_t retransmit_count, uint16_t retransmit_interval_ms)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

uint16_t[in]address

The unicast or group address to publish to. It can also be the unassigned address to stop the model from publishing.

uint16_t[in]appkey_index

Application key index to use for published messages.

uint8_t[in]credentials

Friendship credential flag. The default value is 0.

  • If zero, publication is done using normal credentials.

  • If one, it is done with friendship credentials, meaning only the friend can decrypt the published message and relay it forward using the normal credentials.

uint8_t[in]ttl

Publication time-to-live value

uint32_t[in]period_ms

Publication period in milliseconds. Note that the resolution of the publication period is limited by the specification to 100ms up to a period of 6.3s, 1s up to a period of 63s, 10s up to a period of 630s, and 10 minutes above that. Maximum period allowed is 630 minutes.

uint8_t[in]retransmit_count

Publication retransmission count. Valid values range from 0 to 7.

uint16_t[in]retransmit_interval_ms

Publication retransmission interval in millisecond units. The range of value is 50 to 1600 ms, and the resolution of the value is 50 milliseconds.

Create BT Mesh Configuration Task to set the model publication state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_pub_set_destroy#

void btmesh_conf_task_model_pub_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Model Publication BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_pub_get_create#

btmesh_conf_task_t * btmesh_conf_task_model_pub_get_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

Create BT Mesh Configuration Task to get the model publication state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_pub_get_destroy#

void btmesh_conf_task_model_pub_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Model Publication BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_sub_add_create#

btmesh_conf_task_t * btmesh_conf_task_model_sub_add_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

uint16_t[in]sub_address

Group address which shall be added to the subscription list of the model.

Create BT Mesh Configuration Task to add an address to the model subscription list.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_sub_add_destroy#

void btmesh_conf_task_model_sub_add_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Add Model Subscription BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_sub_set_create#

btmesh_conf_task_t * btmesh_conf_task_model_sub_set_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

uint16_t[in]sub_address

Group address which shall be added to the cleared subscription list of the model.

Create BT Mesh Configuration Task to set (overwrite) model subscription address list to a single address. See Config Model Subscription Overwrite BT Mesh message in foundation models chapter of BT Mesh Profile Specification.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_sub_set_destroy#

void btmesh_conf_task_model_sub_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Model Subscription BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_sub_remove_create#

btmesh_conf_task_t * btmesh_conf_task_model_sub_remove_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id, uint16_t sub_address)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

uint16_t[in]sub_address

Group address which shall be removed from the subscription list of the model.

Create BT Mesh Configuration Task to remove an address from the model subscription list.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_sub_remove_destroy#

void btmesh_conf_task_model_sub_remove_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Remove Model Subscription BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_sub_clear_create#

btmesh_conf_task_t * btmesh_conf_task_model_sub_clear_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

Create BT Mesh Configuration Task to clear (empty) the model subscription address list.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_sub_clear_destroy#

void btmesh_conf_task_model_sub_clear_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Clear Model Subscription List BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_model_sub_list_create#

btmesh_conf_task_t * btmesh_conf_task_model_sub_list_create (uint8_t elem_index, uint16_t vendor_id, uint16_t model_id)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]elem_index

Index of the element where the model resides on the node.

uint16_t[in]vendor_id

Vendor ID for the model. (0xFFFF for Bluetooth SIG models)

uint16_t[in]model_id

Model ID for the model.

Create BT Mesh Configuration Task to get the subscription address list of a model.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_model_sub_list_destroy#

void btmesh_conf_task_model_sub_list_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of List Model Subscription BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_beacon_set_create#

btmesh_conf_task_t * btmesh_conf_task_beacon_set_create (uint8_t value)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]value

Beacon value. Valid values are:

  • 0: Node is not broadcasting secure network beacons

  • 1: Node is broadcasting secure network beacons

Create BT Mesh Configuration Task to set node beacon state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_beacon_set_destroy#

void btmesh_conf_task_beacon_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Beacon BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_beacon_get_create#

btmesh_conf_task_t * btmesh_conf_task_beacon_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node beacon state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_beacon_get_destroy#

void btmesh_conf_task_beacon_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Beacon BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_default_ttl_set_create#

btmesh_conf_task_t * btmesh_conf_task_default_ttl_set_create (uint8_t default_ttl)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]default_ttl

Default TTL value. Valid value range is from 2 to 127 for relayed PDUs, and 0 to indicate non-relayed PDUs.

Create BT Mesh Configuration Task to set node default TTL state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_default_ttl_set_destroy#

void btmesh_conf_task_default_ttl_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Default TTL BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_default_ttl_get_create#

btmesh_conf_task_t * btmesh_conf_task_default_ttl_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node default TTL state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_default_ttl_get_destroy#

void btmesh_conf_task_default_ttl_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Default TTL BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_gatt_proxy_set_create#

btmesh_conf_task_t * btmesh_conf_task_gatt_proxy_set_create (uint8_t value)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]value

GATT proxy value to set. Valid values are:

  • 0: Proxy feature is disabled

  • 1: Proxy feature is enabled

Create BT Mesh Configuration Task to set node GATT proxy state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_gatt_proxy_set_destroy#

void btmesh_conf_task_gatt_proxy_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set GATT Proxy BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_gatt_proxy_get_create#

btmesh_conf_task_t * btmesh_conf_task_gatt_proxy_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node GATT proxy state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_gatt_proxy_get_destroy#

void btmesh_conf_task_gatt_proxy_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get GATT Proxy BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_relay_set_create#

btmesh_conf_task_t * btmesh_conf_task_relay_set_create (uint8_t value, uint8_t retransmit_count, uint16_t retransmit_interval_ms)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]value

Relay value to set. Valid values are:

  • 0: Relay feature is disabled

  • 1: Relay feature is enabled

uint8_t[in]retransmit_count

Relay retransmit count. Valid values range from 0 to 7; default value is 0 (no retransmissions).

uint16_t[in]retransmit_interval_ms

Relay retransmit interval in milliseconds. Valid values range from 10 ms to 320 ms, with a resolution of 10 ms. The value is ignored if the retransmission count is set to zero.

Create BT Mesh Configuration Task to set node relay state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_relay_set_destroy#

void btmesh_conf_task_relay_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Relay BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_relay_get_create#

btmesh_conf_task_t * btmesh_conf_task_relay_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node relay state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_relay_get_destroy#

void btmesh_conf_task_relay_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Relay BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_network_transmit_set_create#

btmesh_conf_task_t * btmesh_conf_task_network_transmit_set_create (uint8_t transmit_count, uint16_t transmit_interval_ms)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]transmit_count

Network transmit count. Valid values range from 1 to 8; default value is 1 (single transmission; no retransmissions).

uint16_t[in]transmit_interval_ms

Network transmit interval in milliseconds. Valid values range from 10 ms to 320 ms, with a resolution of 10 ms. The value is ignored if the transmission count is set to one.

Create BT Mesh Configuration Task to set node network transmit state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_network_transmit_set_destroy#

void btmesh_conf_task_network_transmit_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Network Transmit BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_network_transmit_get_create#

btmesh_conf_task_t * btmesh_conf_task_network_transmit_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node network transmit state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_network_transmit_get_destroy#

void btmesh_conf_task_network_transmit_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Network Transmit BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_friend_set_create#

btmesh_conf_task_t * btmesh_conf_task_friend_set_create (uint8_t value)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]value

Friend value to set. Valid values are:

  • 0: Friend feature is not enabled

  • 1: Friend feature is enabled

Create BT Mesh Configuration Task to set node friend state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_friend_set_destroy#

void btmesh_conf_task_friend_set_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Set Friend BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_friend_get_create#

btmesh_conf_task_t * btmesh_conf_task_friend_get_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to get node friend state.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_friend_get_destroy#

void btmesh_conf_task_friend_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get Friend BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_dcd_get_create#

btmesh_conf_task_t * btmesh_conf_task_dcd_get_create (uint8_t page)
Parameters
TypeDirectionArgument NameDescription
uint8_t[in]page

Composition data page to query

Create BT Mesh Configuration Task to get composition data of a device.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_dcd_get_destroy#

void btmesh_conf_task_dcd_get_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Get DCD BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.


btmesh_conf_task_reset_node_create#

btmesh_conf_task_t * btmesh_conf_task_reset_node_create (void )
Parameters
TypeDirectionArgument NameDescription
voidN/A

Create BT Mesh Configuration Task to request a node to unprovision itself. Use this function when a node shall be removed from the network.

Returns

  • Created configuration task.

Return values

  • NULL: If the configuration task creation fails.


btmesh_conf_task_reset_node_destroy#

void btmesh_conf_task_reset_node_destroy (btmesh_conf_task_t * self)
Parameters
TypeDirectionArgument NameDescription
btmesh_conf_task_t *[in]self

Pointer to the configuration task instance

Deallocation of Reset Node BT Mesh Configuration Task instance.

If btmesh_conf_task_t::next_on_success or btmesh_conf_task_t::next_on_failure is set then those tasks are destroyed as well.