RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Mesh Network Upper Trans (rm_ble_mesh_upper_trans)

Functions

fsp_err_t RM_BLE_MESH_UPPER_TRANS_Open (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_cfg_t const *const p_cfg)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_Close (rm_ble_mesh_provision_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_SendAccessPdu (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_access_layer_pdu_t const *const p_access_layer_pdu, rm_ble_mesh_lower_trans_reliable_t reliable)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_SendControlPdu (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_control_pdu_t const *const p_control_pdu)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnSetupFriendship (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_friendship_setting_t const *const p_setting)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnClearFriendship (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnManageSubscription (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_control_opcode_t action, uint16_t const *const p_addr_list, uint16_t count)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnPoll (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_IsValidLpnElementAddress (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr, rm_ble_mesh_lower_trans_lpn_handle_t *const p_lpn_handle)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_IsValidLpnSubscriptionAddress (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t addr, rm_ble_mesh_lower_trans_lpn_handle_t *const p_lpn_handle)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetLpnPolltimeout (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_address_t lpn_addr, uint32_t *const p_poll_timeout)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetFriendshipInfo (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_friend_role_t role, uint16_t lpn_index, rm_ble_mesh_upper_trans_friendship_info_t *const p_node)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnRegisterSecurityUpdate (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_network_subnet_handle_t subnet_handle, uint8_t flag, uint32_t ivindex)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_ClearAllLpn (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_SetHeartbeatPublication (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_heartbeat_publication_info_t *const p_info)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetHeartbeatPublication (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_heartbeat_publication_info_t *const p_info)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_SetHeartbeatSubscription (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_heartbeat_subscription_info_t *const p_info)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetHeartbeatSubscription (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, rm_ble_mesh_upper_trans_heartbeat_subscription_info_t *const p_info)
 
fsp_err_t RM_BLE_MESH_UPPER_TRANS_TriggerHeartbeat (rm_ble_mesh_upper_trans_ctrl_t *const p_ctrl, uint8_t change_in_feature_bit)
 

Detailed Description

Overview

Target Devices

The BLE Mesh Network Upper Trans module supports the following devices.

Configuration

Build Time Configurations for rm_ble_mesh_upper_trans

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

ConfigurationOptionsDefaultDescription

Configurations for Networking > BLE Mesh Network modules > BLE Mesh Upper Trans (rm_ble_mesh_upper_trans)

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

ConfigurationOptionsDefaultDescription
General
NameName Must Be a Valid C Symbolg_rm_ble_mesh_upper_trans0 Module name.
Channel NumberInvalid Channel Number0 Select channel corresponding to the channel number of the hardware.
Control Message Event Enable
  • Enabled
  • Disabled
Disabled Whether to enable the control message event or not.
Access Message Event Enable
  • Enabled
  • Disabled
Disabled Whether to enable the access message event or not.
CallbackName Must Be a Valid C SymbolNULL Callback function name.

Data Structures

struct  rm_ble_mesh_upper_trans_instance_ctrl_t
 

Data Structure Documentation

◆ rm_ble_mesh_upper_trans_instance_ctrl_t

struct rm_ble_mesh_upper_trans_instance_ctrl_t

RM_BLE_MESH_UPPER_TRANS private control block. DO NOT MODIFY. Initialization occurs when RM_BLE_MESH_UPPER_TRANS_Open() is called.

Function Documentation

◆ RM_BLE_MESH_UPPER_TRANS_Open()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_Open ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_cfg_t const *const  p_cfg 
)

Register Inerface with Transport Layer. This routine registers interface with the Transport Layer. Transport Layer supports single Application, hence this rouine shall be called once.

Implements rm_ble_mesh_upper_trans_api_t::open.

Example:

/* Open the module. */
err = RM_BLE_MESH_UPPER_TRANS_Open(&g_ble_mesh_upper_trans0_ctrl, &g_ble_mesh_upper_trans0_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.

◆ RM_BLE_MESH_UPPER_TRANS_Close()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_Close ( rm_ble_mesh_provision_ctrl_t *const  p_ctrl)

Unregister Inerface with Transport Layer. Implements rm_ble_mesh_upper_trans_api_t::close.

Example:

/* Close the module. */
err = RM_BLE_MESH_UPPER_TRANS_Close(&g_ble_mesh_upper_trans0_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_UPPER_TRANS_SendAccessPdu()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_SendAccessPdu ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_access_layer_pdu_t const *const  p_access_layer_pdu,
rm_ble_mesh_lower_trans_reliable_t  reliable 
)

API to send Access Layer PDUs. This routine sends Access Layer PDUs to peer device.

Implements rm_ble_mesh_upper_trans_api_t::sendAccessPdu.

Example:

/* Send Access Layer PDUs. */
err = RM_BLE_MESH_UPPER_TRANS_SendAccessPdu(&g_ble_mesh_upper_trans0_ctrl,
&access_layer_pdu,
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_access_layer_pdu is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_UPPER_TRANS_SendControlPdu()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_SendControlPdu ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_control_pdu_t const *const  p_control_pdu 
)

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

Implements rm_ble_mesh_upper_trans_api_t::sendControlPdu.

Example:

/* Send Upper Transport control PDUs. */
err = RM_BLE_MESH_UPPER_TRANS_SendControlPdu(&g_ble_mesh_upper_trans0_ctrl, &control_pdu);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_control_pdu is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_UPPER_TRANS_LpnSetupFriendship()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnSetupFriendship ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_friendship_setting_t const *const  p_setting 
)

API to setup Friendship. This routine is used by the device acting as a low power node to setup a friendship procedure to any available friend nodes.

Implements rm_ble_mesh_upper_trans_api_t::lpnSetupFriendship.

Example:

/* Setup friendship. */
err = RM_BLE_MESH_UPPER_TRANS_LpnSetupFriendship(&g_ble_mesh_upper_trans0_ctrl, &setting);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_setting is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_STATELower layer is invalid state.

◆ RM_BLE_MESH_UPPER_TRANS_LpnClearFriendship()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnClearFriendship ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl)

API to terminate friendship. This routine is used by the device acting as a low power node terminate friendship with an active Friend node.

Implements rm_ble_mesh_upper_trans_api_t::lpnClearFriendship.

Example:

/* Terminate friendship. */
err = RM_BLE_MESH_UPPER_TRANS_LpnClearFriendship(&g_ble_mesh_upper_trans0_ctrl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_LpnManageSubscription()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnManageSubscription ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_control_opcode_t  action,
uint16_t const *const  p_addr_list,
uint16_t  count 
)

API to manage friend subscription list. This routine is used by the device acting as a low power node add/remove addresses to/from the friends subscription list.

Implements rm_ble_mesh_upper_trans_api_t::lpnManageSubscription.

Example:

/* Manage friend subscription list. */
err = RM_BLE_MESH_UPPER_TRANS_LpnManageSubscription(&g_ble_mesh_upper_trans0_ctrl,
&addr_list,
count);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_addr_list is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.

◆ RM_BLE_MESH_UPPER_TRANS_LpnPoll()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnPoll ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl)

To trigger Friend Poll from application. This routine enables the application to trigger a Friend Poll even before the expiry of an active poll period configured during the friendship establishment. The poll peroid will get reset at this point.

Implements rm_ble_mesh_upper_trans_api_t::lpnPoll.

Example:

/* Trigger friend poll from application. */
err = RM_BLE_MESH_UPPER_TRANS_LpnPoll(&g_ble_mesh_upper_trans0_ctrl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_IsValidLpnElementAddress()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_IsValidLpnElementAddress ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr,
rm_ble_mesh_lower_trans_lpn_handle_t *const  p_lpn_handle 
)

To check if address matches with any of the LPN. This routine checks if destination address in a received packet matches with any of the known element address of LPN.

Implements rm_ble_mesh_upper_trans_api_t::isValidLpnElementAddress.

Example:

/* Check if address matches with any of the LPN. */
err = RM_BLE_MESH_UPPER_TRANS_IsValidLpnElementAddress(&g_ble_mesh_upper_trans0_ctrl, addr, &lpn_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_lpn_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_UPPER_TRANS_IsValidLpnSubscriptionAddress()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_IsValidLpnSubscriptionAddress ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  addr,
rm_ble_mesh_lower_trans_lpn_handle_t *const  p_lpn_handle 
)

To check if valid subscription address of an LPN to receive a packet. This routine checks if destination address in a received packet matches with any of the known subscription address of an LPN.

Implements rm_ble_mesh_upper_trans_api_t::isValidLpnSubscriptionAddress.

Example:

/* Check if valid subscription address of an LPN to receive a packet. */
err = RM_BLE_MESH_UPPER_TRANS_IsValidLpnSubscriptionAddress(&g_ble_mesh_upper_trans0_ctrl, addr, &lpn_handle);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_lpn_handle is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_NOT_FOUNDInput parameter is not found.

◆ RM_BLE_MESH_UPPER_TRANS_GetLpnPolltimeout()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetLpnPolltimeout ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_address_t  lpn_addr,
uint32_t *const  p_poll_timeout 
)

To get Poll Timeout of an LPN. This routine checks if LPN address is valid and then returns Poll Timeout configured for the LPN.

Implements rm_ble_mesh_upper_trans_api_t::getLpnPolltimeout.

Example:

/* Get poll timeout of an LPN. */
err = RM_BLE_MESH_UPPER_TRANS_GetLpnPolltimeout(&g_ble_mesh_upper_trans0_ctrl, addr, &poll_timeout);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_poll_timeout is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_GetFriendshipInfo()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetFriendshipInfo ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_friend_role_t  role,
uint16_t  lpn_index,
rm_ble_mesh_upper_trans_friendship_info_t *const  p_node 
)

To get the LPN node information. This routine fetches the node information of the LPN element at the given index

Implements rm_ble_mesh_upper_trans_api_t::getFriendshipInfo.

Example:

/* Get the LPN node information. */
err = RM_BLE_MESH_UPPER_TRANS_GetFriendshipInfo(&g_ble_mesh_upper_trans0_ctrl,
lpn_index,
&node);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_node is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_LpnRegisterSecurityUpdate()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_LpnRegisterSecurityUpdate ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_network_subnet_handle_t  subnet_handle,
uint8_t  flag,
uint32_t  ivindex 
)

To add the security update information. This routine updates the security state of the network to all the active LPN elements. This will be forwarded to the elements when it polls for the next packet available.

Implements rm_ble_mesh_upper_trans_api_t::lpnRegisterSecurityUpdate.

Example:

/* Add the security update information. */
err =
RM_BLE_MESH_UPPER_TRANS_LpnRegisterSecurityUpdate(&g_ble_mesh_upper_trans0_ctrl, subnet_handle, flag, ivindex);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_ClearAllLpn()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_ClearAllLpn ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl)

To clear information related to all LPNs. This routine clears information related to all LPNs.

Implements rm_ble_mesh_upper_trans_api_t::clearAllLpn.

Example:

/* Clear information related to all LPNs. */
err = RM_BLE_MESH_UPPER_TRANS_ClearAllLpn(&g_ble_mesh_upper_trans0_ctrl);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_SetHeartbeatPublication()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_SetHeartbeatPublication ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_heartbeat_publication_info_t *const  p_info 
)

To set the Heartbeat publication data. This routine configures the Heartbeat publication information

Implements rm_ble_mesh_upper_trans_api_t::setHeartbeatPublication.

Example:

/* Set the heartbeat publication data. */
err = RM_BLE_MESH_UPPER_TRANS_SetHeartbeatPublication(&g_ble_mesh_upper_trans0_ctrl, &ut_hp_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_info is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.

◆ RM_BLE_MESH_UPPER_TRANS_GetHeartbeatPublication()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetHeartbeatPublication ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_heartbeat_publication_info_t *const  p_info 
)

To get the Heartbeat publication data. This routine retrieves the Heartbeat publication information

Implements rm_ble_mesh_upper_trans_api_t::getHeartbeatPublication.

Example:

/* Get the heartbeat publication data. */
err = RM_BLE_MESH_UPPER_TRANS_GetHeartbeatPublication(&g_ble_mesh_upper_trans0_ctrl, &ut_hp_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_info is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_SetHeartbeatSubscription()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_SetHeartbeatSubscription ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_heartbeat_subscription_info_t *const  p_info 
)

To set the Heartbeat subscription data. This routine configures the Heartbeat subscription information

Implements rm_ble_mesh_upper_trans_api_t::setHeartbeatSubscription.

Example:

/* Set the heartbeat subscription data. */
err = RM_BLE_MESH_UPPER_TRANS_SetHeartbeatSubscription(&g_ble_mesh_upper_trans0_ctrl, &ut_hs_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_info is NULL.
FSP_ERR_NOT_OPENModule is not open.
FSP_ERR_INVALID_ADDRESSInvalid source address.

◆ RM_BLE_MESH_UPPER_TRANS_GetHeartbeatSubscription()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_GetHeartbeatSubscription ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
rm_ble_mesh_upper_trans_heartbeat_subscription_info_t *const  p_info 
)

To get the Heartbeat subscription data. This routine retrieves the Heartbeat subscription information

Implements rm_ble_mesh_upper_trans_api_t::getHeartbeatSubscription.

Example:

/* Get the heartbeat subscription data. */
err = RM_BLE_MESH_UPPER_TRANS_GetHeartbeatSubscription(&g_ble_mesh_upper_trans0_ctrl, &ut_hs_info);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_INVALID_POINTERThe parameter p_info is NULL.
FSP_ERR_NOT_OPENModule is not open.

◆ RM_BLE_MESH_UPPER_TRANS_TriggerHeartbeat()

fsp_err_t RM_BLE_MESH_UPPER_TRANS_TriggerHeartbeat ( rm_ble_mesh_upper_trans_ctrl_t *const  p_ctrl,
uint8_t  change_in_feature_bit 
)

To trigger Heartbeat send on change in feature. This routine triggers the Heartbeat send on change in state of supported features.

Implements rm_ble_mesh_upper_trans_api_t::triggerHeartbeat.

Example:

/* Trigger heartbeat send on change in feature. */
err = RM_BLE_MESH_UPPER_TRANS_TriggerHeartbeat(&g_ble_mesh_upper_trans0_ctrl, change_in_feature_bit);
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_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_POINTERThe internal parameter is NULL.