RA Flexible Software Package Documentation  Release v5.7.0

 

Detailed Description

Interface for BLE Mesh functions.

Summary

The BLE Mesh interface for the BLE Mesh (BLE MESH) peripheral provides BLE Mesh functionality.

Data Structures

struct  rm_ble_mesh_buffer_t
 
struct  rm_ble_mesh_access_state_transition_t
 
struct  rm_ble_mesh_cfg_t
 
struct  rm_ble_mesh_api_t
 
struct  rm_ble_mesh_instance_t
 

Macros

#define RM_BLE_MESH_DEVICE_UUID_SIZE
 
#define RM_BLE_MESH_ERROR_GROUP_MASK
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_COMMON
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_BEARER
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_NETWORK
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_LOWER_TRANS
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_UPPER_TRANS
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_ACCESS
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_PROVISION
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_GENERIC_MODEL
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_CONFIG_MODEL
 
#define RM_BLE_MESH_ERROR_GROUP_MASK_HEALTH_MODEL
 

Typedefs

typedef void * rm_ble_mesh_timer_handle_t
 
typedef void rm_ble_mesh_ctrl_t
 

Enumerations

enum  rm_ble_mesh_error_code_t
 
enum  rm_ble_mesh_feature_select_t
 
enum  rm_ble_mesh_feature_state_t
 

Data Structure Documentation

◆ rm_ble_mesh_buffer_t

struct rm_ble_mesh_buffer_t

Payload type

Data Fields
uint8_t * payload

Payload Pointer

uint16_t length

Payload Length

◆ rm_ble_mesh_access_state_transition_t

struct rm_ble_mesh_access_state_transition_t

Access Status Transition Type

Data Fields

rm_ble_mesh_timer_handle_t transition_timer_handle
 
uint8_t transition_state
 
uint8_t delay
 
uint8_t transition_time
 
void(* transition_start_callback )(void *)
 
void(* transition_complete_callback )(void *)
 
void * p_context
 

Field Documentation

◆ transition_timer_handle

rm_ble_mesh_timer_handle_t rm_ble_mesh_access_state_transition_t::transition_timer_handle

Transition Timer

◆ transition_state

uint8_t rm_ble_mesh_access_state_transition_t::transition_state

Transition State. Initial/delay/transition

◆ delay

uint8_t rm_ble_mesh_access_state_transition_t::delay

Delay

◆ transition_time

uint8_t rm_ble_mesh_access_state_transition_t::transition_time

Transition Time

◆ transition_start_callback

void(* rm_ble_mesh_access_state_transition_t::transition_start_callback) (void *)

Transition Start Callback

◆ transition_complete_callback

void(* rm_ble_mesh_access_state_transition_t::transition_complete_callback) (void *)

Transition Complete Callback

◆ p_context

void* rm_ble_mesh_access_state_transition_t::p_context

Blob/Context

◆ rm_ble_mesh_cfg_t

struct rm_ble_mesh_cfg_t

BLE MESH configuration parameters.

Data Fields
uint32_t channel Select a channel corresponding to the channel number of the hardware.

the parameters for initialization.

uint32_t network_interfaces_num

Number of Network Interfaces

uint32_t provisioning_interfaces_num

Number of Provisioning Interfaces

uint32_t network_cache_size

Network Cache Size

uint32_t network_sequence_num_cache_size

Network Sequence Number Cache Size

uint32_t maximum_subnets

Maximum number of subnets the device can store information about.

uint32_t maximum_device_keys

Maximum number of device keys the device can store information about.

uint32_t proxy_filter_list_size

Maximum number of addresses present in each proxy filter list.

uint32_t maximum_lpn

Maximum number of LPNs.

uint32_t reassembled_cache_size

The size of Reassembled Cache.

uint32_t maximum_ltrn_sar_context

Number of Segmentation and Reassembly contexts.

uint32_t maximum_friend_message_queue

Maximum number of messages that the friend is capable to queue for a single Low Power Node.

uint32_t maximum_friend_subscription_list

Maximum number of subscription addresses that the friend is capable to store for a single Low Power Node.

uint32_t maximum_access_element_num

Maximum number of elements.

uint32_t maximum_access_model_num

Maximum number of models.

uint32_t maximum_application

Maximum number of Applications (keys) the device can store information about.

uint32_t maximum_virtual_address

Maximum number of Virtual Addresses the device can store information about.

uint32_t maximum_non_virtual_address

Maximum number of Non-Virtual Addresses the device can store information about.

uint32_t net_sequence_number_block_size

The distance between the network sequence numbers, for every persistent storage write. If the device is powered cycled, it will resume transmission using the sequence number from start of next block.

uint32_t net_tx_count

Network Transmit Count for network packets

uint32_t net_tx_interval_steps

Network Interval Steps for network packets

uint32_t net_relay_tx_count

Network Transmit Count for relayed packets

uint32_t net_relay_tx_interval_steps

Network Interval Steps for relayed packets

uint32_t config_server_snb_timeout

Secure Network Beacon Interval

uint32_t proxy_subnet_netid_adv_timeout

Poxy ADV Network ID timeout for each Subnet in milliseconds.

uint32_t proxy_subnet_nodeid_adv_timeout

Poxy ADV Node Identity timeout for each Subnet in milliseconds.

uint32_t proxy_nodeid_adv_timeout

Poxy ADV Node Identity overall time period in milliseconds.

uint32_t frnd_poll_retry_count

Friend Poll Retry Count - default value

uint32_t ltrn_rtx_timeout

Lower Transport Segment Transmission Timeout in milliseconds

uint32_t ltrn_rtx_count

Lower Transport Segment Transmission Count - default value

uint32_t ltrn_ack_timeout

Lower Transport Acknowledgment Timeout in milliseconds

uint32_t ltrn_incomplete_timeout

Lower Transport Incomplete Timeout in milliseconds

uint32_t frnd_receive_window

Friendship Receive Window - default value

uint32_t lpn_clear_retry_timeout_initial

Friend Clear Confirmation Timeout in milliseconds

uint32_t lpn_clear_retry_count

LPN Friend Clear Retry Count

uint32_t trn_frndreq_retry_timeout

Friendship Retry Timeout in milliseconds

uint32_t unprov_device_beacon_timeout

Unprovisioned Device Beacon Interleaved Beacon Timeout

uint32_t net_tx_queue_size

Maximum number of messages that can be queued in Network layer for Transmission.

uint32_t max_num_transition_timers

Maximum number of Transition Timers

uint32_t max_num_periodic_step_timers

Maximum number of Periodic Step Timers

uint32_t maximum_health_server_num

Maximum number of Health Server Instances.

uint32_t maximum_light_lc_server_num

Maximum number of Light Lightness Controller Server Instances.

uint32_t replay_cache_size

The size of the Replay Protection cache.

uint32_t default_company_id

Company ID

uint32_t default_product_id

Product ID

uint32_t default_vendor_id

Vendor ID

void const * p_context Placeholder for user data.
void const * p_extend Placeholder for user extension.

◆ rm_ble_mesh_api_t

struct rm_ble_mesh_api_t

BLE MESH functions implemented at the HAL layer will follow this API.

Data Fields

fsp_err_t(* open )(rm_ble_mesh_ctrl_t *const p_ctrl, rm_ble_mesh_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(rm_ble_mesh_ctrl_t *const p_ctrl)
 
fsp_err_t(* startTransitionTimer )(rm_ble_mesh_ctrl_t *const p_ctrl, rm_ble_mesh_access_state_transition_t const *const p_transition, uint16_t *const p_transition_time_handle)
 
fsp_err_t(* stopTransitionTimer )(rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle)
 
fsp_err_t(* getRemainingTransitionTime )(rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle, uint8_t *const p_remaining_transition_time)
 
fsp_err_t(* getRemainingTransitionTimeWithOffset )(rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle, uint32_t offset_in_ms, uint8_t *const p_remaining_transition_time)
 
fsp_err_t(* convertTransitionTimeFromMs )(rm_ble_mesh_ctrl_t *const p_ctrl, uint32_t transition_time_in_ms, uint8_t *const p_transition_time)
 
fsp_err_t(* convertTransitionTimeToMs )(rm_ble_mesh_ctrl_t *const p_ctrl, uint8_t transition_time, uint32_t *const p_transition_time_in_ms)
 

Field Documentation

◆ open

fsp_err_t(* rm_ble_mesh_api_t::open) (rm_ble_mesh_ctrl_t *const p_ctrl, rm_ble_mesh_cfg_t const *const p_cfg)

Open BLE mesh middleware.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_cfgPointer to pin configuration structure.

◆ close

fsp_err_t(* rm_ble_mesh_api_t::close) (rm_ble_mesh_ctrl_t *const p_ctrl)

Close BLE mesh middleware.

Parameters
[in]p_ctrlPointer to control structure.

◆ startTransitionTimer

fsp_err_t(* rm_ble_mesh_api_t::startTransitionTimer) (rm_ble_mesh_ctrl_t *const p_ctrl, rm_ble_mesh_access_state_transition_t const *const p_transition, uint16_t *const p_transition_time_handle)

To start transition timer.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_transitionPointer to state transition data structure, which includes the timeout, transition start and complete callback etc.
[out]p_transition_time_handlePointer to transition time handle, which can be used to stop the transition timer if required.

◆ stopTransitionTimer

fsp_err_t(* rm_ble_mesh_api_t::stopTransitionTimer) (rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle)

To stop transition timer.

Parameters
[in]p_ctrlPointer to control structure.
[in]transition_time_handleTransition time handle, returned by the Start Transition Timer interface.

◆ getRemainingTransitionTime

fsp_err_t(* rm_ble_mesh_api_t::getRemainingTransitionTime) (rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle, uint8_t *const p_remaining_transition_time)

To get remaining Transition Time.

Parameters
[in]p_ctrlPointer to control structure.
[in]transition_time_handleTransition time handle, returned by the Start Transition Timer interface.
[out]p_remaining_transition_timePointer to remaining transition time.

◆ getRemainingTransitionTimeWithOffset

fsp_err_t(* rm_ble_mesh_api_t::getRemainingTransitionTimeWithOffset) (rm_ble_mesh_ctrl_t *const p_ctrl, uint16_t transition_time_handle, uint32_t offset_in_ms, uint8_t *const p_remaining_transition_time)

To get remaining Transition Time, with offset.

Parameters
[in]p_ctrlPointer to control structure.
[in]transition_time_handleTransition time handle, returned by the Start Transition Timer interface.
[in]offset_in_msOffset in millisecond.
[out]p_remaining_transition_timePointer to remaining transition time.

◆ convertTransitionTimeFromMs

fsp_err_t(* rm_ble_mesh_api_t::convertTransitionTimeFromMs) (rm_ble_mesh_ctrl_t *const p_ctrl, uint32_t transition_time_in_ms, uint8_t *const p_transition_time)

To convert transition time from millisecond.

Parameters
[in]p_ctrlPointer to control structure.
[in]transition_time_in_msTransition time in millisecond.
[out]p_transition_timePointer to converted value in Generic Default Transition Time state format.

◆ convertTransitionTimeToMs

fsp_err_t(* rm_ble_mesh_api_t::convertTransitionTimeToMs) (rm_ble_mesh_ctrl_t *const p_ctrl, uint8_t transition_time, uint32_t *const p_transition_time_in_ms)

To convert transition time to millisecond.

Parameters
[in]p_ctrlPointer to control structure.
[in]transition_timeTransition time in Generic Default Transition Time state format.
[out]p_transition_time_in_msPointer to converted value of transition time in millisecond.

◆ rm_ble_mesh_instance_t

struct rm_ble_mesh_instance_t

This structure encompasses everything that is needed to use an instance of this interface.

Data Fields
rm_ble_mesh_ctrl_t * p_ctrl Pointer to the control structure for this instance.
rm_ble_mesh_cfg_t const * p_cfg Pointer to the configuration structure for this instance.
rm_ble_mesh_api_t const * p_api Pointer to the API structure for this instance.

Macro Definition Documentation

◆ RM_BLE_MESH_DEVICE_UUID_SIZE

#define RM_BLE_MESH_DEVICE_UUID_SIZE

Device UUID Size

◆ RM_BLE_MESH_ERROR_GROUP_MASK

#define RM_BLE_MESH_ERROR_GROUP_MASK

Error group mask for BLE MESH Module

◆ RM_BLE_MESH_ERROR_GROUP_MASK_COMMON

#define RM_BLE_MESH_ERROR_GROUP_MASK_COMMON

Error group mask for Common

◆ RM_BLE_MESH_ERROR_GROUP_MASK_BEARER

#define RM_BLE_MESH_ERROR_GROUP_MASK_BEARER

Error group mask for Bearer

◆ RM_BLE_MESH_ERROR_GROUP_MASK_NETWORK

#define RM_BLE_MESH_ERROR_GROUP_MASK_NETWORK

Error group mask for Network

◆ RM_BLE_MESH_ERROR_GROUP_MASK_LOWER_TRANS

#define RM_BLE_MESH_ERROR_GROUP_MASK_LOWER_TRANS

Error group mask for Lower Transport

◆ RM_BLE_MESH_ERROR_GROUP_MASK_UPPER_TRANS

#define RM_BLE_MESH_ERROR_GROUP_MASK_UPPER_TRANS

Error group mask for Upper Transport

◆ RM_BLE_MESH_ERROR_GROUP_MASK_ACCESS

#define RM_BLE_MESH_ERROR_GROUP_MASK_ACCESS

Error group mask for Access

◆ RM_BLE_MESH_ERROR_GROUP_MASK_PROVISION

#define RM_BLE_MESH_ERROR_GROUP_MASK_PROVISION

Error group mask for Provisioning

◆ RM_BLE_MESH_ERROR_GROUP_MASK_GENERIC_MODEL

#define RM_BLE_MESH_ERROR_GROUP_MASK_GENERIC_MODEL

Error group mask for Generic Models

◆ RM_BLE_MESH_ERROR_GROUP_MASK_CONFIG_MODEL

#define RM_BLE_MESH_ERROR_GROUP_MASK_CONFIG_MODEL

Error group mask for Config Model

◆ RM_BLE_MESH_ERROR_GROUP_MASK_HEALTH_MODEL

#define RM_BLE_MESH_ERROR_GROUP_MASK_HEALTH_MODEL

Error group mask for Health Model

Typedef Documentation

◆ rm_ble_mesh_timer_handle_t

Timer handle

◆ rm_ble_mesh_ctrl_t

typedef void rm_ble_mesh_ctrl_t

BLE MESH control block. Allocate an instance specific control block to pass into the BLE MESH API calls.

Enumeration Type Documentation

◆ rm_ble_mesh_error_code_t

BLE MESH error code.

Enumerator
RM_BLE_MESH_ERROR_CODE_SUCCESS 

Success

RM_BLE_MESH_ERROR_CODE_INVALID_ADDRESS 

Invalid Address

RM_BLE_MESH_ERROR_CODE_INVALID_MODEL 

Invalid Model

RM_BLE_MESH_ERROR_CODE_INVALID_APPKEY_INDEX 

Invalid AppKey Index

RM_BLE_MESH_ERROR_CODE_INVALID_NETKEY_INDEX 

Invalid NetKey Index

RM_BLE_MESH_ERROR_CODE_INSUFFICIENT_RESOURCES 

Insufficient Resources

RM_BLE_MESH_ERROR_CODE_KEY_INDEX_ALREADY_STORED 

Key Index Already Stored

RM_BLE_MESH_ERROR_CODE_INVALID_PUBLISH_PARAMETER 

Invalid Publish Parameters

RM_BLE_MESH_ERROR_CODE_NOT_A_SUBSCRIBE_MODEL 

Not a Subscribe Model

RM_BLE_MESH_ERROR_CODE_STORAGE_FAILURE 

Storage Failure

RM_BLE_MESH_ERROR_CODE_FEATURE_NOT_SUPPORTED 

Feature Not Supported

RM_BLE_MESH_ERROR_CODE_CANNOT_UPDATE 

Cannot Update

RM_BLE_MESH_ERROR_CODE_CANNOT_REMOVE 

Cannot Remove

RM_BLE_MESH_ERROR_CODE_CANNOT_BIND 

Cannot Bind

RM_BLE_MESH_ERROR_CODE_TEMP_UNABLE_TO_CHANGE_STATE 

Temporarily Unable to Change State

RM_BLE_MESH_ERROR_CODE_CANNOT_SET 

Cannot Set

RM_BLE_MESH_ERROR_CODE_UNSPECIFIED_ERROR 

Unspecified Error

RM_BLE_MESH_ERROR_CODE_INVALID_BINDING 

Invalid Binding

RM_BLE_MESH_ERROR_CODE_BEARER_MUTEX_INIT_FAILED 

Bearer Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_BEARER_COND_INIT_FAILED 

Bearer Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_BEARER_MUTEX_LOCK_FAILED 

Bearer Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_BEARER_MUTEX_UNLOCK_FAILED 

Bearer Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_BEARER_MEMORY_ALLOCATION_FAILED 

Bearer Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_BEARER_INVALID_PARAMETER_VALUE 

Bearer Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_BEARER_PARAMETER_OUTSIDE_RANGE 

Bearer Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_BEARER_NULL_PARAMETER_NOT_ALLOWED 

Bearer Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_BEARER_INTERFACE_NOT_READY 

Bearer Error Code for Interface Not Read

RM_BLE_MESH_ERROR_CODE_BEARER_API_NOT_SUPPORTED 

Bearer Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_NETWORK_MUTEX_INIT_FAILED 

Network Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_NETWORK_COND_INIT_FAILED 

Network Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_NETWORK_MUTEX_LOCK_FAILED 

Network Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_NETWORK_MUTEX_UNLOCK_FAILED 

Network Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_NETWORK_MEMORY_ALLOCATION_FAILED 

Network Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_NETWORK_INVALID_PARAMETER_VALUE 

Network Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_NETWORK_PARAMETER_OUTSIDE_RANGE 

Network Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_NETWORK_NULL_PARAMETER_NOT_ALLOWED 

Network Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_NETWORK_TX_QUEUE_FULL 

Network Error Code for Transmit Queue Full

RM_BLE_MESH_ERROR_CODE_NETWORK_TX_QUEUE_EMPTY 

Network Error Code for Transmit Queue Empty

RM_BLE_MESH_ERROR_CODE_NETWORK_INVALID_RX_PACKET_FORMAT 

Network Error Code returned by Network Callback, indicating if it detected an invalid packet format or if the packet to be further processed, by the network layer like to be relayed or proxied etc.

RM_BLE_MESH_ERROR_CODE_NETWORK_RX_LOCAL_SRC_ADDR_PACKET 

Network Error Code for reception of locally sourced packet

RM_BLE_MESH_ERROR_CODE_NETWORK_POST_PROCESS_RX_PACKET 

Network Error Code returned by Network Callback, indicating if the received packet needs further processing by the network layer like to be relayed or proxied etc. after the control being returned by the callback.

RM_BLE_MESH_ERROR_CODE_NETWORK_RX_ALREADY_RELAYED_PACKET 

Network Error Code for Already Relayed Packet

RM_BLE_MESH_ERROR_CODE_NETWORK_RX_LPN_SRC_ADDR_TO_RELAY_PACKET 

Network Error Code returned by Network Callback, indicating if the received packet is for a known LPN with an ongoing Friendship which needs further processing by the network layer like to be relayed or proxied etc. after the control being returned by the callback.

RM_BLE_MESH_ERROR_CODE_NETWORK_CRYPTO_UNLIKELY_ERR 

Network Error code to tag all errors returned by the Crypto Interface to the Network layer.

RM_BLE_MESH_ERROR_CODE_NETWORK_API_NOT_SUPPORTED 

Network Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_MUTEX_INIT_FAILED 

Lower Transport Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_COND_INIT_FAILED 

Lower Transport Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_MUTEX_LOCK_FAILED 

Lower Transport Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_MUTEX_UNLOCK_FAILED 

Lower Transport Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_MEMORY_ALLOCATION_FAILED 

Lower Transport Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_INVALID_PARAMETER_VALUE 

Lower Transport Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_PARAMETER_OUTSIDE_RANGE 

Lower Transport Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_NULL_PARAMETER_NOT_ALLOWED 

Lower Transport Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_LOWER_TRANS_SAR_CTX_ALLOCATION_FAILED 

Lower Transport Error Code for SAR Context Allocation Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_MUTEX_INIT_FAILED 

Upper Transport Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_COND_INIT_FAILED 

Upper Transport Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_MUTEX_LOCK_FAILED 

Upper Transport Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_MUTEX_UNLOCK_FAILED 

Upper Transport Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_MEMORY_ALLOCATION_FAILED 

Upper Transport Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_INVALID_PARAMETER_VALUE 

Upper Transport Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_PARAMETER_OUTSIDE_RANGE 

Upper Transport Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_NULL_PARAMETER_NOT_ALLOWED 

Upper Transport Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_QUEUE_FULL 

Upper Transport Error Code for Queue Full

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_QUEUE_EMPTY 

Upper Transport Error Code for Queue Empty

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_INCOMPLETE_PACKET_RECEIVED 

Upper Transport Error Code for Incomplete Packet Reception

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_INVALID_FRNDSHIP_STATE 

Upper Transport Error Code for Invalid Friendship State

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_FRNDSHIP_CLEARED_ON_TIMEOUT 

Upper Transport Error Code for Friendship Cleared on Timeout

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_CRYPTO_UNLIKELY_ERR 

Upper Transport Error code to tag all errors returned by the Crypto Interface to the Transport layer.

RM_BLE_MESH_ERROR_CODE_UPPER_TRANS_API_NOT_SUPPORTED 

Upper Transport Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_ACCESS_MUTEX_INIT_FAILED 

Access Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_ACCESS_COND_INIT_FAILED 

Access Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_ACCESS_MUTEX_LOCK_FAILED 

Access Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_ACCESS_MUTEX_UNLOCK_FAILED 

Access Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_ACCESS_MEMORY_ALLOCATION_FAILED 

Access Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_ACCESS_INVALID_PARAMETER_VALUE 

Access Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_ACCESS_PARAMETER_OUTSIDE_RANGE 

Access Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_ACCESS_NULL_PARAMETER_NOT_ALLOWED 

Access Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_ACCESS_NO_RESOURCE 

Access Error Code for No Resources

RM_BLE_MESH_ERROR_CODE_ACCESS_NO_MATCH 

Access Error Code for No Match

RM_BLE_MESH_ERROR_CODE_ACCESS_INVALID_HANDLE 

Access Error Code for Invalid Handle

RM_BLE_MESH_ERROR_CODE_ACCESS_MODEL_ALREADY_REGISTERED 

Access Error Code for Model Already Registered

RM_BLE_MESH_ERROR_CODE_ACCESS_INVALID_SRC_ADDR 

Access Error Code for Invalid Source Address

RM_BLE_MESH_ERROR_CODE_ACCESS_DEV_KEY_TABLE_FULL 

Access Error Code for Device Key Table Full

RM_BLE_MESH_ERROR_CODE_ACCESS_MASTER_NID_ON_LPN 

Access Error Code when detecting Packets with Master Network Credentials from a known address with ongoing Friendship

RM_BLE_MESH_ERROR_CODE_ACCESS_INVALID_PUBLICATION_STATE 

Access Error Code for Invalid Publication State

RM_BLE_MESH_ERROR_CODE_ACCESS_INVALID_PUBLICATION_TTL 

Access Error Code for Invalid Publication TTL

RM_BLE_MESH_ERROR_CODE_ACCESS_IV_VAL_NOT_PERMITTED 

Access Error Code for not permitted IV Index Value

RM_BLE_MESH_ERROR_CODE_ACCESS_IV_UPDATE_TOO_SOON 

Access Error Code for IV Update occurring too soon within the stipulated/specified Time Limit

RM_BLE_MESH_ERROR_CODE_ACCESS_IV_INCORRECT_STATE 

Access Error Code for IV Update in Incorrect State

RM_BLE_MESH_ERROR_CODE_ACCESS_IV_UPDATE_DEFERRED_IN_BUSY 

Access Error Code for IV Update deferred due to currently Busy State

RM_BLE_MESH_ERROR_CODE_ACCESS_API_NOT_SUPPORTED 

Access Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_PROVISION_MUTEX_INIT_FAILED 

Provisioning Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_COND_INIT_FAILED 

Provisioning Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_MUTEX_LOCK_FAILED 

Provisioning Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_MUTEX_UNLOCK_FAILED 

Provisioning Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_MEMORY_ALLOCATION_FAILED 

Provisioning Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_INVALID_STATE 

Provisioning Error Code for Invalid State

RM_BLE_MESH_ERROR_CODE_PROVISION_INVALID_PARAMETER 

Bearer Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_PROVISION_CONTEXT_ALLOC_FAILED 

Provisioning Error Code for Context Allocation Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_CONTEXT_ASSERT_FAILED 

Provisioning Error Code for Context Assertion Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_CONTEXT_LINK_OPEN 

Provisioning Error Code for Context Link Open

RM_BLE_MESH_ERROR_CODE_PROVISION_BEARER_ASSERT_FAILED 

Provisioning Error Code for Bearer Assertion Failure

RM_BLE_MESH_ERROR_CODE_PROVISION_PROCEDURE_TIMEOUT 

Provisioning Error Code for Procedure Timeout

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_MUTEX_INIT_FAILED 

Generic Model Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_COND_INIT_FAILED 

Generic Model Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_MUTEX_LOCK_FAILED 

Generic Model Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_MUTEX_UNLOCK_FAILED 

Generic Model Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_MEMORY_ALLOCATION_FAILED 

Generic Model Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_INVALID_STATE 

Generic Model Error Code for Invalid State

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_INVALID_PARAMETER 

Generic Model Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_PARAMETER_OUTSIDE_RANGE 

Generic Model Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_NULL_PARAMETER_NOT_ALLOWED 

Generic Model Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_INVALID_MODEL_HANDLE 

Generic Model Error Code for Invalid Model Handle

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_INVALID_ELEMENT_HANDLE 

Generic Model Error Code for Invalid Element Handle

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_NOT_PRIMARY_ELEMENT 

Generic Model Error Code when Operation is detected on a Node element which is not Primary Element

RM_BLE_MESH_ERROR_CODE_GENERIC_MODEL_API_NOT_SUPPORTED 

Generic Model Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_MUTEX_INIT_FAILED 

Config Model Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_COND_INIT_FAILED 

Config Model Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_MUTEX_LOCK_FAILED 

Config Model Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_MUTEX_UNLOCK_FAILED 

Config Model Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_MEMORY_ALLOCATION_FAILED 

Config Model Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_INVALID_STATE 

Config Model Error Code for Invalid State

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_INVALID_PARAMETER 

Config Model Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_PARAMETER_OUTSIDE_RANGE 

Config Model Error Code for Parameter Outside Range

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_NULL_PARAMETER_NOT_ALLOWED 

Config Model Error Code for NULL Parameter Not Allowed

RM_BLE_MESH_ERROR_CODE_CONFIG_MODEL_API_NOT_SUPPORTED 

Config Model Error Code for API Not Supported

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_MUTEX_INIT_FAILED 

Health Model Error Code for MUTEX Initialization Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_COND_INIT_FAILED 

Health Model Error Code for Conditional Variable Initialization Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_MUTEX_LOCK_FAILED 

Health Model Error Code for MUTEX Lock Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_MUTEX_UNLOCK_FAILED 

Health Model Error Code for MUTEX Unlock Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_MEMORY_ALLOCATION_FAILED 

Health Model Error Code for Memory Allocation Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_INVALID_STATE 

Health Model Error Code for Invalid State

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_INVALID_PARAMETER 

Health Model Error Code for Invalid Parameter Value

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_CONTEXT_ALLOC_FAILED 

Health Model Error Code for Context Allocation Failure

RM_BLE_MESH_ERROR_CODE_HEALTH_MODEL_CONTEXT_ASSERT_FAILED 

Health Model Error Code for Context Assertion Failure

RM_BLE_MESH_ERROR_CODE_FAILURE 

A failure that does not match any other error code

◆ rm_ble_mesh_feature_select_t

Node Feature

Enumerator
RM_BLE_MESH_FEATURE_SELECT_RELAY 

Relay Feature

RM_BLE_MESH_FEATURE_SELECT_PROXY 

Proxy Feature

RM_BLE_MESH_FEATURE_SELECT_FRIEND 

Friend Feature

RM_BLE_MESH_FEATURE_SELECT_LPN 

Low Power Feature

◆ rm_ble_mesh_feature_state_t

Enumerator
RM_BLE_MESH_FEATURE_STATE_DISABLE 

BLE Mesh featre status - Disable

RM_BLE_MESH_FEATURE_STATE_ENABLE 

BLE Mesh featre status - Enable