RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Mesh Network Access (rm_ble_mesh_access)

Functions

fsp_err_t RM_BLE_MESH_ACCESS_Open (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_cfg_t const *const p_cfg)
 
fsp_err_t RM_BLE_MESH_ACCESS_Close (rm_ble_mesh_access_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_ACCESS_RegisterModel (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_t const *const p_model, rm_ble_mesh_access_model_handle_t *const p_model_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetElementHandle (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t elem_addr, rm_ble_mesh_access_element_handle_t *const p_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetElementHandleForModelHandle (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, rm_ble_mesh_access_element_handle_t *const p_elem_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetModelHandle (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_element_handle_t elem_handle, rm_ble_mesh_access_model_id_t model_id, rm_ble_mesh_access_model_handle_t *const p_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_Publish (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t const *const p_handle, rm_ble_mesh_access_req_msg_raw_t const *const p_publish_message, uint8_t reliable)
 
fsp_err_t RM_BLE_MESH_ACCESS_ReliablePublish (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t const *const p_handle, rm_ble_mesh_access_req_msg_raw_t const *const p_publish_message, uint32_t rsp_opcode)
 
fsp_err_t RM_BLE_MESH_ACCESS_Reply (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_req_msg_context_t const *const p_req_msg_context, uint8_t ttl, rm_ble_mesh_access_req_msg_raw_t const *const p_req_msg_raw)
 
fsp_err_t RM_BLE_MESH_ACCESS_ReplyAndPublish (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_req_msg_context_t const *const p_req_msg_context, rm_ble_mesh_access_req_msg_raw_t const *const p_req_msg_raw, rm_ble_mesh_access_publish_setting_t const *const p_publish_setting)
 
fsp_err_t RM_BLE_MESH_ACCESS_SendPdu (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_pdu_t const *const p_pdu, uint8_t reliable)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetCompositionData (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_buffer_t *const p_buffer)
 
fsp_err_t RM_BLE_MESH_ACCESS_Reset (rm_ble_mesh_access_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetElementCount (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t *const p_count)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetPrimaryUnicastAddress (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetPrimaryUnicastAddress (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t *const p_addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetDefaultTtl (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t ttl)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetDefaultTtl (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t const *const p_ttl)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetIvIndex (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint32_t iv_index, uint8_t iv_update_flag)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetIvIndex (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint32_t *const p_iv_index, uint8_t *const p_iv_update_flag)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetIvIndexByIvi (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t ivi, uint32_t *const p_iv_index)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetFeaturesField (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t enable, uint8_t feature)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetFeaturesField (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t *const p_enable, uint8_t feature)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetFeatures (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t *const p_features)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetFriendshipRole (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t *const p_friend_role)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetFriendshipRole (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t friend_role)
 
fsp_err_t RM_BLE_MESH_ACCESS_AddDeviceKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t const *const p_dev_key, rm_ble_mesh_network_address_t uaddr, uint8_t num_elements)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetDeviceKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t dev_key_index, uint8_t **const p_dev_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_RemoveAllDeviceKeys (rm_ble_mesh_access_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetProvisionedDeviceList (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_provisioned_device_entry_t const *const p_prov_dev_list, uint16_t *const p_num_entries)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetDeviceKeyHandle (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t prim_elem_uaddr, rm_ble_mesh_access_device_key_handle_t *const p_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_appkey_handle_t appkey_handle, uint8_t **const p_app_key, uint8_t *const p_aid)
 
fsp_err_t RM_BLE_MESH_ACCESS_AddUpdateNetkey (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint16_t netkey_index, uint32_t opcode, uint8_t const *const p_net_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_AddFriendSecurityCredential (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t friend_index, rm_ble_mesh_access_friend_security_credential_info_t info)
 
fsp_err_t RM_BLE_MESH_ACCESS_DeleteFriendSecurityCredential (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t friend_index)
 
fsp_err_t RM_BLE_MESH_ACCESS_FindSubnet (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint16_t netkey_index, rm_ble_mesh_network_subnet_handle_t *const p_subnet_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_FindMasterSubnet (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t friend_subnet_handle, rm_ble_mesh_network_subnet_handle_t *const p_master_subnet_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_DeleteNetKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetNetKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t *const p_net_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetNetKeyIndexList (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint16_t *const p_netkey_count, uint16_t *const p_netkey_index_list)
 
fsp_err_t RM_BLE_MESH_ACCESS_LookUpNid (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t nid, rm_ble_mesh_network_subnet_handle_t *const p_subnet_handle, rm_ble_mesh_access_associated_keys_t *const p_key_set)
 
fsp_err_t RM_BLE_MESH_ACCESS_LookUpNetworkId (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t const *const p_network_id, rm_ble_mesh_network_subnet_handle_t *const p_subnet_handle, rm_ble_mesh_access_associated_keys_t *const p_key_set)
 
fsp_err_t RM_BLE_MESH_ACCESS_LookUpAid (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t aid, rm_ble_mesh_network_appkey_handle_t *const p_appkey_handle, uint8_t *const p_app_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetProvisioningData (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_provision_data_t const *const p_prov_data)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetNid (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_nid)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetPrivacyKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_privacy_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetNetworkId (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_network_id)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetBeaconKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_beacon_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetIdentityKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_identity_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetEncryptionKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t handle, uint8_t *const p_encrypt_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetNodeIdentity (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t *const p_id_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetNodeIdentity (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t *const p_id_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetKeyRefreshPhase (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t *const p_key_refresh_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetKeyRefreshPhase (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t const *const p_key_refresh_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetTransmitState (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t tx_state_type, uint8_t tx_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetTransmitState (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint8_t tx_state_type, uint8_t *const p_tx_state)
 
fsp_err_t RM_BLE_MESH_ACCESS_AddAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t appkey_index, uint8_t const *const p_app_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_UpdateAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t appkey_index, uint8_t const *const p_app_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_DeleteAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t appkey_index, uint8_t const *const p_app_key)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetAppKeyHandle (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t appkey_index, uint8_t const *const p_app_key, rm_ble_mesh_network_appkey_handle_t *const p_appkey_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetAppKeyIndexList (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint16_t *const p_appkey_count, uint16_t *const p_appkey_index_list)
 
fsp_err_t RM_BLE_MESH_ACCESS_BindModelWithAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, uint16_t appkey_index)
 
fsp_err_t RM_BLE_MESH_ACCESS_UnbindModelWithAppKey (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, uint16_t appkey_index)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetModelAppKeyList (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, uint16_t *const p_appkey_count, uint16_t *const p_appkey_index_list)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetModelPublication (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, rm_ble_mesh_access_publish_info_t *const p_publish_info)
 
fsp_err_t RM_BLE_MESH_ACCESS_SetModelPublicationPeriodDivisor (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, uint8_t period_divisor)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetModelPublication (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, rm_ble_mesh_access_publish_info_t *const p_publish_info)
 
fsp_err_t RM_BLE_MESH_ACCESS_AddModelSubscription (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, rm_ble_mesh_access_address_t const *const p_sub_addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_DeleteModelSubscription (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, rm_ble_mesh_access_address_t const *const p_sub_addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_DeleteAllModelSubscription (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetModelSubscriptionList (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t model_handle, uint16_t *const p_sub_addr_count, uint16_t *const p_sub_addr_list)
 
fsp_err_t RM_BLE_MESH_ACCESS_GetAllModelSubscriptionList (rm_ble_mesh_access_ctrl_t *const p_ctrl, uint16_t *const p_sub_addr_count, uint16_t *const p_sub_addr_list)
 
fsp_err_t RM_BLE_MESH_ACCESS_IsValidElementAddress (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_IsFixedGroupAddressToBeProcessed (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_IsValidSubscriptionAddress (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr)
 
fsp_err_t RM_BLE_MESH_ACCESS_EnableIvUpdateTestMode (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_iv_update_test_mode_t mode)
 

Detailed Description

Overview

Target Devices

The BLE Mesh Network Access module supports the following devices.

Configuration

Build Time Configurations for rm_ble_mesh_access

The following build time configurations are defined in fsp_cfg/rm_ble_mesh_access_cfg.h:

ConfigurationOptionsDefaultDescription

Configurations for Networking > BLE Mesh Network modules > BLE Mesh Access (rm_ble_mesh_access)

This module can be added to the Stacks tab via New Stack > Networking > BLE Mesh Network modules > BLE Mesh Access (rm_ble_mesh_access).

ConfigurationOptionsDefaultDescription
General
NameName Must Be a Valid C Symbolg_rm_ble_mesh_access0 Module name.
Channel NumberInvalid Channel Number0 Select channel corresponding to the channel number of the hardware.
Location DescriptorInvalid Descriptor0 Location descriptor.
Element NumberInvalid Descriptor0 Element number to register the model.

Data Structures

struct  rm_ble_mesh_access_instance_ctrl_t
 

Data Structure Documentation

◆ rm_ble_mesh_access_instance_ctrl_t

struct rm_ble_mesh_access_instance_ctrl_t

RM_BLE_MESH_ACCESS private control block. DO NOT MODIFY. Initialization occurs when RM_BLE_MESH_ACCESS_Open() is called.

Function Documentation

◆ RM_BLE_MESH_ACCESS_Open()

fsp_err_t RM_BLE_MESH_ACCESS_Open ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_cfg_t const *const  p_cfg 
)

Open access middleware. This routine creates a new node in the device. This can be used by the application to create extra nodes if required in addition to the default primary node. And this routine registers an element that can be populated with the models information to a specific node in the device identified by the node id.

Implements rm_ble_mesh_access_api_t::open.

Example:

/* Open the module. */
err = RM_BLE_MESH_ACCESS_Open(&g_ble_mesh_access0_ctrl, &g_ble_mesh_access0_cfg);
Return values
FSP_SUCCESSModule opened successfully.
FSP_ERR_ASSERTIONPointer to control block or configuration structure is NULL.
FSP_ERR_ALREADY_OPENModule is already open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_Close()

fsp_err_t RM_BLE_MESH_ACCESS_Close ( rm_ble_mesh_access_ctrl_t *const  p_ctrl)

Close access middleware. Implements rm_ble_mesh_access_api_t::close.

Example:

/* Close the module. */
err = RM_BLE_MESH_ACCESS_Close(&g_ble_mesh_access0_ctrl);
Return values
FSP_SUCCESSModule successfully closed.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_ACCESS_RegisterModel()

fsp_err_t RM_BLE_MESH_ACCESS_RegisterModel ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_t const *const  p_model,
rm_ble_mesh_access_model_handle_t *const  p_model_handle 
)

Register a model with the access layer. This routine registers a model associated with an element with the access layer.

Implements rm_ble_mesh_access_api_t::registerModel.

Example:

/* Register a model with the access layer. */
err = RM_BLE_MESH_ACCESS_RegisterModel(&g_ble_mesh_access0_ctrl, &model, &model_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_model and p_model_handle are NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetElementHandle()

fsp_err_t RM_BLE_MESH_ACCESS_GetElementHandle ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  elem_addr,
rm_ble_mesh_access_element_handle_t *const  p_handle 
)

Get element handle. This routine searches for the element handle associated with specific element address.

Implements rm_ble_mesh_access_api_t::getElementHandle.

Example:

/* Get element handle. */
err = RM_BLE_MESH_ACCESS_GetElementHandle(&g_ble_mesh_access0_ctrl, elem_addr, &elem_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ADDRESSInvalid source address.

◆ RM_BLE_MESH_ACCESS_GetElementHandleForModelHandle()

fsp_err_t RM_BLE_MESH_ACCESS_GetElementHandleForModelHandle ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
rm_ble_mesh_access_element_handle_t *const  p_elem_handle 
)

Get element handle for a given model handle. This routine searches for the element handle associated with specific model handle.

Implements rm_ble_mesh_access_api_t::getElementHandleForModelHandle.

Example:

/* Get element handle for a given model handle. */
err = RM_BLE_MESH_ACCESS_GetElementHandleForModelHandle(&g_ble_mesh_access0_ctrl, model_handle, &elem_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_elem_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetModelHandle()

fsp_err_t RM_BLE_MESH_ACCESS_GetModelHandle ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_element_handle_t  elem_handle,
rm_ble_mesh_access_model_id_t  model_id,
rm_ble_mesh_access_model_handle_t *const  p_handle 
)

Get model handle. This routine searches for the model handle associated with specific model ID.

Implements rm_ble_mesh_access_api_t::getModelHandle.

Example:

/* Get model handle. */
err = RM_BLE_MESH_ACCESS_GetModelHandle(&g_ble_mesh_access0_ctrl, elem_handle, model_id, &model_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_Publish()

fsp_err_t RM_BLE_MESH_ACCESS_Publish ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t const *const  p_handle,
rm_ble_mesh_access_req_msg_raw_t const *const  p_publish_message,
uint8_t  reliable 
)

API to publish access layer message. This routine publishes Access Layer message to the publish address associated with the model.

Implements rm_ble_mesh_access_api_t::publish.

Example:

/* Publish access layer message. */
err = RM_BLE_MESH_ACCESS_Publish(&g_ble_mesh_access0_ctrl, &model_handle, &publish_message, reliable);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_handle and p_publish_message are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_ACCESS_ReliablePublish()

fsp_err_t RM_BLE_MESH_ACCESS_ReliablePublish ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t const *const  p_handle,
rm_ble_mesh_access_req_msg_raw_t const *const  p_publish_message,
uint32_t  rsp_opcode 
)

API to reliably publish Access layer message. This routine reliably publishes Access Layer message to the publish address associated with the model.

Implements rm_ble_mesh_access_api_t::reliablePublish.

Example:

/* Reliably publish access layer message. */
err = RM_BLE_MESH_ACCESS_ReliablePublish(&g_ble_mesh_access0_ctrl, &model_handle, &req_msg_raw, rsp_opcode);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_handle and p_publish_message are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_ACCESS_Reply()

fsp_err_t RM_BLE_MESH_ACCESS_Reply ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_req_msg_context_t const *const  p_req_msg_context,
uint8_t  ttl,
rm_ble_mesh_access_req_msg_raw_t const *const  p_req_msg_raw 
)

API to reply to Access Layer message. This routine replies to Access Layer message.

Implements rm_ble_mesh_access_api_t::reply.

Example:

/* Reply to access layer message. */
err = RM_BLE_MESH_ACCESS_Reply(&g_ble_mesh_access0_ctrl, &req_msg_context, ttl, &req_msg_raw);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_req_msg_context and p_req_msg_raw are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_ACCESS_ReplyAndPublish()

fsp_err_t RM_BLE_MESH_ACCESS_ReplyAndPublish ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_req_msg_context_t const *const  p_req_msg_context,
rm_ble_mesh_access_req_msg_raw_t const *const  p_req_msg_raw,
rm_ble_mesh_access_publish_setting_t const *const  p_publish_setting 
)

API to reply to Access Layer message and optionally also to publish. This routine replies to Access Layer message and also publish if requested by application.

Implements rm_ble_mesh_access_api_t::replyAndPublish.

Example:

/* Reply to access layer message. */
err =
RM_BLE_MESH_ACCESS_ReplyAndPublish(&g_ble_mesh_access0_ctrl, &req_msg_context, &req_msg_raw, &publish_setting);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_req_msg_context and p_req_msg_raw are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_ACCESS_SendPdu()

fsp_err_t RM_BLE_MESH_ACCESS_SendPdu ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_pdu_t const *const  p_pdu,
uint8_t  reliable 
)

API to send access PDUs. This routine sends transport PDUs to peer device.

Implements rm_ble_mesh_access_api_t::sendPdu.

Example:

/* Send Access PDUs. */
err = RM_BLE_MESH_ACCESS_SendPdu(&g_ble_mesh_access0_ctrl, &pdu, reliable);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_pdu is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetCompositionData()

fsp_err_t RM_BLE_MESH_ACCESS_GetCompositionData ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_buffer_t *const  p_buffer 
)

Get composition data.

Implements rm_ble_mesh_access_api_t::getCompositionData.

Example:

/* Get composition data. */
err = RM_BLE_MESH_ACCESS_GetCompositionData(&g_ble_mesh_access0_ctrl, &buffer);
Return values
FSP_SUCCESSModule successfully closed.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_buffer is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_Reset()

fsp_err_t RM_BLE_MESH_ACCESS_Reset ( rm_ble_mesh_access_ctrl_t *const  p_ctrl)

To reset a node. This routine resets a node (other than a Provisioner) and removes it from the network.

Implements rm_ble_mesh_access_api_t::reset.

Example:

/* Reset a node. */
err = RM_BLE_MESH_ACCESS_Reset(&g_ble_mesh_access0_ctrl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetElementCount()

fsp_err_t RM_BLE_MESH_ACCESS_GetElementCount ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t *const  p_count 
)

To get the number of elements in local node. This routine retrieves the number of elements in local node.

Implements rm_ble_mesh_access_api_t::getElementCount.

Example:

/* Get the number of elements in local node. */
err = RM_BLE_MESH_ACCESS_GetElementCount(&g_ble_mesh_access0_ctrl, &count);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_count is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_SetPrimaryUnicastAddress()

fsp_err_t RM_BLE_MESH_ACCESS_SetPrimaryUnicastAddress ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr 
)

To set primary unicast address. This routine sets primary unicast address.

Implements rm_ble_mesh_access_api_t::setPrimaryUnicastAddress.

Example:

/* Set primary unicast address. */
err = RM_BLE_MESH_ACCESS_SetPrimaryUnicastAddress(&g_ble_mesh_access0_ctrl, addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ADDRESSInvalid source address.

◆ RM_BLE_MESH_ACCESS_GetPrimaryUnicastAddress()

fsp_err_t RM_BLE_MESH_ACCESS_GetPrimaryUnicastAddress ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t *const  p_addr 
)

To get primary unicast address. This routine gets primary unicast address.

Implements rm_ble_mesh_access_api_t::getPrimaryUnicastAddress.

Example:

/* Get primary unicast address. */
err = RM_BLE_MESH_ACCESS_GetPrimaryUnicastAddress(&g_ble_mesh_access0_ctrl, &addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_addr is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_SetDefaultTtl()

fsp_err_t RM_BLE_MESH_ACCESS_SetDefaultTtl ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  ttl 
)

To set default TTL. This routine sets default TTL.

Implements rm_ble_mesh_access_api_t::setDefaultTtl.

Example:

/* Set default TTL. */
err = RM_BLE_MESH_ACCESS_SetDefaultTtl(&g_ble_mesh_access0_ctrl, ttl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetDefaultTtl()

fsp_err_t RM_BLE_MESH_ACCESS_GetDefaultTtl ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t const *const  p_ttl 
)

To get default TTL. This routine gets default TTL.

Implements rm_ble_mesh_access_api_t::getDefaultTtl.

Example:

/* Get default TTL. */
err = RM_BLE_MESH_ACCESS_GetDefaultTtl(&g_ble_mesh_access0_ctrl, &ttl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_ttl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_SetIvIndex()

fsp_err_t RM_BLE_MESH_ACCESS_SetIvIndex ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint32_t  iv_index,
uint8_t  iv_update_flag 
)

To set IV Index. This routine sets IV Index.

Implements rm_ble_mesh_access_api_t::setIvIndex.

Example:

/* Set IV Index. */
err = RM_BLE_MESH_ACCESS_SetIvIndex(&g_ble_mesh_access0_ctrl, iv_index, iv_update_flag);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_STATELower layer is invalid state.
FSP_ERR_IN_USEResource is busy.

◆ RM_BLE_MESH_ACCESS_GetIvIndex()

fsp_err_t RM_BLE_MESH_ACCESS_GetIvIndex ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint32_t *const  p_iv_index,
uint8_t *const  p_iv_update_flag 
)

To get IV Index. This routine gets IV Index.

Implements rm_ble_mesh_access_api_t::getIvIndex.

Example:

/* Get IV Index. */
err = RM_BLE_MESH_ACCESS_GetIvIndex(&g_ble_mesh_access0_ctrl, &iv_index, &iv_update_flag);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_iv_index and p_iv_update_flag are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetIvIndexByIvi()

fsp_err_t RM_BLE_MESH_ACCESS_GetIvIndexByIvi ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  ivi,
uint32_t *const  p_iv_index 
)

To get IV Index by IVI. This routine gets IV Index based on the IVI in the received packet.

Implements rm_ble_mesh_access_api_t::getIvIndexByIvi.

Example:

/* Get IV Index by IVI. */
err = RM_BLE_MESH_ACCESS_GetIvIndexByIvi(&g_ble_mesh_access0_ctrl, ivi, &iv_index);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_iv_index is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_SetFeaturesField()

fsp_err_t RM_BLE_MESH_ACCESS_SetFeaturesField ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  enable,
uint8_t  feature 
)

To enable/disable a feature. This routine enables/disables a feature field.

Implements rm_ble_mesh_access_api_t::setFeaturesField.

Example:

/* Enable/Disable a feature. */
err = RM_BLE_MESH_ACCESS_SetFeaturesField(&g_ble_mesh_access0_ctrl, enable, features);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetFeaturesField()

fsp_err_t RM_BLE_MESH_ACCESS_GetFeaturesField ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t *const  p_enable,
uint8_t  feature 
)

To get state of a feature. This routine gets the state of a feature field.

Implements rm_ble_mesh_access_api_t::getFeaturesField.

Example:

/* Get state of a feature. */
err = RM_BLE_MESH_ACCESS_GetFeaturesField(&g_ble_mesh_access0_ctrl, &enable, features);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_enable is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetFeatures()

fsp_err_t RM_BLE_MESH_ACCESS_GetFeatures ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t *const  p_features 
)

To get state of all features. This routine gets the state of all features.

Implements rm_ble_mesh_access_api_t::getFeatures.

Example:

/* Get state of all features. */
err = RM_BLE_MESH_ACCESS_GetFeatures(&g_ble_mesh_access0_ctrl, &features);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_features is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetFriendshipRole()

fsp_err_t RM_BLE_MESH_ACCESS_GetFriendshipRole ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t *const  p_friend_role 
)

To get friendship role of the node. This routine gets the current friendship role of the node.

Implements rm_ble_mesh_access_api_t::getFriendshipRole.

Example:

/* Get friendship role of the node. */
err = RM_BLE_MESH_ACCESS_GetFriendshipRole(&g_ble_mesh_access0_ctrl, &friend_role);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_friend_role is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_SetFriendshipRole()

fsp_err_t RM_BLE_MESH_ACCESS_SetFriendshipRole ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  friend_role 
)

To set friendship role of the node. This routine sets the current friendship role of the node.

Implements rm_ble_mesh_access_api_t::setFriendshipRole.

Example:

/* Set friendship role of the node. */
err = RM_BLE_MESH_ACCESS_SetFriendshipRole(&g_ble_mesh_access0_ctrl, friend_role);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_AddDeviceKey()

fsp_err_t RM_BLE_MESH_ACCESS_AddDeviceKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t const *const  p_dev_key,
rm_ble_mesh_network_address_t  uaddr,
uint8_t  num_elements 
)

To add Device Key. This routine adds Device Key entry, along with corresponding Primary Device Address and Number of elements.

Implements rm_ble_mesh_access_api_t::addDeviceKey.

Example:

/* Add Device Key. */
err = RM_BLE_MESH_ACCESS_AddDeviceKey(&g_ble_mesh_access0_ctrl, &dev_key, uaddr, num_elements);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_dev_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OVERFLOWDevice key table is full.

◆ RM_BLE_MESH_ACCESS_GetDeviceKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetDeviceKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  dev_key_index,
uint8_t **const  p_dev_key 
)

To get Device Key. This routine gets Device Key entry.

Implements rm_ble_mesh_access_api_t::getDeviceKey.

Example:

/* Get Device Key. */
err = RM_BLE_MESH_ACCESS_GetDeviceKey(&g_ble_mesh_access0_ctrl, dev_key_index, p_dev_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_dev_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_RemoveAllDeviceKeys()

fsp_err_t RM_BLE_MESH_ACCESS_RemoveAllDeviceKeys ( rm_ble_mesh_access_ctrl_t *const  p_ctrl)

To remove all Device Keys. This routine removes all Device Keys from table.

Implements rm_ble_mesh_access_api_t::removeAllDeviceKeys.

Example:

/* Remove all Device Keys. */
err = RM_BLE_MESH_ACCESS_RemoveAllDeviceKeys(&g_ble_mesh_access0_ctrl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetProvisionedDeviceList()

fsp_err_t RM_BLE_MESH_ACCESS_GetProvisionedDeviceList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_provisioned_device_entry_t const *const  p_prov_dev_list,
uint16_t *const  p_num_entries 
)

To get list of Provisioned Device List. This routine returns list of Provisioned Devices from the Device Key Table.

Implements rm_ble_mesh_access_api_t::getProvisionedDeviceList.

Example:

/* Get list of provisioned device list. */
err = RM_BLE_MESH_ACCESS_GetProvisionedDeviceList(&g_ble_mesh_access0_ctrl, &prov_dev_list, &num_entries);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_prov_dev_list and p_num_entries are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetDeviceKeyHandle()

fsp_err_t RM_BLE_MESH_ACCESS_GetDeviceKeyHandle ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  prim_elem_uaddr,
rm_ble_mesh_access_device_key_handle_t *const  p_handle 
)

To get device key handle. This routine returns Device Key Handle for a given Primary Element Address entry in Device Key Table.

Implements rm_ble_mesh_access_api_t::getDeviceKeyHandle.

Example:

/* Get Device Key handle. */
err = RM_BLE_MESH_ACCESS_GetDeviceKeyHandle(&g_ble_mesh_access0_ctrl, prim_elem_uaddr, &handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_appkey_handle_t  appkey_handle,
uint8_t **const  p_app_key,
uint8_t *const  p_aid 
)

To get AppKey. This routine gets AppKey along with AID entry.

Implements rm_ble_mesh_access_api_t::getAppKey.

Example:

/* Get AppKey. */
err = RM_BLE_MESH_ACCESS_GetAppKey(&g_ble_mesh_access0_ctrl, appkey_handle, p_app_key, &aid);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_app_key and p_aid are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_AddUpdateNetkey()

fsp_err_t RM_BLE_MESH_ACCESS_AddUpdateNetkey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint16_t  netkey_index,
uint32_t  opcode,
uint8_t const *const  p_net_key 
)

To add/update NetKey. This routine adds/updates NetKey entry. Each NetKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::addUpdateNetkey.

Example:

/* Add/Update NetKey. */
err = RM_BLE_MESH_ACCESS_AddUpdateNetkey(&g_ble_mesh_access0_ctrl, netkey_index, opcode, &net_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_net_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_AddFriendSecurityCredential()

fsp_err_t RM_BLE_MESH_ACCESS_AddFriendSecurityCredential ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  friend_index,
rm_ble_mesh_access_friend_security_credential_info_t  info 
)

To add Security Credential of a LPN or the Friend. This routine adds NID, privacy and encryption keys associated with a friendship.

Implements rm_ble_mesh_access_api_t::addFriendSecurityCredential.

Example:

/* Add security credential of a LPN or the friend. */
err =
RM_BLE_MESH_ACCESS_AddFriendSecurityCredential(&g_ble_mesh_access0_ctrl, subnet_handle, friend_index, info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_DeleteFriendSecurityCredential()

fsp_err_t RM_BLE_MESH_ACCESS_DeleteFriendSecurityCredential ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  friend_index 
)

To delete the Security Credential of a LPN or the Friend. This routine deletes NID, privacy and encryption keys associated with a friendship.

Implements rm_ble_mesh_access_api_t::deleteFriendSecurityCredential.

Example:

/* Delete the security credential of a LPN or the Friend. */
err = RM_BLE_MESH_ACCESS_DeleteFriendSecurityCredential(&g_ble_mesh_access0_ctrl, subnet_handle, friend_index);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_FindSubnet()

fsp_err_t RM_BLE_MESH_ACCESS_FindSubnet ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint16_t  netkey_index,
rm_ble_mesh_network_subnet_handle_t *const  p_subnet_handle 
)

To find a Subnet associated with the NetKey. This routine finds a Subnet based on the NetKey entry. Each NetKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::findSubnet.

Example:

/* Find a subnet associated with the NetKey. */
err = RM_BLE_MESH_ACCESS_FindSubnet(&g_ble_mesh_access0_ctrl, netkey_index, &subnet_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_subnet_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_FindMasterSubnet()

fsp_err_t RM_BLE_MESH_ACCESS_FindMasterSubnet ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  friend_subnet_handle,
rm_ble_mesh_network_subnet_handle_t *const  p_master_subnet_handle 
)

To find the Master Subnet associated with the friend security credential, identified by Friend Subnet Handle. This routine finds the Master Subnet based on the friend security credential, identified by Friend Subnet Handle.

Implements rm_ble_mesh_access_api_t::findMasterSubnet.

Example:

/* Close the module. */
err =
RM_BLE_MESH_ACCESS_FindMasterSubnet(&g_ble_mesh_access0_ctrl, friend_subnet_handle, &master_subnet_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_master_subnet_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_DeleteNetKey()

fsp_err_t RM_BLE_MESH_ACCESS_DeleteNetKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle 
)

To delete NetKey. This routine deletes a NetKey entry. Each NetKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::deleteNetKey.

Example:

/* Delete NetKey. */
err = RM_BLE_MESH_ACCESS_DeleteNetKey(&g_ble_mesh_access0_ctrl, subnet_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetNetKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetNetKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t *const  p_net_key 
)

To get NetKey. This routine fetches a NetKey entry. Each NetKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::getNetKey.

Example:

/* Close the module. */
err = RM_BLE_MESH_ACCESS_GetNetKey(&g_ble_mesh_access0_ctrl, subnet_handle, &net_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_net_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetNetKeyIndexList()

fsp_err_t RM_BLE_MESH_ACCESS_GetNetKeyIndexList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint16_t *const  p_netkey_count,
uint16_t *const  p_netkey_index_list 
)

To get list of all known NetKeys. This routine returns a list of known NetKey Indices.

Implements rm_ble_mesh_access_api_t::getNetKeyIndexList.

Example:

/* Get list of all known NetKeys. */
err = RM_BLE_MESH_ACCESS_GetNetKeyIndexList(&g_ble_mesh_access0_ctrl, &netkey_count, &netkey_index_list);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_netkey_count and p_netkey_index_list are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_LookUpNid()

fsp_err_t RM_BLE_MESH_ACCESS_LookUpNid ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  nid,
rm_ble_mesh_network_subnet_handle_t *const  p_subnet_handle,
rm_ble_mesh_access_associated_keys_t *const  p_key_set 
)

To search for NID. This routine searches for matching NID in subnet table.

Implements rm_ble_mesh_access_api_t::lookUpNid.

Example:

/* Search for NID. */
err = RM_BLE_MESH_ACCESS_LookUpNid(&g_ble_mesh_access0_ctrl, nid, &subnet_handle, &key_set);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_subnet_handle and p_key_set are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_LookUpNetworkId()

fsp_err_t RM_BLE_MESH_ACCESS_LookUpNetworkId ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t const *const  p_network_id,
rm_ble_mesh_network_subnet_handle_t *const  p_subnet_handle,
rm_ble_mesh_access_associated_keys_t *const  p_key_set 
)

To search for Network ID. This routine searches for matching Network ID in subnet table.

Implements rm_ble_mesh_access_api_t::lookUpNetworkId.

Example:

/* Search for NID. */
err = RM_BLE_MESH_ACCESS_LookUpNid(&g_ble_mesh_access0_ctrl, nid, &subnet_handle, &key_set);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_network_id, p_subnet_handle and p_key_set are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_LookUpAid()

fsp_err_t RM_BLE_MESH_ACCESS_LookUpAid ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  aid,
rm_ble_mesh_network_appkey_handle_t *const  p_appkey_handle,
uint8_t *const  p_app_key 
)

To search for AID. This routine searches for matching NID in subnet table.

Implements rm_ble_mesh_access_api_t::lookUpAid.

Example:

/* Search for AID. */
err = RM_BLE_MESH_ACCESS_LookUpAid(&g_ble_mesh_access0_ctrl, aid, &appkey_handle, &app_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_appkey_handle and p_app_key are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_SetProvisioningData()

fsp_err_t RM_BLE_MESH_ACCESS_SetProvisioningData ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_provision_data_t const *const  p_prov_data 
)

Set Provisioning Data. This routine configures the provisioning data with Access Layer.

Implements rm_ble_mesh_access_api_t::setProvisioningData.

Example:

/* Set provisioning data. */
err = RM_BLE_MESH_ACCESS_SetProvisioningData(&g_ble_mesh_access0_ctrl, &prov_data);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_prov_data is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetNid()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetNid ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_nid 
)

To get NID associated with a subnet. This routine fetches the NID associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetNid.

Example:

/* Get NID associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetNid(&g_ble_mesh_access0_ctrl, subnet_handle, &nid);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_nid is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetPrivacyKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetPrivacyKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_privacy_key 
)

To get Privacy Key associated with a subnet. This routine fetches the Privacy Key associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetPrivacyKey.

Example:

/* Get Privacy Key associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetPrivacyKey(&g_ble_mesh_access0_ctrl, subnet_handle, &privacy_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_privacy_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetNetworkId()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetNetworkId ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_network_id 
)

To get Network ID associated with a subnet. This routine fetches the Netowrk ID associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetNetworkId.

Example:

/* Get Network ID associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetNetworkId(&g_ble_mesh_access0_ctrl, subnet_handle, &network_id);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_network_id is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetBeaconKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetBeaconKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_beacon_key 
)

To get Beacon Key associated with a subnet. This routine fetches the Beacon Key associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetBeaconKey.

Example:

/* Get Beacon Key associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetBeaconKey(&g_ble_mesh_access0_ctrl, subnet_handle, &beacon_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_beacon_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetIdentityKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetIdentityKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_identity_key 
)

To get Identity Key associated with a subnet. This routine fetches the Identity Key associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetIdentityKey.

Example:

/* Get Identity Key associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetIdentityKey(&g_ble_mesh_access0_ctrl, subnet_handle, &identity_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_identity_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetSubnetEncryptionKey()

fsp_err_t RM_BLE_MESH_ACCESS_GetSubnetEncryptionKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  handle,
uint8_t *const  p_encrypt_key 
)

To get Encryption Key associated with a subnet. This routine fetches the Encryption Key associated with a subnet.

Implements rm_ble_mesh_access_api_t::getSubnetEncryptionKey.

Example:

/* Get Encryption Key associated with a subnet. */
err = RM_BLE_MESH_ACCESS_GetSubnetEncryptionKey(&g_ble_mesh_access0_ctrl, subnet_handle, &encrypt_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_encrypt_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetNodeIdentity()

fsp_err_t RM_BLE_MESH_ACCESS_GetNodeIdentity ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t *const  p_id_state 
)

To get Node Identity. This routine gets Node Identity State of a node

Implements rm_ble_mesh_access_api_t::getNodeIdentity.

Example:

/* Get node identity. */
err = RM_BLE_MESH_ACCESS_GetNodeIdentity(&g_ble_mesh_access0_ctrl, subnet_handle, &id_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_id_state is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_SetNodeIdentity()

fsp_err_t RM_BLE_MESH_ACCESS_SetNodeIdentity ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t *const  p_id_state 
)

To set Node Identity. This routine sets Node Identity State of a node.

Implements rm_ble_mesh_access_api_t::setNodeIdentity.

Example:

/* Set node identity. */
err = RM_BLE_MESH_ACCESS_SetNodeIdentity(&g_ble_mesh_access0_ctrl, subnet_handle, &id_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_id_state is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetKeyRefreshPhase()

fsp_err_t RM_BLE_MESH_ACCESS_GetKeyRefreshPhase ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t *const  p_key_refresh_state 
)

To get Key Refresh Phase. This routine gets Key Refresh Phase State of a node

Implements rm_ble_mesh_access_api_t::getKeyRefreshPhase.

Example:

/* Get key refresh phase. */
err = RM_BLE_MESH_ACCESS_GetKeyRefreshPhase(&g_ble_mesh_access0_ctrl, subnet_handle, &key_refresh_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_key_refresh_state is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_SetKeyRefreshPhase()

fsp_err_t RM_BLE_MESH_ACCESS_SetKeyRefreshPhase ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t const *const  p_key_refresh_state 
)

To set Key Refresh Phase. This routine sets Key Refresh Phase State of a node.

Implements rm_ble_mesh_access_api_t::setKeyRefreshPhase.

Example:

/* Set key refresh phase. */
err = RM_BLE_MESH_ACCESS_SetKeyRefreshPhase(&g_ble_mesh_access0_ctrl, subnet_handle, &key_refresh_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_key_refresh_state is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_SetTransmitState()

fsp_err_t RM_BLE_MESH_ACCESS_SetTransmitState ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  tx_state_type,
uint8_t  tx_state 
)

To set Network/Relay Transmit state. This routine sets Network/Relay Transmit state.

Implements rm_ble_mesh_access_api_t::setTransmitState.

Example:

/* Set network/relay transmit state. */
err = RM_BLE_MESH_ACCESS_SetTransmitState(&g_ble_mesh_access0_ctrl, tx_state_type, tx_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_GetTransmitState()

fsp_err_t RM_BLE_MESH_ACCESS_GetTransmitState ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint8_t  tx_state_type,
uint8_t *const  p_tx_state 
)

To get Network/Relay Transmit state. This routine gets Network/Relay Transmit state.

Implements rm_ble_mesh_access_api_t::getTransmitState.

Example:

/* Get network/relay transmit state. */
err = RM_BLE_MESH_ACCESS_GetTransmitState(&g_ble_mesh_access0_ctrl, tx_state_type, &tx_state);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_tx_state is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_AddAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_AddAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  appkey_index,
uint8_t const *const  p_app_key 
)

To add AppKey. This routine adds AppKey entry. Each AppKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::addAppKey.

Example:

/* Add AppKey. */
err = RM_BLE_MESH_ACCESS_AddAppKey(&g_ble_mesh_access0_ctrl, subnet_handle, appkey_index, &app_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_app_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_UpdateAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_UpdateAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  appkey_index,
uint8_t const *const  p_app_key 
)

To update AppKey. This routine updates AppKey entry. Each AppKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::updateAppKey.

Example:

/* Update AppKey. */
err = RM_BLE_MESH_ACCESS_UpdateAppKey(&g_ble_mesh_access0_ctrl, subnet_handle, appkey_index, &app_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_app_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_DeleteAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_DeleteAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  appkey_index,
uint8_t const *const  p_app_key 
)

To delete AppKey. This routine deletes AppKey entry. Each AppKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::deleteAppKey.

Example:

/* Delete AppKey. */
err = RM_BLE_MESH_ACCESS_DeleteAppKey(&g_ble_mesh_access0_ctrl, subnet_handle, appkey_index, &app_key);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_app_key is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetAppKeyHandle()

fsp_err_t RM_BLE_MESH_ACCESS_GetAppKeyHandle ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t  appkey_index,
uint8_t const *const  p_app_key,
rm_ble_mesh_network_appkey_handle_t *const  p_appkey_handle 
)

To get AppKey Handle for a given AppKey Index. This routine gets AppKey Handle for a given AppKey Index. Each AppKey is associated with a subnet.

Implements rm_ble_mesh_access_api_t::getAppKeyHandle.

Example:

/* Get AppKey handle for a given AppKey index. */
err = RM_BLE_MESH_ACCESS_GetAppKeyHandle(&g_ble_mesh_access0_ctrl,
subnet_handle,
appkey_index,
&app_key,
&appkey_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_appkey_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetAppKeyIndexList()

fsp_err_t RM_BLE_MESH_ACCESS_GetAppKeyIndexList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint16_t *const  p_appkey_count,
uint16_t *const  p_appkey_index_list 
)

To get list of all known AppKeys. This routine returns a list of known AppKey Indices associated with a subnet.

Implements rm_ble_mesh_access_api_t::getAppKeyIndexList.

Example:

/* Get list of all known AppKeys. */
err = RM_BLE_MESH_ACCESS_GetAppKeyIndexList(&g_ble_mesh_access0_ctrl,
subnet_handle,
&appkey_count,
&appkey_index_list);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_appkey_count and p_appkey_index_list are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_BindModelWithAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_BindModelWithAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
uint16_t  appkey_index 
)

To bind a model with an AppKey. This routine binds a model with an AppKey.

Implements rm_ble_mesh_access_api_t::bindModelWithAppKey.

Example:

/* Bind a model with an AppKey. */
err = RM_BLE_MESH_ACCESS_BindModelWithAppKey(&g_ble_mesh_access0_ctrl, model_handle, appkey_index);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_UnbindModelWithAppKey()

fsp_err_t RM_BLE_MESH_ACCESS_UnbindModelWithAppKey ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
uint16_t  appkey_index 
)

To unbind a model with an AppKey. This routine unbinds a model with an AppKey.

Implements rm_ble_mesh_access_api_t::unbindModelWithAppKey.

Example:

/* Unbind a model with an AppKey. */
err = RM_BLE_MESH_ACCESS_UnbindModelWithAppKey(&g_ble_mesh_access0_ctrl, model_handle, appkey_index);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetModelAppKeyList()

fsp_err_t RM_BLE_MESH_ACCESS_GetModelAppKeyList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
uint16_t *const  p_appkey_count,
uint16_t *const  p_appkey_index_list 
)

To get list of all AppKeys associated with a model. This routine returns a list of known AppKey Indices associated with a model.

Implements rm_ble_mesh_access_api_t::getModelAppKeyList.

Example:

/* Get list of all AppKeys associated with a model. */
err = RM_BLE_MESH_ACCESS_GetModelAppKeyList(&g_ble_mesh_access0_ctrl,
model_handle,
&appkey_count,
&appkey_index_list);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_appkey_count and p_appkey_index_list are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_SetModelPublication()

fsp_err_t RM_BLE_MESH_ACCESS_SetModelPublication ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
rm_ble_mesh_access_publish_info_t *const  p_publish_info 
)

To set Publication information associated with a model. This routine sets Publication information associated with a model.

Implements rm_ble_mesh_access_api_t::setModelPublication.

Example:

/* Set publication information associated with a model. */
err = RM_BLE_MESH_ACCESS_SetModelPublication(&g_ble_mesh_access0_ctrl, model_handle, &publish_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_publish_info is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_SetModelPublicationPeriodDivisor()

fsp_err_t RM_BLE_MESH_ACCESS_SetModelPublicationPeriodDivisor ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
uint8_t  period_divisor 
)

To set Publication Fast Period Divisor information associated with a model. This routine sets Publication Fast Period Divisor information associated with a model.

Implements rm_ble_mesh_access_api_t::setModelPublicationPeriodDivisor.

Example:

/* Set publication fast period divisor information associated with a model. */
err =
RM_BLE_MESH_ACCESS_SetModelPublicationPeriodDivisor(&g_ble_mesh_access0_ctrl, model_handle, period_divisor);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_GetModelPublication()

fsp_err_t RM_BLE_MESH_ACCESS_GetModelPublication ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
rm_ble_mesh_access_publish_info_t *const  p_publish_info 
)

To get Publication information associated with a model. This routine returns Publication information associated with a model.

Implements rm_ble_mesh_access_api_t::getModelPublication.

Example:

/* Get publication information associated with a model. */
err = RM_BLE_MESH_ACCESS_GetModelPublication(&g_ble_mesh_access0_ctrl, model_handle, &publish_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_publish_info is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_AddModelSubscription()

fsp_err_t RM_BLE_MESH_ACCESS_AddModelSubscription ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
rm_ble_mesh_access_address_t const *const  p_sub_addr 
)

To add an address to a model subscription list. This routine adds an address to a subscription list of a model.

Implements rm_ble_mesh_access_api_t::addModelSubscription.

Example:

/* Add an address to a model subscription list. */
err = RM_BLE_MESH_ACCESS_AddModelSubscription(&g_ble_mesh_access0_ctrl, model_handle, &sub_addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_sub_addr is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_DeleteModelSubscription()

fsp_err_t RM_BLE_MESH_ACCESS_DeleteModelSubscription ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
rm_ble_mesh_access_address_t const *const  p_sub_addr 
)

To delete an address to a model subscription list. This routine deletes an address to a subscription list of a model.

Implements rm_ble_mesh_access_api_t::deleteModelSubscription.

Example:

/* Delete an address to a model subscription list. */
err = RM_BLE_MESH_ACCESS_DeleteModelSubscription(&g_ble_mesh_access0_ctrl, model_handle, &sub_addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_sub_addr is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_DeleteAllModelSubscription()

fsp_err_t RM_BLE_MESH_ACCESS_DeleteAllModelSubscription ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle 
)

To discard a model subscription list. This routine discards a subscription list of a model.

Implements rm_ble_mesh_access_api_t::deleteAllModelSubscription.

Example:

/* Discard a model subscription list. */
err = RM_BLE_MESH_ACCESS_DeleteAllModelSubscription(&g_ble_mesh_access0_ctrl, model_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetModelSubscriptionList()

fsp_err_t RM_BLE_MESH_ACCESS_GetModelSubscriptionList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t  model_handle,
uint16_t *const  p_sub_addr_count,
uint16_t *const  p_sub_addr_list 
)

To get list of subscription addresses of a model. This routine returns a list of subscription addresses of a model.

Implements rm_ble_mesh_access_api_t::getModelSubscriptionList.

Example:

/* Get list of subscription addresses of a model. */
err = RM_BLE_MESH_ACCESS_GetModelSubscriptionList(&g_ble_mesh_access0_ctrl,
model_handle,
&sub_addr_count,
&sub_addr_list);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_sub_addr_count and p_sub_addr_list are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_GetAllModelSubscriptionList()

fsp_err_t RM_BLE_MESH_ACCESS_GetAllModelSubscriptionList ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
uint16_t *const  p_sub_addr_count,
uint16_t *const  p_sub_addr_list 
)

To get list of subscription addresses of all the models. This routine returns a consolidated list of subscription addresses of all the models.

Implements rm_ble_mesh_access_api_t::getAllModelSubscriptionList.

Example:

/* Get list of subscription addresses of all the models. */
err = RM_BLE_MESH_ACCESS_GetAllModelSubscriptionList(&g_ble_mesh_access0_ctrl, &sub_addr_count, &sub_addr_list);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_sub_addr_count and p_sub_addr_list are NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_ACCESS_IsValidElementAddress()

fsp_err_t RM_BLE_MESH_ACCESS_IsValidElementAddress ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr 
)

To check if valid element address to receive a packet. This routine checks if destination address in a received packet matches with any of the known element address of local or friend device.

Implements rm_ble_mesh_access_api_t::isValidElementAddress.

Example:

/* Check if valid element address to receive a packet. */
err = RM_BLE_MESH_ACCESS_IsValidElementAddress(&g_ble_mesh_access0_ctrl, addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.

◆ RM_BLE_MESH_ACCESS_IsFixedGroupAddressToBeProcessed()

fsp_err_t RM_BLE_MESH_ACCESS_IsFixedGroupAddressToBeProcessed ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr 
)

To check if Fixed Group Address in receive packet to be processed. This routine checks if destination address in a received packet as a Fixed Group Address to be processed.

Implements rm_ble_mesh_access_api_t::isFixedGroupAddressToBeProcessed.

Example:

/* Check if fixed group address in receive packet to be processed. */
err = RM_BLE_MESH_ACCESS_IsFixedGroupAddressToBeProcessed(&g_ble_mesh_access0_ctrl, addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_ACCESS_IsValidSubscriptionAddress()

fsp_err_t RM_BLE_MESH_ACCESS_IsValidSubscriptionAddress ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr 
)

To check if valid subscription address to receive a packet. This routine checks if destination address in a received packet matches with any of the known subscription address of local or friend device.

Implements rm_ble_mesh_access_api_t::isValidSubscriptionAddress.

Example:

/* Check if valid subscription address to receive a packet. */
err = RM_BLE_MESH_ACCESS_IsValidSubscriptionAddress(&g_ble_mesh_access0_ctrl, addr);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_ACCESS_EnableIvUpdateTestMode()

fsp_err_t RM_BLE_MESH_ACCESS_EnableIvUpdateTestMode ( rm_ble_mesh_access_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_iv_update_test_mode_t  mode 
)

To set the IV Update Test Mode feature. This routine is used to set the IV Update Test Mode flag.

Implements rm_ble_mesh_access_api_t::enableIvUpdateTestMode.

Example:

/* Set the IV update test mode feature. */
err = RM_BLE_MESH_ACCESS_EnableIvUpdateTestMode(&g_ble_mesh_access0_ctrl, mode);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.