Bluetooth Mesh API#
The Bluetooth Mesh API changes in Bluetooth Mesh SDK v2.x. The most obvious change is the renaming of all the BGAPI commands and events to align with the unified Silicon Labs coding standard. However, commands have been added and removed, and also new BGAPI classes have been added to make the API more logical and transparent. This section describes all the changes related to the API.
Functionality Breaks#
Provisioning Management#
The API for provisioning a device has been changed in order to increase its flexibility to handle different scenarios, such as parallel provisioning or multiple devices, with more ease.
All provisioning events and commands affecting the provisioning of a particular device are linked to a provisioning session by UUID of the device as a parameter. This enables provisioning of multiple devices in parallel.
Provisioning flexibility is improved by events that inform the Provisioner of the state of the provisioning session and the capabilities of the device. A simple Provisioner may still choose to allow the stack to select default values but a more complex implementation has fuller control than before.
Previously, the Provisioner would set up provisioning parameters, such as the address allocation for the new device, at the beginning of provisioning without regard to the properties of the device being provisioned. This has been changed to a more event driven flow where the Provisioner can, at certain points, affect how provisioning a device proceeds. Details for the provisioning process are listed below.
Provisioning session control#
If the Provisioner needs to control the provisioning process in detail it must call sl_btmesh_prov_set_provisioning_suspend_event()
with the status parameter set to 1. This allows the stack to suspend the ongoing provisioning session at stages where the Provisioner could be queried for a decision to continue provisioning, or for a value of a provisioning parameter.
If the Provisioner does not need to control provisioning in detail it can call the function with status parameter set to 0 instead, in which case the stack will use default values and continue provisioning without suspending it.
Starting to provision#
The Provisioner first creates a provisioning session by calling sl_btmesh_prov_create_provisioning_session()
. The device UUID is used to identify which device the provisioning session relates to at this call and any of the following commands and events.
The Provisioner may, immediately after creating a provisioning session, set the desired provisioning authentication methods for the session by calling sl_btmesh_prov_set_oob_requirements()
, or it can defer that until later if it has requested session suspension.
If provisioning over PB-GATT is needed, the Provisioner must establish a LE connection to the device, as before.
The Provisioner can then start provisioning the device by calling either sl_btmesh_prov_provision_adv_device()
(for PB-ADV) or sl_btmesh_prov_provision_gatt_device()
(for PB-GATT). The stack will then start running the provisioning protocol with the specified device.
Suspension of provisioning session#
If the Provisioner requested session control, at the time when Provisioning Capabilities PDU is received from the device being provisioned an sl_btmesh_evt_prov_capabilities()
event will be generated, listing the device capabilities and number of elements the device contains. Furthermore, an sl_btmesh_prov_provisioning_suspended()
event will be generated to indicate a decision is now needed from the Provisioner
If the Provisioner now wishes to use some particular provisioning authentication method based on device capabilities it can do so by calling sl_btmesh_prov_set_oob_requirements()
. Otherwise the stack will make a default choice.
If the Provisioner now wishes to set a non-default Mesh address to the device being provisioned it can do so by calling sl_btmesh_prov_set_device_address()
. Otherwise, the stack will allocate an address to the device automatically.
If the Provisioner decides to stop provisioning the device for some reason (for example, the device does not support a desired authentication method), it can do so by calling sl_btmesh_prov_abort_provisioning()
. Otherwise, it needs to instruct the stack by calling sl_btmesh_prov_continue_provisioning()
.
OOB authentication data and public key#
If some form of OOB data is involved in the provisioning, the stack will notify the Provisioner when such data is needed, as before.
If the OOB static authentication method or the OOB output authentication method is used when provisioning the device, an sl_btmesh_evt_prov_oob_auth_request()
event is generated when Provisioner needs to supply authentication data by calling sl_btmesh_prov_send_oob_auth_response()
as a response to the event.
If the OOB input authentication method is used when provisioning the device, an sl_btmesh_evt_prov_oob_display_input()
event is generated when the Provisioner needs to display authentication data for the user to enter on the device being provisioned.
If an OOB public key is used when provisioning the device, a sl_btmesh_evt_prov_oob_pkey_request()
event is generated and the Provisioner must respond with a sl_btmesh_send_oob_pkey_response()
call.
Finalizing a provisioning session#
Once provisioning finalizes successfully, an sl_btmesh_evt_prov_device_provisioned()
event will be generated. In case of failure, a sl_btmesh_evt_prov_provisioning_failed()
event will be generated instead.
Changes in BGAPI Commands#
BGAPI command functions change both their name, to align with Silicon Labs standards, and their structure, to make the error checking and the handling of return values simpler.
In Bluetooth Mesh SDK v2.x BGAPI command function names start with sl_btmesh*_*
instead of gecko_cmd_
used in Bluetooth Mesh SDK v1.x. This means that all function name should be changed according to this rule, when migrating a project from v1.x to v2.x.
No compatibility layer is provided due to the additional changes listed below. However, a “Bluetooth API migration helper” component can be found in the Component Library. If this component is installed, a header file is added to the project that provides verbose compiler errors when an old API call is found in the code. A suggestion for the new API is also present in the error message.
In Bluetooth Mesh SDK v1.x command functions returned a complex structure, providing both error code and return values. In Bluetooth Mesh SDK v2.x only a status code is returned, and the return values are passed back using pointer arguments. If the output of a command contains variable size data, the application needs to give the destination for the data as well as the maximum size of the destination. See an example below.
Command functions in v1.x#
/* Function */
struct gecko_msg_mesh_config_client_add_appkey_rsp_t *
gecko_cmd_mesh_config_client_add_appkey(uint16 enc_netkey_index,
uint16 server_address,
uint16 appkey_index,
uint16 netkey_index);
/* Response structure */
struct gecko_msg_mesh_config_client_add_appkey_rsp_t
{
uint16 result;
uint32 handle;
};
Command functions in v2.0#
sl_status_t sl_btmesh_config_client_add_appkey(uint16_t enc_netkey_index,
uint16_t server_address,
uint16_t appkey_index,
uint16_t netkey_index,
uint32_t *handle);;
While for most commands the renaming means only changing gecko_cmd_
to sl_btmesh_
, many functions are renamed due to changed functionality, changed API class, or simply to make the API more logical. Furthermore, some API functions are split into multiple ones, and some functions are merged. These name changes are listed in the following table.
NOTE: All APIs marked as “deprecated” in the Bluetooth Mesh v1.x have been completely removed from Bluetooth Mesh v2.x. The API change table below does not list them.
API 1.x | API 2.0 | Notes |
---|---|---|
CLASS: mesh_config | CLASS: mesh_config | There is no change to this class except the prefix change. |
cmd_mesh_config_client_add_appkey | sl_btmesh_config_client_add_appkey | |
cmd_mesh_config_client_add_model_sub | sl_btmesh_config_client_add_model_sub | |
cmd_mesh_config_client_add_model_sub_va | sl_btmesh_config_client_add_model_sub_va | |
cmd_mesh_config_client_add_netkey | sl_btmesh_config_client_add_netkey | |
cmd_mesh_config_client_bind_model | sl_btmesh_config_client_bind_model | |
cmd_mesh_config_client_cancel_request | sl_btmesh_config_client_cancel_request | |
cmd_mesh_config_client_clear_model_sub | sl_btmesh_config_client_clear_model_sub | |
cmd_mesh_config_client_get_beacon | sl_btmesh_config_client_get_beacon | |
cmd_mesh_config_client_get_dcd | sl_btmesh_config_client_get_dcd | |
cmd_mesh_config_client_get_default_timeout | sl_btmesh_config_client_get_default_timeout | |
cmd_mesh_config_client_get_default_ttl | sl_btmesh_config_client_get_default_ttl | |
cmd_mesh_config_client_get_friend | sl_btmesh_config_client_get_friend | |
cmd_mesh_config_client_get_gatt_proxy | sl_btmesh_config_client_get_gatt_proxy | |
cmd_mesh_config_client_get_heartbeat_pub | sl_btmesh_config_client_get_heartbeat_pub | |
cmd_mesh_config_client_get_heartbeat_sub | sl_btmesh_config_client_get_heartbeat_sub | |
cmd_mesh_config_client_get_identity | sl_btmesh_config_client_get_identity | |
cmd_mesh_config_client_get_lpn_polltimeout | sl_btmesh_config_client_get_lpn_polltimeout | |
cmd_mesh_config_client_get_model_pub | sl_btmesh_config_client_get_model_pub | |
cmd_mesh_config_client_get_network_transmit | sl_btmesh_config_client_get_network_transmit | |
cmd_mesh_config_client_get_relay | sl_btmesh_config_client_get_relay | |
cmd_mesh_config_client_get_request_status | sl_btmesh_config_client_get_request_status | |
cmd_mesh_config_client_list_appkeys | sl_btmesh_config_client_list_appkeys | |
cmd_mesh_config_client_list_bindings | sl_btmesh_config_client_list_bindings | |
cmd_mesh_config_client_list_netkeys | sl_btmesh_config_client_list_netkeys | |
cmd_mesh_config_client_list_subs | sl_btmesh_config_client_list_subs | |
cmd_mesh_config_client_remove_appkey | sl_btmesh_config_client_remove_appkey | |
cmd_mesh_config_client_remove_model_sub | sl_btmesh_config_client_remove_model_sub | |
cmd_mesh_config_client_remove_model_sub_va | sl_btmesh_config_client_remove_model_sub_va | |
cmd_mesh_config_client_remove_netkey | sl_btmesh_config_client_remove_netkey | |
cmd_mesh_config_client_reset_node | sl_btmesh_config_client_reset_node | |
cmd_mesh_config_client_set_beacon | sl_btmesh_config_client_set_beacon | |
cmd_mesh_config_client_set_default_timeout | sl_btmesh_config_client_set_default_timeout | |
cmd_mesh_config_client_set_default_ttl | sl_btmesh_config_client_set_default_ttl | |
cmd_mesh_config_client_set_friend | sl_btmesh_config_client_set_friend | |
cmd_mesh_config_client_set_gatt_proxy | sl_btmesh_config_client_set_gatt_proxy | |
cmd_mesh_config_client_set_heartbeat_pub | sl_btmesh_config_client_set_heartbeat_pub | |
cmd_mesh_config_client_set_heartbeat_sub | sl_btmesh_config_client_set_heartbeat_sub | |
cmd_mesh_config_client_set_identity | sl_btmesh_config_client_set_identity | |
cmd_mesh_config_client_set_model_pub | sl_btmesh_config_client_set_model_pub | |
cmd_mesh_config_client_set_model_pub_va | sl_btmesh_config_client_set_model_pub_va | |
cmd_mesh_config_client_set_model_sub | sl_btmesh_config_client_set_model_sub | |
cmd_mesh_config_client_set_model_sub_va | sl_btmesh_config_client_set_model_sub_va | |
cmd_mesh_config_client_set_network_transmit | sl_btmesh_config_client_set_network_transmit | |
cmd_mesh_config_client_set_relay | sl_btmesh_config_client_set_relay | |
cmd_mesh_config_client_unbind_model | sl_btmesh_config_client_unbind_model | |
CLASS: mesh_friend | CLASS: mesh_ friend | There is no change to this class except the prefix change. |
cmd_mesh_friend_deinit | sl_btmesh_friend_deinit | |
cmd_mesh_friend_init | sl_btmesh_friend_init | |
CLASS: mesh_generic_client | CLASS: mesh_generic_client | There is no change to this class except the prefix change. |
gecko_cmd_mesh_generic_client_get | sl_btmesh_generic_client_get | |
gecko_cmd_mesh_generic_client_set | sl_btmesh_generic_client_set | |
gecko_cmd_mesh_generic_client_publish | sl_btmesh_generic_client_publish | |
gecko_cmd_mesh_generic_client_get_params | sl_btmesh_generic_client_get_params | |
gecko_cmd_mesh_generic_client_init | sl_btmesh_generic_client_init | |
gecko_cmd_mesh_generic_client_init_common | sl_btmesh_generic_client_init_common | |
gecko_cmd_mesh_generic_client_init_on_off | sl_btmesh_generic_client_init_on_off | |
gecko_cmd_mesh_generic_client_init_level | sl_btmesh_generic_client_init_level | |
gecko_cmd_mesh_generic_client_init_default_transition_time | sl_btmesh_generic_client_init_default_transition_time | |
gecko_cmd_mesh_generic_client_init_power_on_off | sl_btmesh_generic_client_init_power_on_off | |
gecko_cmd_mesh_generic_client_init_power_level | sl_btmesh_generic_client_init_power_level | |
gecko_cmd_mesh_generic_client_init_battery | sl_btmesh_generic_client_init_battery | |
gecko_cmd_mesh_generic_client_init_location | sl_btmesh_generic_client_init_location | |
gecko_cmd_mesh_generic_client_init_property | sl_btmesh_generic_client_init_property | |
gecko_cmd_mesh_generic_client_init_lightness | sl_btmesh_generic_client_init_lightness | |
gecko_cmd_mesh_generic_client_init_ctl | sl_btmesh_generic_client_init_ctl | |
gecko_cmd_mesh_generic_client_init_hsl | Bluetooth Mesh SDK v2.0 doesn’t support HSL model yet. | |
CLASS: mesh_generic_server | CLASS: mesh_generic_server | There is no change to this class except the prefix change. |
gecko_cmd_mesh_generic_server_response | sl_btmesh_generic_server_respond | |
gecko_cmd_mesh_generic_server_update | sl_btmesh_generic_server_update | |
gecko_cmd_mesh_generic_server_publish | sl_btmesh_generic_server_publish | |
gecko_cmd_mesh_generic_server_init | sl_btmesh_generic_server_init | |
gecko_cmd_mesh_generic_server_init_common | sl_btmesh_generic_server_init_common | |
gecko_cmd_mesh_generic_server_init_on_off | sl_btmesh_generic_server_init_on_off | |
gecko_cmd_mesh_generic_server_init_level | sl_btmesh_generic_server_init_level | |
gecko_cmd_mesh_generic_server_init_default_transition_time | sl_btmesh_generic_server_init_default_transition_time | |
gecko_cmd_mesh_generic_server_init_power_on_off | sl_btmesh_generic_server_init_power_on_off | |
gecko_cmd_mesh_generic_server_init_power_level | sl_btmesh_generic_server_init_power_level | |
gecko_cmd_mesh_generic_server_init_battery | sl_btmesh_generic_server_init_battery | |
gecko_cmd_mesh_generic_server_init_location | sl_btmesh_generic_server_init_location | |
gecko_cmd_mesh_generic_server_init_property | sl_btmesh_generic_server_init_property | |
gecko_cmd_mesh_generic_server_init_lightness | sl_btmesh_generic_server_init_lightness | |
gecko_cmd_mesh_generic_server_init_ctl | sl_btmesh_generic_server_init_ctl | |
gecko_cmd_mesh_generic_server_init_hsl | Bluetooth Mesh SDK v2.0 doesn’t support HSL model yet. | |
CLASS: mesh_health_client | CLASS: mesh_health_client | There is no change to this class except the prefix change. |
gecko_cmd_mesh_health_client_get | sl_btmesh_health_client_get | |
gecko_cmd_mesh_health_client_clear | sl_btmesh_health_client_clear | |
gecko_cmd_mesh_health_client_test | sl_btmesh_health_client_test | |
gecko_cmd_mesh_health_client_get_period | sl_btmesh_health_client_get_period | |
gecko_cmd_mesh_health_client_set_period | sl_btmesh_health_client_set_period | |
gecko_cmd_mesh_health_client_get_attention | sl_btmesh_health_client_get_attention | |
gecko_cmd_mesh_health_client_set_attention | sl_btmesh_health_client_set_attention | |
CLASS: mesh_health_server | CLASS: mesh_health_server | There is no change to this class except the prefix change. |
gecko_cmd_mesh_health_server_set_fault | sl_btmesh_health_server_set_fault | |
gecko_cmd_mesh_health_server_clear_fault | sl_btmesh_health_server_clear_fault | |
gecko_cmd_mesh_health_server_test_response | sl_btmesh_health_server_send_test_response | |
CLASS s: mesh_lc_client | CLASS: mesh_lc_client | There is no change to this class except the prefix change. |
gecko_cmd_mesh_lc_client_init | sl_btmesh_lc_client_init | |
gecko_cmd_mesh_lc_client_get_mode | sl_btmesh_lc_client_get_mode | |
gecko_cmd_mesh_lc_client_set_mode | sl_btmesh_lc_client_set_mode | |
gecko_cmd_mesh_lc_client_get_om | sl_btmesh_lc_client_get_om | |
gecko_cmd_mesh_lc_client_set_om | sl_btmesh_lc_client_set_om | |
gecko_cmd_mesh_lc_client_get_light_onoff | sl_btmesh_lc_client_get_light_onoff | |
gecko_cmd_mesh_lc_client_set_light_onoff | sl_btmesh_lc_client_set_light_onoff | |
gecko_cmd_mesh_lc_client_get_property | sl_btmesh_lc_client_get_property | |
gecko_cmd_mesh_lc_client_set_property | sl_btmesh_lc_client_set_property | |
CLASS: mesh_lc_server | CLASS: mesh_lc_server | There is no change to this class except the prefix change. |
gecko_cmd_mesh_lc_server_init | sl_btmesh_lc_server_init | |
gecko_cmd_mesh_lc_server_deinit | sl_btmesh_lc_server_deinit | |
gecko_cmd_mesh_lc_server_update_mode | sl_btmesh_lc_server_update_mode | |
gecko_cmd_mesh_lc_server_update_om | sl_btmesh_lc_server_update_om | |
gecko_cmd_mesh_lc_server_update_light_onoff | sl_btmesh_lc_server_update_light_onoff | |
gecko_cmd_mesh_lc_server_init_all_properties | sl_btmesh_lc_server_init_all_properties | |
gecko_cmd_mesh_lc_server_set_publish_mask | sl_btmesh_lc_server_set_publish_mask | |
gecko_cmd_mesh_lc_server_set_regulator_interval | sl_btmesh_lc_server_set_regulator_interval | |
gecko_cmd_mesh_lc_server_set_event_mask | sl_btmesh_lc_server_set_event_mask | |
gecko_cmd_mesh_lc_server_get_lc_state | sl_btmesh_lc_server_get_lc_state | |
CLASS: mesh_lc_setup_server | CLASS: mesh_lc_setup_server | There is no change to this class except the prefix change. |
gecko_cmd_mesh_lc_setup_server_update_property | sl_btmesh_lc_setup_server_update_property | |
CLASS: mesh_lpn | CLASS: mesh_lpn | |
gecko_cmd_mesh_lpn_init | sl_btmesh_lpn_init | |
gecko_cmd_mesh_lpn_deinit | sl_btmesh_lpn_deinit | |
gecko_cmd_mesh_lpn_establish_friendship | sl_btmesh_lpn_establish_friendship | |
gecko_cmd_mesh_lpn_poll | sl_btmesh_lpn_poll | |
gecko_cmd_mesh_lpn_terminate_friendship | sl_btmesh_lpn_terminate_friendship | |
gecko_cmd_mesh_lpn_config | sl_btmesh_lpn_config | |
CLASS: mesh_node | CLASS: mesh_node | |
gecko_cmd_mesh_node_init | sl_btmesh_node_init | |
gecko_cmd_mesh_node_start_unprov_beaconing | sl_btmesh_node_start_unprov_beaconing | |
gecko_cmd_mesh_node_stop_unprov_beaconing | sl_btmesh_node_stop_unprov_beaconing | |
gecko_cmd_mesh_node_rssi | sl_btmesh_node_get_rssi | |
gecko_cmd_mesh_node_input_oob_request_rsp | sl_btmesh_node_send_input_oob_request_response | |
gecko_cmd_mesh_node_get_uuid | sl_btmesh_node_get_uuid | |
gecko_cmd_mesh_node_set_provisioning_data | sl_btmesh_node_set_provisioning_data | |
gecko_cmd_mesh_node_init_oob | sl_btmesh_node_init_oob | |
gecko_cmd_mesh_node_set_ivrecovery_mode | sl_btmesh_node_set_ivrecovery_mode | |
gecko_cmd_mesh_node_get_ivrecovery_mode | sl_btmesh_node_get_ivrecovery_mode | |
gecko_cmd_mesh_node_set_adv_event_filter | sl_btmesh_node_set_adv_event_filter | |
gecko_cmd_mesh_node_get_statistics | sl_btmesh_node_get_statistics | |
gecko_cmd_mesh_node_clear_statistics | sl_btmesh_node_clear_statistics | |
gecko_cmd_mesh_node_set_net_relay_delay | sl_btmesh_node_set_net_relay_delay | |
gecko_cmd_mesh_node_get_net_relay_delay | sl_btmesh_node_get_net_relay_delay | |
gecko_cmd_mesh_node_get_ivupdate_state | sl_btmesh_node_get_ivupdate_state | |
gecko_cmd_mesh_node_request_ivupdate | sl_btmesh_node_request_ivupdate | |
gecko_cmd_mesh_node_get_seq_remaining | sl_btmesh_node_get_seq_remaining | |
gecko_cmd_mesh_node_save_replay_protection_list | sl_btmesh_node_save_replay_protection_list | |
gecko_cmd_mesh_node_set_uuid | sl_btmesh_node_set_uuid | |
gecko_cmd_mesh_node_get_element_address | sl_btmesh_node_get_element_address | |
gecko_cmd_mesh_node_static_oob_request_rsp | sl_btmesh_node_send_static_oob_request_response | |
gecko_cmd_mesh_node_reset | sl_btmesh_node_reset | |
gecko_cmd_mesh_node_set_beacon_reporting | sl_btmesh_node_set_beacon_reporting | |
gecko_cmd_mesh_node_set_iv_update_age | sl_btmesh_node_set_iv_update_age | |
gecko_cmd_mesh_node_set_model_option | sl_btmesh_node_set_model_option | |
sl_btmesh_node_get_replay_protection_list_status | ||
sl_btmesh_node_get_key_count | ||
sl_btmesh_node_get_key | ||
sl_btmesh_node_get_networks | ||
sl_btmesh_node_get_element_seqnum | ||
sl_btmesh_node_get_local_dcd | ||
sl_btmesh_node_erase_mesh_nvm | ||
CLASS: mesh_prov | CLASS: mesh_prov | |
gecko_cmd_mesh_prov_init | sl_btmesh_prov_init | |
gecko_cmd_mesh_prov_scan_unprov_beacons | sl_btmesh_prov_scan_unprov_beacons | |
gecko_cmd_mesh_prov_provision_device | sl_btmesh_prov_provision_adv_device | |
gecko_cmd_mesh_prov_create_network | sl_btmesh_prov_create_network | |
gecko_cmd_mesh_prov_create_appkey | sl_btmesh_prov_create_appkey | |
gecko_cmd_mesh_prov_oob_pkey_rsp | sl_btmesh_prov_send_oob_pkey_response | |
gecko_cmd_mesh_prov_oob_auth_rsp | sl_btmesh_prov_send_oob_auth_response | |
gecko_cmd_mesh_prov_set_oob_requirements | sl_btmesh_prov_set_oob_requirements | |
gecko_cmd_mesh_prov_key_refresh_start | sl_btmesh_prov_start_key_refresh | |
gecko_cmd_mesh_prov_get_key_refresh_blacklist | sl_btmesh_prov_get_key_refresh_exclusion | |
gecko_cmd_mesh_prov_set_key_refresh_blacklist | sl_btmesh_prov_set_key_refresh_exclusion | |
gecko_cmd_mesh_prov_provision_gatt_device | sl_btmesh_prov_provision_gatt_device | |
gecko_cmd_mesh_prov_ddb_get | sl_btmesh_prov_get_ddb_entry | |
gecko_cmd_mesh_prov_ddb_delete | sl_btmesh_prov_delete_ddb_entry | |
gecko_cmd_mesh_prov_ddb_add | sl_btmesh_prov_add_ddb_entry | |
gecko_cmd_mesh_prov_ddb_list_devices | sl_btmesh_prov_list_ddb_entries | |
gecko_cmd_mesh_prov_provision_device_with_address | sl_btmesh_prov_set_device_address | When provisioning is suspended, use this command to set the address |
gecko_cmd_mesh_prov_provision_gatt_device_with_address | sl_btmesh_prov_set_device_address | When provisioning is suspended, use this command to set the address |
gecko_cmd_mesh_prov_initialize_network | sl_btmesh_prov_initialize_network | |
gecko_cmd_mesh_prov_get_key_refresh_appkey_blacklist | sl_btmesh_prov_get_key_refresh_appkey_exclusion | |
gecko_cmd_mesh_prov_set_key_refresh_appkey_blacklist | sl_btmesh_prov_set_key_refresh_appkey_exclusion | |
gecko_cmd_mesh_prov_stop_scan_unprov_beacons | sl_btmesh_prov_stop_scan_unprov_beacons | |
gecko_cmd_mesh_prov_ddb_update_netkey_index | sl_btmesh_prov_update_device_netkey_index | |
gecko_cmd_mesh_prov_key_refresh_suspend | sl_btmesh_prov_suspend_key_refresh | |
gecko_cmd_mesh_prov_key_refresh_resume | sl_btmesh_prov_resume_key_refresh | |
gecko_cmd_mesh_prov_get_key_refresh_phase | sl_btmesh_prov_get_key_refresh_phase | |
gecko_cmd_mesh_prov_key_refresh_start_from_phase | sl_btmesh_prov_start_key_refresh_from_phase | |
gecko_cmd_mesh_prov_flush_key_refresh_state | sl_btmesh_prov_flush_key_refresh_state | |
sl_btmesh_prov_create_provisioning_session | Users have to create the provisioning session before configuring or start the provisioning | |
sl_btmesh_prov_set_provisioning_suspend_event | These APIs give more flexibility in provisioning, now it can suspend and users could use callbacks to feed configuration data during provisioning. | |
sl_btmesh_prov_continue_provisioning | ||
sl_btmesh_prov_abort_provisioning | ||
sl_btmesh_prov_test_identity | API for testing if the node identify matches | |
CLASS: mesh_proxy | CLASS: mesh_proxy | |
gecko_cmd_mesh_proxy_connect | sl_btmesh_proxy_connect | |
gecko_cmd_mesh_proxy_disconnect | sl_btmesh_proxy_disconnect | |
gecko_cmd_mesh_proxy_set_filter_type | sl_btmesh_proxy_set_filter_type | |
gecko_cmd_mesh_proxy_allow | sl_btmesh_proxy_allow | |
gecko_cmd_mesh_proxy_deny | sl_btmesh_proxy_deny | |
CLASS: mesh_scene_client | CLASS: mesh_scene_client | |
gecko_cmd_mesh_scene_client_init | sl_btmesh_scene_client_init | |
gecko_cmd_mesh_scene_client_get | sl_btmesh_scene_client_get | |
gecko_cmd_mesh_scene_client_get_register | sl_btmesh_scene_client_get_register | |
gecko_cmd_mesh_scene_client_recall | sl_btmesh_scene_client_recall | |
gecko_cmd_mesh_scene_client_store | sl_btmesh_scene_client_store | |
gecko_cmd_mesh_scene_client_delete | sl_btmesh_scene_client_delete | |
CLASS: mesh_scene_server | CLASS: mesh_scene_server | |
gecko_cmd_mesh_scene_server_init | sl_btmesh_scene_server_init | |
gecko_cmd_mesh_scene_server_deinit | sl_btmesh_scene_server_deinit | |
gecko_cmd_mesh_scene_server_reset_register | sl_btmesh_scene_server_reset_register | |
CLASS: mesh_scene_setup_server | CLASS: mesh_scene_setup_server | |
gecko_cmd_mesh_scene_setup_server_init | sl_btmesh_scene_setup_server_init | |
CLASS: mesh_scheduler_client | CLASS: mesh_scheduler_client | |
gecko_cmd_mesh_scheduler_client_init | sl_btmesh_scheduler_client_init | |
gecko_cmd_mesh_scheduler_client_deinit | sl_btmesh_scheduler_client_deinit | |
gecko_cmd_mesh_scheduler_client_get | sl_btmesh_scheduler_client_get | |
gecko_cmd_mesh_scheduler_client_get_action | sl_btmesh_scheduler_client_get_action | |
gecko_cmd_mesh_scheduler_client_set_action | sl_btmesh_scheduler_client_set_action | |
CLASS: mesh_scheduler_server | CLASS: mesh_scheduler_server | |
gecko_cmd_mesh_scheduler_server_init | sl_btmesh_scheduler_server_init | |
gecko_cmd_mesh_scheduler_server_deinit | sl_btmesh_scheduler_server_deinit | |
gecko_cmd_mesh_scheduler_server_get | sl_btmesh_scheduler_server_get | |
gecko_cmd_mesh_scheduler_server_get_action | sl_btmesh_scheduler_server_get_action | |
gecko_cmd_mesh_scheduler_server_set_action | sl_btmesh_scheduler_server_set_action | |
CLASS: mesh_sensor_client | CLASS: mesh_sensor_client | |
gecko_cmd_mesh_sensor_client_init | sl_btmesh_sensor_client_init | |
gecko_cmd_mesh_sensor_client_deinit | sl_btmesh_sensor_client_deinit | |
gecko_cmd_mesh_sensor_client_get_descriptor | sl_btmesh_sensor_client_get_descriptor | |
gecko_cmd_mesh_sensor_client_get | sl_btmesh_sensor_client_get | |
gecko_cmd_mesh_sensor_client_get_column | sl_btmesh_sensor_client_get_column | |
gecko_cmd_mesh_sensor_client_get_series | sl_btmesh_sensor_client_get_series | |
gecko_cmd_mesh_sensor_client_get_cadence | sl_btmesh_sensor_client_get_cadence | |
gecko_cmd_mesh_sensor_client_set_cadence | sl_btmesh_sensor_client_set_cadence | |
gecko_cmd_mesh_sensor_client_get_settings | sl_btmesh_sensor_client_get_settings | |
gecko_cmd_mesh_sensor_client_get_setting | sl_btmesh_sensor_client_get_setting | |
gecko_cmd_mesh_sensor_client_set_setting | sl_btmesh_sensor_client_set_setting | |
CLASS: mesh_sensor_server | CLASS: mesh_sensor_server | |
gecko_cmd_mesh_sensor_server_init | sl_btmesh_sensor_server_init | |
gecko_cmd_mesh_sensor_server_deinit | sl_btmesh_sensor_server_deinit | |
gecko_cmd_mesh_sensor_server_send_descriptor_status | sl_btmesh_sensor_server_send_descriptor_status | |
gecko_cmd_mesh_sensor_server_send_status | sl_btmesh_sensor_server_send_status | |
gecko_cmd_mesh_sensor_server_send_column_status | sl_btmesh_sensor_server_send_column_status | |
gecko_cmd_mesh_sensor_server_send_series_status | sl_btmesh_sensor_server_send_series_status | |
CLASS: mesh_sensor_setup_server | CLASS: mesh_sensor_setup_server | |
gecko_cmd_mesh_sensor_setup_server_send_cadence_status | sl_btmesh_sensor_setup_server_send_cadence_status | |
gecko_cmd_mesh_sensor_setup_server_send_settings_status | sl_btmesh_sensor_setup_server_send_settings_status | |
gecko_cmd_mesh_sensor_setup_server_send_setting_status | sl_btmesh_sensor_setup_server_send_setting_status | |
CLASS: mesh_test | CLASS: mesh_test | |
gecko_cmd_mesh_test_get_nettx | sl_btmesh_test_get_nettx | |
gecko_cmd_mesh_test_set_nettx | sl_btmesh_test_set_nettx | |
gecko_cmd_mesh_test_get_relay | sl_btmesh_test_get_relay | |
gecko_cmd_mesh_test_set_relay | sl_btmesh_test_set_relay | |
gecko_cmd_mesh_test_set_adv_scan_params | sl_btmesh_test_set_adv_scan_params | |
gecko_cmd_mesh_test_set_ivupdate_test_mode | sl_btmesh_test_set_ivupdate_test_mode | |
gecko_cmd_mesh_test_get_ivupdate_test_mode | sl_btmesh_test_get_ivupdate_test_mode | |
gecko_cmd_mesh_test_set_segment_send_delay | sl_btmesh_test_set_segment_send_delay | |
gecko_cmd_mesh_test_set_ivupdate_state | sl_btmesh_test_set_ivupdate_state | |
gecko_cmd_mesh_test_send_beacons | sl_btmesh_test_send_beacons | |
gecko_cmd_mesh_test_bind_local_model_app | sl_btmesh_test_bind_local_model_app | |
gecko_cmd_mesh_test_unbind_local_model_app | sl_btmesh_test_unbind_local_model_app | |
gecko_cmd_mesh_test_add_local_model_sub | sl_btmesh_test_add_local_model_sub | |
gecko_cmd_mesh_test_del_local_model_sub | sl_btmesh_test_remove_local_model_sub | |
gecko_cmd_mesh_test_add_local_model_sub_va | sl_btmesh_test_add_local_model_sub_va | |
gecko_cmd_mesh_test_del_local_model_sub_va | sl_btmesh_test_remove_local_model_sub_va | |
gecko_cmd_mesh_test_get_local_model_sub | sl_btmesh_test_get_local_model_sub | |
gecko_cmd_mesh_test_set_local_model_pub | sl_btmesh_test_set_local_model_pub | |
gecko_cmd_mesh_test_set_local_model_pub_va | sl_btmesh_test_set_local_model_pub_va | |
gecko_cmd_mesh_test_get_local_model_pub | sl_btmesh_test_get_local_model_pub | |
gecko_cmd_mesh_test_set_local_heartbeat_subscription | sl_btmesh_test_set_local_heartbeat_subscription | |
gecko_cmd_mesh_test_get_local_heartbeat_subscription | sl_btmesh_test_get_local_heartbeat_subscription | |
gecko_cmd_mesh_test_get_local_heartbeat_publication | sl_btmesh_test_get_local_heartbeat_publication | |
gecko_cmd_mesh_test_set_local_heartbeat_publication | sl_btmesh_test_set_local_heartbeat_publication | |
gecko_cmd_mesh_test_set_local_config | sl_btmesh_test_set_local_config | |
gecko_cmd_mesh_test_get_local_config | sl_btmesh_test_get_local_config | |
gecko_cmd_mesh_test_add_local_key | sl_btmesh_test_add_local_key | |
gecko_cmd_mesh_test_del_local_key | sl_btmesh_test_remove_local_key | |
gecko_cmd_mesh_test_update_local_key | sl_btmesh_test_update_local_key | |
gecko_cmd_mesh_test_set_sar_config | sl_btmesh_test_set_sar_config | |
gecko_cmd_mesh_test_get_element_seqnum | ||
gecko_cmd_mesh_test_set_adv_bearer_state | sl_btmesh_test_set_adv_bearer_state | |
gecko_cmd_mesh_test_get_key_count | Moved to mesh_node class | |
gecko_cmd_mesh_test_get_key | ||
gecko_cmd_mesh_test_prov_get_device_key | sl_btmesh_test_prov_get_device_key | |
gecko_cmd_mesh_test_prov_prepare_key_refresh | sl_btmesh_test_prov_prepare_key_refresh | |
gecko_cmd_mesh_test_cancel_segmented_tx | sl_btmesh_test_cancel_segmented_tx | |
gecko_cmd_mesh_test_set_iv_index | sl_btmesh_test_set_iv_index | |
gecko_cmd_mesh_test_set_element_seqnum | sl_btmesh_test_set_element_seqnum | |
gecko_cmd_mesh_test_set_model_option | sl_btmesh_test_set_model_option | |
gecko_cmd_mesh_test_get_local_model_app_bindings | sl_btmesh_test_get_local_model_app_bindings | |
gecko_cmd_mesh_test_get_replay_protection_list_entry | sl_btmesh_test_get_replay_protection_list_entry | |
gecko_cmd_mesh_test_clear_replay_protection_list_entry | sl_btmesh_test_clear_replay_protection_list_entry | |
CLASS: mesh_time_client | CLASS: mesh_time_client | |
gecko_cmd_mesh_time_client_init | sl_btmesh_time_client_init | |
gecko_cmd_mesh_time_client_deinit | sl_btmesh_time_client_deinit | |
gecko_cmd_mesh_time_client_get_time | sl_btmesh_time_client_get_time | |
gecko_cmd_mesh_time_client_set_time | sl_btmesh_time_client_set_time | |
gecko_cmd_mesh_time_client_get_time_zone | sl_btmesh_time_client_get_time_zone | |
gecko_cmd_mesh_time_client_set_time_zone | sl_btmesh_time_client_set_time_zone | |
gecko_cmd_mesh_time_client_get_tai_utc_delta | sl_btmesh_time_client_get_tai_utc_delta | |
gecko_cmd_mesh_time_client_set_tai_utc_delta | sl_btmesh_time_client_set_tai_utc_delta | |
gecko_cmd_mesh_time_client_get_time_role | sl_btmesh_time_client_get_time_role | |
gecko_cmd_mesh_time_client_set_time_role | sl_btmesh_time_client_set_time_role | |
CLASS: mesh_time_server | CLASS: mesh_time_server | |
gecko_cmd_mesh_time_server_init | sl_btmesh_time_server_init | |
gecko_cmd_mesh_time_server_deinit | sl_btmesh_time_server_deinit | |
gecko_cmd_mesh_time_server_get_time | sl_btmesh_time_server_get_time | |
gecko_cmd_mesh_time_server_set_time | sl_btmesh_time_server_set_time | |
gecko_cmd_mesh_time_server_get_time_zone_offset_new | sl_btmesh_time_server_get_time_zone_offset_new | |
gecko_cmd_mesh_time_server_set_time_zone_offset_new | sl_btmesh_time_server_set_time_zone_offset_new | |
gecko_cmd_mesh_time_server_get_tai_utc_delta_new | sl_btmesh_time_server_get_tai_utc_delta_new | |
gecko_cmd_mesh_time_server_set_tai_utc_delta_new | sl_btmesh_time_server_set_tai_utc_delta_new | |
gecko_cmd_mesh_time_server_get_time_role | sl_btmesh_time_server_get_time_role | |
gecko_cmd_mesh_time_server_set_time_role | sl_btmesh_time_server_set_time_role | |
gecko_cmd_mesh_time_server_get_datetime | sl_btmesh_time_server_get_datetime | |
CLASS: mesh_vendor_model | CLASS: mesh_vendor_model | |
gecko_cmd_mesh_vendor_model_send | sl_btmesh_vendor_model_send | |
gecko_cmd_mesh_vendor_model_set_publication | sl_btmesh_vendor_model_set_publication | |
gecko_cmd_mesh_vendor_model_clear_publication | sl_btmesh_vendor_model_clear_publication | |
gecko_cmd_mesh_vendor_model_publish | sl_btmesh_vendor_model_publish | |
gecko_cmd_mesh_vendor_model_init | sl_btmesh_vendor_model_init | |
gecko_cmd_mesh_vendor_model_deinit | sl_btmesh_vendor_model_deinit |
Changes in BGAPI events#
Just like BGAPI commands, BGAPI events are also renamed. In Bluetooth Mesh SDK v2.x event IDs start with sl_btmesh_evt_instead
of gecko_evt_
. Similarly, the event struct types start with sl_btmesh_evt_instead
of gecko_msg_evt
, although these types are rarely referenced in the application.
Additionally, some events are renamed because of changing BGAPI class. In the following table contains all the events that have more than just the name change.
API 1.x | API 2.0 | Notes |
---|---|---|
CLASS: mesh_config | CLASS: mesh_config | There is no change to this class except the prefix change. |
gecko_evt_mesh_config_client_appkey_list_id struct gecko_msg_mesh_config_client_appkey_list_evt_t | sl_btmesh_evt_config_client_appkey_list_id sl_btmesh_evt_config_client_appkey_list_t | |
gecko_evt_mesh_config_client_request_modified_id gecko_msg_mesh_config_client_request_modified_evt_t | sl_btmesh_evt_config_client_request_modified_id sl_btmesh_evt_config_client_request_modified_t | |
gecko_evt_mesh_config_client_netkey_status_id gecko_msg_mesh_config_client_netkey_status_evt_t | sl_btmesh_evt_config_client_netkey_status_id sl_btmesh_evt_config_client_netkey_status_t | |
gecko_evt_mesh_config_client_netkey_list_id gecko_msg_mesh_config_client_netkey_list_evt_t | sl_btmesh_evt_config_client_netkey_list_id sl_btmesh_evt_config_client_netkey_list_t | |
gecko_evt_mesh_config_client_netkey_list_end_id gecko_msg_mesh_config_client_netkey_list_end_evt_t | sl_btmesh_evt_config_client_netkey_list_end_id sl_btmesh_evt_config_client_netkey_list_end_t | |
gecko_evt_mesh_config_client_appkey_status_id gecko_msg_mesh_config_client_appkey_status_evt_t | sl_btmesh_evt_config_client_appkey_status_id sl_btmesh_evt_config_client_appkey_status_t | |
gecko_evt_mesh_config_client_appkey_list_id gecko_msg_mesh_config_client_appkey_list_evt_t | sl_btmesh_evt_config_client_appkey_list_id sl_btmesh_evt_config_client_appkey_list_t | |
gecko_evt_mesh_config_client_appkey_list_end_id gecko_msg_mesh_config_client_appkey_list_end_evt_t | sl_btmesh_evt_config_client_appkey_list_end_id sl_btmesh_evt_config_client_appkey_list_end_t | |
gecko_evt_mesh_config_client_binding_status_id gecko_msg_mesh_config_client_binding_status_evt_t | sl_btmesh_evt_config_client_binding_status_id sl_btmesh_evt_config_client_binding_status_t | |
gecko_evt_mesh_config_client_bindings_list_id gecko_msg_mesh_config_client_bindings_list_evt_t | sl_btmesh_evt_config_client_bindings_list_id sl_btmesh_evt_config_client_bindings_list_t | |
gecko_evt_mesh_config_client_bindings_list_end_id gecko_msg_mesh_config_client_bindings_list_end_evt_t | sl_btmesh_evt_config_client_bindings_list_end_id sl_btmesh_evt_config_client_bindings_list_end_t | |
gecko_evt_mesh_config_client_model_pub_status_id gecko_msg_mesh_config_client_model_pub_status_evt_t | sl_btmesh_evt_config_client_model_pub_status_id sl_btmesh_evt_config_client_model_pub_status_t | |
gecko_evt_mesh_config_client_model_sub_status_id gecko_msg_mesh_config_client_model_sub_status_evt_t | sl_btmesh_evt_config_client_model_sub_status_id sl_btmesh_evt_config_client_model_sub_status_t | |
gecko_evt_mesh_config_client_subs_list_id gecko_msg_mesh_config_client_subs_list_evt_t | sl_btmesh_evt_config_client_subs_list_id sl_btmesh_evt_config_client_subs_list_t | |
gecko_evt_mesh_config_client_subs_list_end_id gecko_msg_mesh_config_client_subs_list_end_evt_t | sl_btmesh_evt_config_client_subs_list_end_id sl_btmesh_evt_config_client_subs_list_end_t | |
gecko_evt_mesh_config_client_heartbeat_pub_status_id gecko_msg_mesh_config_client_heartbeat_pub_status_evt_t | sl_btmesh_evt_config_client_heartbeat_pub_status_id sl_btmesh_evt_config_client_heartbeat_pub_status_t | |
gecko_evt_mesh_config_client_heartbeat_sub_status_id gecko_msg_mesh_config_client_heartbeat_sub_status_evt_t | sl_btmesh_evt_config_client_heartbeat_sub_status_id sl_btmesh_evt_config_client_heartbeat_sub_status_t | |
gecko_evt_mesh_config_client_beacon_status_id gecko_msg_mesh_config_client_beacon_status_evt_t | sl_btmesh_evt_config_client_beacon_status_id sl_btmesh_evt_config_client_beacon_status_t | |
gecko_evt_mesh_config_client_default_ttl_status_id gecko_msg_mesh_config_client_default_ttl_status_evt_t | sl_btmesh_evt_config_client_default_ttl_status_id sl_btmesh_evt_config_client_default_ttl_status_t | |
gecko_evt_mesh_config_client_gatt_proxy_status_id gecko_msg_mesh_config_client_gatt_proxy_status_evt_t | sl_btmesh_evt_config_client_gatt_proxy_status_id sl_btmesh_evt_config_client_gatt_proxy_status_t | |
gecko_evt_mesh_config_client_relay_status_id gecko_msg_mesh_config_client_relay_status_evt_t | sl_btmesh_evt_config_client_relay_status_id sl_btmesh_evt_config_client_relay_status_t | |
gecko_evt_mesh_config_client_network_transmit_status_id gecko_msg_mesh_config_client_network_transmit_status_evt_t | sl_btmesh_evt_config_client_network_transmit_status_id sl_btmesh_evt_config_client_network_transmit_status_t | |
gecko_evt_mesh_config_client_identity_status_id gecko_msg_mesh_config_client_identity_status_evt_t | sl_btmesh_evt_config_client_identity_status_id sl_btmesh_evt_config_client_identity_status_t | |
gecko_evt_mesh_config_client_friend_status_id gecko_msg_mesh_config_client_friend_status_evt_t | sl_btmesh_evt_config_client_friend_status_id sl_btmesh_evt_config_client_friend_status_t | |
gecko_evt_mesh_config_client_lpn_polltimeout_status_id gecko_msg_mesh_config_client_lpn_polltimeout_status_evt_t | sl_btmesh_evt_config_client_lpn_polltimeout_status_id sl_btmesh_evt_config_client_lpn_polltimeout_status_t | |
gecko_evt_mesh_config_client_dcd_data_id gecko_msg_mesh_config_client_dcd_data_evt_t | sl_btmesh_evt_config_client_dcd_data_id sl_btmesh_evt_config_client_dcd_data_t | |
gecko_evt_mesh_config_client_dcd_data_end_id gecko_msg_mesh_config_client_dcd_data_end_evt_t | sl_btmesh_evt_config_client_dcd_data_end_id sl_btmesh_evt_config_client_dcd_data_end_t | |
gecko_evt_mesh_config_client_reset_status_id gecko_msg_mesh_config_client_reset_status_evt_t | sl_btmesh_evt_config_client_reset_status_id sl_btmesh_evt_config_client_reset_status_t | |
CLASS: mesh_friend | CLASS: mesh_ friend | There is no change to this class except the prefix change. |
gecko_evt_mesh_friend_friendship_established_id gecko_msg_mesh_friend_friendship_established_evt_t | sl_btmesh_evt_friend_friendship_established_id sl_btmesh_evt_friend_friendship_established_t | |
gecko_evt_mesh_friend_friendship_terminated_id gecko_msg_mesh_friend_friendship_terminated_evt_t | sl_btmesh_evt_friend_friendship_terminated_id sl_btmesh_evt_friend_friendship_terminated_t | |
CLASS: mesh_generic_client | CLASS: mesh_generic_client | There is no change to this class except the prefix change. |
gecko_evt_mesh_generic_client_server_status_id gecko_msg_mesh_generic_client_server_status_evt_t | sl_btmesh_evt_generic_client_server_status_id sl_btmesh_evt_generic_client_server_status_t | |
CLASS: mesh_generic_server | CLASS: mesh_generic_server | There is no change to this class except the prefix change. |
gecko_evt_mesh_generic_server_client_request_id gecko_msg_mesh_generic_server_client_request_evt_t | sl_btmesh_evt_generic_server_client_request_id sl_btmesh_evt_generic_server_client_request_t | |
gecko_evt_mesh_generic_server_state_changed_id gecko_msg_mesh_generic_server_state_changed_evt_t | sl_btmesh_evt_generic_server_state_changed_id sl_btmesh_evt_generic_server_state_changed_t | |
gecko_evt_mesh_generic_server_state_recall_id gecko_msg_mesh_generic_server_state_recall_evt_t | sl_btmesh_evt_generic_server_state_recall_id sl_btmesh_evt_generic_server_state_recall_t | |
CLASS: mesh_health_client | CLASS: mesh_health_client | There is no change to this class except the prefix change. |
gecko_evt_mesh_health_client_server_status_id gecko_msg_mesh_health_client_server_status_evt_t | sl_btmesh_evt_health_client_server_status_id sl_btmesh_evt_health_client_server_status_t | |
gecko_evt_mesh_health_client_server_status_period_id gecko_msg_mesh_health_client_server_status_period_evt_t | sl_btmesh_evt_health_client_server_status_period_id sl_btmesh_evt_health_client_server_status_period_t | |
gecko_evt_mesh_health_client_server_status_attention_id gecko_msg_mesh_health_client_server_status_attention_evt_t | sl_btmesh_evt_health_client_server_status_attention_id sl_btmesh_evt_health_client_server_status_attention_t | |
CLASS: mesh_health_server | CLASS: mesh_health_server | There is no change to this class except the prefix change. |
gecko_evt_mesh_health_server_attention_id gecko_msg_mesh_health_server_attention_evt_t | sl_btmesh_evt_health_server_attention_id sl_btmesh_evt_health_server_attention_t | |
gecko_evt_mesh_health_server_test_request_id gecko_msg_mesh_health_server_test_request_evt_t | sl_btmesh_evt_health_server_test_request_id sl_btmesh_evt_health_server_test_request_t | |
CLASS: mesh_lc_client | CLASS: mesh_lc_client | There is no change to this class except the prefix change. |
gecko_evt_mesh_lc_client_mode_status_id gecko_msg_mesh_lc_client_mode_status_evt_t | sl_btmesh_evt_lc_client_mode_status_id sl_btmesh_evt_lc_client_mode_status_t | |
gecko_evt_mesh_lc_client_om_status_id gecko_msg_mesh_lc_client_om_status_evt_t | sl_btmesh_evt_lc_client_om_status_id sl_btmesh_evt_lc_client_om_status_t | |
gecko_evt_mesh_lc_client_light_onoff_status_id gecko_msg_mesh_lc_client_light_onoff_status_evt_t | sl_btmesh_evt_lc_client_light_onoff_status_id sl_btmesh_evt_lc_client_light_onoff_status_t | |
gecko_evt_mesh_lc_client_property_status_id gecko_msg_mesh_lc_client_property_status_evt_t | sl_btmesh_evt_lc_client_property_status_id sl_btmesh_evt_lc_client_property_status_t | |
CLASS: mesh_lc_server | CLASS: mesh_lc_server | There is no change to this class except the prefix change. |
gecko_evt_mesh_lc_server_mode_updated_id gecko_msg_mesh_lc_server_mode_updated_evt_t | sl_btmesh_evt_lc_server_mode_updated_id sl_btmesh_evt_lc_server_mode_updated_t | |
gecko_evt_mesh_lc_server_om_updated_id gecko_msg_mesh_lc_server_om_updated_evt_t | sl_btmesh_evt_lc_server_om_updated_id sl_btmesh_evt_lc_server_om_updated_t | |
gecko_evt_mesh_lc_server_light_onoff_updated_id gecko_msg_mesh_lc_server_light_onoff_updated_evt_t | sl_btmesh_evt_lc_server_light_onoff_updated_id sl_btmesh_evt_lc_server_light_onoff_updated_t | |
gecko_evt_mesh_lc_server_occupancy_updated_id gecko_msg_mesh_lc_server_occupancy_updated_evt_t | sl_btmesh_evt_lc_server_occupancy_updated_id sl_btmesh_evt_lc_server_occupancy_updated_t | |
gecko_evt_mesh_lc_server_ambient_lux_level_updated_id gecko_msg_mesh_lc_server_ambient_lux_level_updated_evt_t | sl_btmesh_evt_lc_server_ambient_lux_level_updated_id sl_btmesh_evt_lc_server_ambient_lux_level_updated_t | |
gecko_evt_mesh_lc_server_linear_output_updated_id gecko_msg_mesh_lc_server_linear_output_updated_evt_t | sl_btmesh_evt_lc_server_linear_output_updated_id sl_btmesh_evt_lc_server_linear_output_updated_t | |
gecko_evt_mesh_lc_server_state_updated_id gecko_msg_mesh_lc_server_state_updated_evt_t | sl_btmesh_evt_lc_server_state_updated_id sl_btmesh_evt_lc_server_state_updated_t | |
gecko_evt_mesh_lc_server_regulator_debug_info_id gecko_msg_mesh_lc_server_regulator_debug_info_evt_t | sl_btmesh_evt_lc_server_regulator_debug_info_id sl_btmesh_evt_lc_server_regulator_debug_info_t | |
CLASS: mesh_lc_setup_server | CLASS: mesh_lc_setup_server | There is no change to this class except the prefix change. |
gecko_evt_mesh_lc_setup_server_set_property_id gecko_msg_mesh_lc_setup_server_set_property_evt_t | sl_btmesh_evt_lc_setup_server_set_property_id sl_btmesh_evt_lc_setup_server_set_property_t | |
CLASS: mesh_lpn | CLASS: mesh_lpn | There is no change to this class except the prefix change. |
gecko_evt_mesh_lpn_friendship_established_id gecko_msg_mesh_lpn_friendship_established_evt_t | sl_btmesh_evt_lpn_friendship_established_id sl_btmesh_evt_lpn_friendship_established_t | |
gecko_evt_mesh_lpn_friendship_failed_id gecko_msg_mesh_lpn_friendship_failed_evt_t | sl_btmesh_evt_lpn_friendship_failed_id sl_btmesh_evt_lpn_friendship_failed_t | |
gecko_evt_mesh_lpn_friendship_terminated_id gecko_msg_mesh_lpn_friendship_terminated_evt_t | sl_btmesh_evt_lpn_friendship_terminated_id sl_btmesh_evt_lpn_friendship_terminated_t | |
CLASS: mesh_node | CLASS: mesh_node | |
gecko_evt_mesh_node_initialized_id gecko_msg_mesh_node_initialized_evt_t | sl_btmesh_evt_node_initialized_id sl_btmesh_evt_node_initialized_t | |
gecko_evt_mesh_node_provisioned_id gecko_msg_mesh_node_provisioned_evt_t | sl_btmesh_evt_node_provisioned_id sl_btmesh_evt_node_provisioned_t | |
gecko_evt_mesh_node_config_get_id gecko_msg_mesh_node_config_get_evt_t | sl_btmesh_evt_node_config_get_id sl_btmesh_evt_node_config_get_t | |
gecko_evt_mesh_node_config_set_id gecko_msg_mesh_node_config_set_evt_t | sl_btmesh_evt_node_config_set_id sl_btmesh_evt_node_config_set_t | |
gecko_evt_mesh_node_display_output_oob_id gecko_msg_mesh_node_display_output_oob_evt_t | sl_btmesh_evt_node_display_output_oob_id sl_btmesh_evt_node_display_output_oob_t | |
gecko_evt_mesh_node_input_oob_request_id gecko_msg_mesh_node_input_oob_request_evt_t | sl_btmesh_evt_node_input_oob_request_id sl_btmesh_evt_node_input_oob_request_t | |
gecko_evt_mesh_node_provisioning_started_id gecko_msg_mesh_node_provisioning_started_evt_t | sl_btmesh_evt_node_provisioning_started_id sl_btmesh_evt_node_provisioning_started_t | |
gecko_evt_mesh_node_provisioning_failed_id gecko_msg_mesh_node_provisioning_failed_evt_t | sl_btmesh_evt_node_provisioning_failed_id sl_btmesh_evt_node_provisioning_failed_t | |
gecko_evt_mesh_node_key_added_id gecko_msg_mesh_node_key_added_evt_t | sl_btmesh_evt_node_key_added_id sl_btmesh_evt_node_key_added_t | |
gecko_evt_mesh_node_model_config_changed_id gecko_msg_mesh_node_model_config_changed_evt_t | sl_btmesh_evt_node_model_config_changed_id sl_btmesh_evt_node_model_config_changed_t | |
gecko_evt_mesh_node_reset_id gecko_msg_mesh_node_reset_evt_t | sl_btmesh_evt_node_reset_id | No event anymore |
gecko_evt_mesh_node_ivrecovery_needed_id gecko_msg_mesh_node_ivrecovery_needed_evt_t | sl_btmesh_evt_node_ivrecovery_needed_id sl_btmesh_evt_node_ivrecovery_needed_t | |
gecko_evt_mesh_node_changed_ivupdate_state_id gecko_msg_mesh_node_changed_ivupdate_state_evt_t | sl_btmesh_evt_node_changed_ivupdate_state_id sl_btmesh_evt_node_changed_ivupdate_state_t | |
gecko_evt_mesh_node_static_oob_request_id gecko_msg_mesh_node_static_oob_request_evt_t | sl_btmesh_evt_node_static_oob_request_id | No event anymore |
gecko_evt_mesh_node_key_removed_id gecko_msg_mesh_node_key_removed_evt_t | sl_btmesh_evt_node_key_removed_id sl_btmesh_evt_node_key_removed_t | |
gecko_evt_mesh_node_key_updated_id gecko_msg_mesh_node_key_updated_evt_t | sl_btmesh_evt_node_key_updated_id sl_btmesh_evt_node_key_updated_t | |
gecko_evt_mesh_node_heartbeat_id gecko_msg_mesh_node_heartbeat_evt_t | sl_btmesh_evt_node_heartbeat_id sl_btmesh_evt_node_heartbeat_t | |
gecko_evt_mesh_node_heartbeat_start_id gecko_msg_mesh_node_heartbeat_start_evt_t | sl_btmesh_evt_node_heartbeat_start_id sl_btmesh_evt_node_heartbeat_start_t | |
gecko_evt_mesh_node_heartbeat_stop_id gecko_msg_mesh_node_heartbeat_stop_evt_t | sl_btmesh_evt_node_heartbeat_stop_id sl_btmesh_evt_node_heartbeat_stop_t | |
gecko_evt_mesh_node_beacon_received_id gecko_msg_mesh_node_beacon_received_evt_t | sl_btmesh_evt_node_beacon_received_id sl_btmesh_evt_node_beacon_received_t | |
sl_btmesh_evt_node_local_dcd_data_id sl_btmesh_evt_node_local_dcd_data_t | sl_btmesh_node_get_local_dcd will trigger this event, and it carries the DCD data | |
sl_btmesh_evt_node_local_dcd_data_end_id sl_btmesh_evt_node_local_dcd_data_end_t | sl_btmesh_node_get_local_dcd will trigger this event, and it indicates all DCD data is reported | |
CLASS: mesh_prov | CLASS: mesh_prov | |
gecko_evt_mesh_prov_initialized_id gecko_msg_mesh_prov_initialized_evt_t | sl_btmesh_evt_prov_initialized_id sl_btmesh_evt_prov_initialized_t | |
gecko_evt_mesh_prov_provisioning_failed_id gecko_msg_mesh_prov_provisioning_failed_evt_t | sl_btmesh_evt_prov_provisioning_failed_id sl_btmesh_evt_prov_provisioning_failed_t | |
gecko_evt_mesh_prov_device_provisioned_id gecko_msg_mesh_prov_device_provisioned_evt_t | sl_btmesh_evt_prov_device_provisioned_id sl_btmesh_evt_prov_device_provisioned_t | |
gecko_evt_mesh_prov_unprov_beacon_id gecko_msg_mesh_prov_unprov_beacon_evt_t | sl_btmesh_evt_prov_unprov_beacon_id sl_btmesh_evt_prov_unprov_beacon_t | |
gecko_evt_mesh_prov_oob_pkey_request_id gecko_msg_mesh_prov_oob_pkey_request_evt_t | sl_btmesh_evt_prov_oob_pkey_request_id sl_btmesh_evt_prov_oob_pkey_request_t | |
gecko_evt_mesh_prov_oob_auth_request_id gecko_msg_mesh_prov_oob_auth_request_evt_t | sl_btmesh_evt_prov_oob_auth_request_id sl_btmesh_evt_prov_oob_auth_request_t | |
gecko_evt_mesh_prov_oob_display_input_id gecko_msg_mesh_prov_oob_display_input_evt_t | sl_btmesh_evt_prov_oob_display_input_id sl_btmesh_evt_prov_oob_display_input_t | |
gecko_evt_mesh_prov_ddb_list_id gecko_msg_mesh_prov_ddb_list_evt_t | sl_btmesh_evt_prov_ddb_list_id sl_btmesh_evt_prov_ddb_list_t | |
gecko_evt_mesh_prov_uri_id gecko_msg_mesh_prov_uri_evt_t | sl_btmesh_evt_prov_uri_id sl_btmesh_evt_prov_uri_t | |
gecko_evt_mesh_prov_key_refresh_phase_update_id gecko_msg_mesh_prov_key_refresh_phase_update_evt_t | sl_btmesh_evt_prov_key_refresh_phase_update_id sl_btmesh_evt_prov_key_refresh_phase_update_t | |
gecko_evt_mesh_prov_key_refresh_node_update_id gecko_msg_mesh_prov_key_refresh_node_update_evt_t | sl_btmesh_evt_prov_key_refresh_node_update_id sl_btmesh_evt_prov_key_refresh_node_update_t | |
gecko_evt_mesh_prov_key_refresh_complete_id gecko_msg_mesh_prov_key_refresh_complete_evt_t | sl_btmesh_evt_prov_key_refresh_complete_id sl_btmesh_evt_prov_key_refresh_complete_t | |
sl_btmesh_evt_prov_provisioning_suspended_id sl_btmesh_evt_prov_provisioning_suspended_t | Provisioning suspended, needs user input the configuration data to continue | |
sl_btmesh_evt_prov_capabilities_id sl_btmesh_evt_prov_capabilities_t | ||
CLASS: mesh_proxy | CLASS: mesh_proxy | |
gecko_evt_mesh_proxy_connected_id gecko_msg_mesh_proxy_connected_evt_t | sl_btmesh_evt_proxy_connected_id sl_btmesh_evt_proxy_connected_t | |
gecko_evt_mesh_proxy_disconnected_id gecko_msg_mesh_proxy_disconnected_evt_t | sl_btmesh_evt_proxy_disconnected_id sl_btmesh_evt_proxy_disconnected_t | |
gecko_evt_mesh_proxy_filter_status_id gecko_msg_mesh_proxy_filter_status_evt_t | sl_btmesh_evt_proxy_filter_status_id sl_btmesh_evt_proxy_filter_status_t | |
CLASS: mesh_scene_client | CLASS: mesh_scene_client | |
gecko_evt_mesh_scene_client_status_id gecko_msg_mesh_scene_client_status_evt_t | sl_btmesh_evt_scene_client_status_id sl_btmesh_evt_scene_client_status_t | |
gecko_evt_mesh_scene_client_register_status_id gecko_msg_mesh_scene_client_register_status_evt_t | sl_btmesh_evt_scene_client_register_status_id sl_btmesh_evt_scene_client_register_status_t | |
CLASS: mesh_scene_server | CLASS: mesh_scene_server | |
gecko_evt_mesh_scene_server_get_id gecko_msg_mesh_scene_server_get_evt_t | sl_btmesh_evt_scene_server_get_id sl_btmesh_evt_scene_server_get_t | |
gecko_evt_mesh_scene_server_register_get_id gecko_msg_mesh_scene_server_register_get_evt_t | sl_btmesh_evt_scene_server_register_get_id sl_btmesh_evt_scene_server_register_get_t | |
gecko_evt_mesh_scene_server_recall_id gecko_msg_mesh_scene_server_recall_evt_t | sl_btmesh_evt_scene_server_recall_id sl_btmesh_evt_scene_server_recall_t | |
gecko_evt_mesh_scene_server_publish_id gecko_msg_mesh_scene_server_publish_evt_t | sl_btmesh_evt_scene_server_publish_id sl_btmesh_evt_scene_server_publish_t | |
CLASS: mesh_scene_setup_server | CLASS: mesh_scene_setup_server | |
gecko_evt_mesh_scene_setup_server_store_id gecko_msg_mesh_scene_setup_server_store_evt_t | sl_btmesh_evt_scene_setup_server_store_id sl_btmesh_evt_scene_setup_server_store_t | |
gecko_evt_mesh_scene_setup_server_delete_id gecko_msg_mesh_scene_setup_server_delete_evt_t | sl_btmesh_evt_scene_setup_server_delete_id sl_btmesh_evt_scene_setup_server_delete_t | |
gecko_evt_mesh_scene_setup_server_publish_id gecko_msg_mesh_scene_setup_server_publish_evt_t | sl_btmesh_evt_scene_setup_server_publish_id sl_btmesh_evt_scene_setup_server_publish_t | |
CLASS: mesh_scheduler_client | CLASS: mesh_scheduler_client | |
gecko_evt_mesh_scheduler_client_status_id gecko_msg_mesh_scheduler_client_status_evt_t | sl_btmesh_evt_scheduler_client_status_id sl_btmesh_evt_scheduler_client_status_t | |
gecko_evt_mesh_scheduler_client_action_status_id gecko_msg_mesh_scheduler_client_action_status_evt_t | sl_btmesh_evt_scheduler_client_action_status_id sl_btmesh_evt_scheduler_client_action_status_t | |
CLASS: mesh_scheduler_server | CLASS: mesh_scheduler_server | |
gecko_evt_mesh_scheduler_server_action_changed_id gecko_msg_mesh_scheduler_server_action_changed_evt_t | sl_btmesh_evt_scheduler_server_action_changed_id sl_btmesh_evt_scheduler_server_action_changed_t | |
CLASS: mesh_sensor_client | CLASS: mesh_sensor_client | |
gecko_evt_mesh_sensor_client_descriptor_status_id gecko_msg_mesh_sensor_client_descriptor_status_evt_t | sl_btmesh_evt_sensor_client_descriptor_status_id sl_btmesh_evt_sensor_client_descriptor_status_t | |
gecko_evt_mesh_sensor_client_cadence_status_id gecko_msg_mesh_sensor_client_cadence_status_evt_t | sl_btmesh_evt_sensor_client_cadence_status_id sl_btmesh_evt_sensor_client_cadence_status_t | |
gecko_evt_mesh_sensor_client_settings_status_id gecko_msg_mesh_sensor_client_settings_status_evt_t | sl_btmesh_evt_sensor_client_settings_status_id sl_btmesh_evt_sensor_client_settings_status_t | |
gecko_evt_mesh_sensor_client_setting_status_id gecko_msg_mesh_sensor_client_setting_status_evt_t | sl_btmesh_evt_sensor_client_setting_status_id sl_btmesh_evt_sensor_client_setting_status_t | |
gecko_evt_mesh_sensor_client_status_id gecko_msg_mesh_sensor_client_status_evt_t | sl_btmesh_evt_sensor_client_status_id sl_btmesh_evt_sensor_client_status_t | |
gecko_evt_mesh_sensor_client_column_status_id gecko_msg_mesh_sensor_client_column_status_evt_t | sl_btmesh_evt_sensor_client_column_status_id sl_btmesh_evt_sensor_client_column_status_t | |
gecko_evt_mesh_sensor_client_series_status_id gecko_msg_mesh_sensor_client_series_status_evt_t | sl_btmesh_evt_sensor_client_series_status_id sl_btmesh_evt_sensor_client_series_status_t | |
gecko_evt_mesh_sensor_client_publish_id gecko_msg_mesh_sensor_client_publish_evt_t | sl_btmesh_evt_sensor_client_publish_id sl_btmesh_evt_sensor_client_publish_t | |
CLASS: mesh_sensor_server | CLASS: mesh_sensor_server | |
gecko_evt_mesh_sensor_server_get_request_id gecko_msg_mesh_sensor_server_get_request_evt_t | sl_btmesh_evt_sensor_server_get_request_id sl_btmesh_evt_sensor_server_get_request_t | |
gecko_evt_mesh_sensor_server_get_column_request_id gecko_msg_mesh_sensor_server_get_column_request_evt_t | sl_btmesh_evt_sensor_server_get_column_request_id sl_btmesh_evt_sensor_server_get_column_request_t | |
gecko_evt_mesh_sensor_server_get_series_request_id gecko_msg_mesh_sensor_server_get_series_request_evt_t | sl_btmesh_evt_sensor_server_get_series_request_id sl_btmesh_evt_sensor_server_get_series_request_t | |
gecko_evt_mesh_sensor_server_publish_id gecko_msg_mesh_sensor_server_publish_evt_t | sl_btmesh_evt_sensor_server_publish_id sl_btmesh_evt_sensor_server_publish_t | |
CLASS: mesh_sensor_setup_server | CLASS: mesh_sensor_setup_server | |
gecko_evt_mesh_sensor_setup_server_get_cadence_request_id gecko_msg_mesh_sensor_setup_server_get_cadence_request_evt_t | sl_btmesh_evt_sensor_setup_server_get_cadence_request_id sl_btmesh_evt_sensor_setup_server_get_cadence_request_t | |
gecko_evt_mesh_sensor_setup_server_set_cadence_request_id gecko_msg_mesh_sensor_setup_server_set_cadence_request_evt_t | sl_btmesh_evt_sensor_setup_server_set_cadence_request_id sl_btmesh_evt_sensor_setup_server_set_cadence_request_t | |
gecko_evt_mesh_sensor_setup_server_get_settings_request_id gecko_msg_mesh_sensor_setup_server_get_settings_request_evt_t | sl_btmesh_evt_sensor_setup_server_get_settings_request_id sl_btmesh_evt_sensor_setup_server_get_settings_request_t | |
gecko_evt_mesh_sensor_setup_server_get_setting_request_id gecko_msg_mesh_sensor_setup_server_get_setting_request_evt_t | sl_btmesh_evt_sensor_setup_server_get_setting_request_id sl_btmesh_evt_sensor_setup_server_get_setting_request_t | |
gecko_evt_mesh_sensor_setup_server_set_setting_request_id gecko_msg_mesh_sensor_setup_server_set_setting_request_evt_t | sl_btmesh_evt_sensor_setup_server_set_setting_request_id sl_btmesh_evt_sensor_setup_server_set_setting_request_t | |
gecko_evt_mesh_sensor_setup_server_publish_id gecko_msg_mesh_sensor_setup_server_publish_evt_t | sl_btmesh_evt_sensor_setup_server_publish_id sl_btmesh_evt_sensor_setup_server_publish_t | |
CLASS: mesh_test | CLASS: mesh_test | |
gecko_evt_mesh_test_local_heartbeat_subscription_complete_id gecko_msg_mesh_test_local_heartbeat_subscription_complete_evt_t | sl_btmesh_evt_test_local_heartbeat_subscription_complete_id sl_btmesh_evt_test_local_heartbeat_subscription_complete_t | |
CLASS: mesh_time_client | CLASS: mesh_time_client | |
gecko_evt_mesh_time_client_time_status_id gecko_msg_mesh_time_client_time_status_evt_t | sl_btmesh_evt_time_client_time_status_id sl_btmesh_evt_time_client_time_status_t | |
gecko_evt_mesh_time_client_time_zone_status_id gecko_msg_mesh_time_client_time_zone_status_evt_t | sl_btmesh_evt_time_client_time_zone_status_id sl_btmesh_evt_time_client_time_zone_status_t | |
gecko_evt_mesh_time_client_tai_utc_delta_status_id gecko_msg_mesh_time_client_tai_utc_delta_status_evt_t | sl_btmesh_evt_time_client_tai_utc_delta_status_id sl_btmesh_evt_time_client_tai_utc_delta_status_t | |
gecko_evt_mesh_time_client_time_role_status_id gecko_msg_mesh_time_client_time_role_status_evt_t | sl_btmesh_evt_time_client_time_role_status_id sl_btmesh_evt_time_client_time_role_status_t | |
CLASS: mesh_time_server | CLASS: mesh_time_server | |
gecko_evt_mesh_time_server_time_updated_id gecko_msg_mesh_time_server_time_updated_evt_t | sl_btmesh_evt_time_server_time_updated_id sl_btmesh_evt_time_server_time_updated_t | |
gecko_evt_mesh_time_server_time_zone_offset_updated_id gecko_msg_mesh_time_server_time_zone_offset_updated_evt_t | sl_btmesh_evt_time_server_time_zone_offset_updated_id sl_btmesh_evt_time_server_time_zone_offset_updated_t | |
gecko_evt_mesh_time_server_tai_utc_delta_updated_id gecko_msg_mesh_time_server_tai_utc_delta_updated_evt_t | sl_btmesh_evt_time_server_tai_utc_delta_updated_id sl_btmesh_evt_time_server_tai_utc_delta_updated_t | |
gecko_evt_mesh_time_server_time_role_updated_id gecko_msg_mesh_time_server_time_role_updated_evt_t | sl_btmesh_evt_time_server_time_role_updated_id sl_btmesh_evt_time_server_time_role_updated_t | |
CLASS: mesh_vendor_model | CLASS: mesh_vendor_model | |
gecko_evt_mesh_vendor_model_receive_id gecko_msg_mesh_vendor_model_receive_evt_t | sl_btmesh_evt_vendor_model_receive_id sl_btmesh_evt_vendor_model_receive_t |
Migration Example#
The following code snippets show an example how a Bluetooth Mesh v1.x application is to be updated to work in the Bluetooth Mesh v2.x environment, considering all the changes mentioned above. The sample code simply starts unprovisioned device beacon.
#include "native_gecko.h" |
#include "sl_btmesh_api.h" |