RA Flexible Software Package Documentation  Release v5.3.0

 
BLE Mesh Provision Interface

Detailed Description

Interface for BLE Mesh Provision functions.

Summary

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

Data Structures

struct  rm_ble_mesh_provision_device_t
 
struct  rm_ble_mesh_provision_oob_info_t
 
struct  rm_ble_mesh_provision_capabilities_t
 
struct  rm_ble_mesh_provision_method_t
 
struct  rm_ble_mesh_provision_data_t
 
struct  rm_ble_mesh_provision_device_info_t
 
struct  rm_ble_mesh_provision_callback_args_t
 
struct  rm_ble_mesh_provision_cfg_t
 
struct  rm_ble_mesh_provision_api_t
 
struct  rm_ble_mesh_provision_instance_t
 

Macros

#define RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE
 
#define RM_BLE_MESH_PROVISION_ECDH_KEY_SIZE
 
#define RM_BLE_MESH_PROVISION_OOB_VALUE_SIZE
 
#define RM_BLE_MESH_PROVISION_URI_HASH_SIZE
 
#define RM_BLE_MESH_PROVISION_HANDLE_INVALID
 

Typedefs

typedef uint8_t rm_ble_mesh_provision_handle_t
 
typedef void rm_ble_mesh_provision_ctrl_t
 

Enumerations

enum  rm_ble_mesh_provision_role_t
 
enum  rm_ble_mesh_provision_bearer_type_t
 
enum  rm_ble_mesh_provision_pdu_type_t
 
enum  rm_ble_mesh_provision_pub_key_value_t
 
enum  rm_ble_mesh_provision_auth_method_t
 
enum  rm_ble_mesh_provision_output_oob_action_t
 
enum  rm_ble_mesh_provision_input_oob_action_t
 
enum  rm_ble_mesh_provision_adv_transport_opcode_t
 
enum  rm_ble_mesh_provision_gatt_transport_opcode_t
 
enum  rm_ble_mesh_provision_error_code_t
 
enum  rm_ble_mesh_provision_link_close_reason_t
 
enum  rm_ble_mesh_provision_oob_type_t
 
enum  rm_ble_mesh_provision_event_type_t
 

Data Structure Documentation

◆ rm_ble_mesh_provision_device_t

struct rm_ble_mesh_provision_device_t

Device Information used for Provisioning

Data Fields
uint8_t uuid[RM_BLE_MESH_DEVICE_UUID_SIZE]

Device UUID - Used in unprovisioned device beacon and Provisioning Invite

uint16_t oob

OOB Information

rm_ble_mesh_buffer_t * uri

URI if any, to be given in encoded form

◆ rm_ble_mesh_provision_oob_info_t

struct rm_ble_mesh_provision_oob_info_t

OOB type for provisioning

Data Fields
uint16_t action

OOB Action information

uint8_t size

OOB Size information

◆ rm_ble_mesh_provision_capabilities_t

struct rm_ble_mesh_provision_capabilities_t

Device capabilities used for Provisioning

Data Fields
uint8_t num_elements

Number of Elements

uint16_t supported_algorithms

Supported algorithms

uint8_t supported_pubkey

Public key type

uint8_t supported_soob

Static OOB type

rm_ble_mesh_provision_oob_info_t output_oob

Output OOB information

rm_ble_mesh_provision_oob_info_t input_oob

Input OOB information

◆ rm_ble_mesh_provision_method_t

struct rm_ble_mesh_provision_method_t

Provisioning method information

Data Fields
uint8_t algorithm

Algorithm selected

uint8_t pubkey

Public key usage

uint8_t auth

Authentication type

rm_ble_mesh_provision_oob_info_t oob

OOB type

◆ rm_ble_mesh_provision_data_t

struct rm_ble_mesh_provision_data_t

Data exchanged during Provisioning procedure

Data Fields
uint8_t netkey[RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE]

NetKey

uint16_t keyid

Index of the NetKey

uint8_t flags

Flags bit-mask bit 0: Key Refresh Flag. 0: Not-In-Phase2 1: In-Phase2 bit 1: IV Update Flag 0: Normal operation 1: IV Update active

bits 2-7: RFU

uint32_t iv_index

Current value of the IV index

uint16_t unicast_addr

Unicast address of the primary element

◆ rm_ble_mesh_provision_device_info_t

struct rm_ble_mesh_provision_device_info_t

Provisioning device information

Data Fields
rm_ble_mesh_provision_bearer_type_t type Provisioning Bearer Types.
rm_ble_mesh_provision_device_t * p_device Device Information used for Provisioning.

◆ rm_ble_mesh_provision_callback_args_t

struct rm_ble_mesh_provision_callback_args_t

Mesh model client callback parameter definition

Data Fields
rm_ble_mesh_provision_handle_t * p_handle Handle to reference the active provisioning context.
rm_ble_mesh_provision_event_type_t event_type Provisioning event type.
rm_ble_mesh_error_code_t event_result BLE MESH error code.
rm_ble_mesh_buffer_t event_data Payload type.
void const * p_context

◆ rm_ble_mesh_provision_cfg_t

struct rm_ble_mesh_provision_cfg_t

BLE MESH PROVISION configuration parameters.

Data Fields

uint32_t channel
 Select a channel corresponding to the channel number of the hardware. More...
 
rm_ble_mesh_provision_capabilities_tp_capabilities
 Device capabilities used for Provisioning.
 
rm_ble_mesh_instance_t const * p_mesh_instance
 Instance structure of BLE Mesh.
 
void(* p_callback )(rm_ble_mesh_provision_callback_args_t *p_args)
 Callback function.
 
void const * p_context
 Placeholder for user data. Passed to the user callback in ble_abs_callback_args_t.
 
void const * p_extend
 Placeholder for user extension.
 

Field Documentation

◆ channel

uint32_t rm_ble_mesh_provision_cfg_t::channel

Select a channel corresponding to the channel number of the hardware.

the parameters for initialization.

◆ rm_ble_mesh_provision_api_t

struct rm_ble_mesh_provision_api_t

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

Data Fields

fsp_err_t(* open )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(rm_ble_mesh_provision_ctrl_t *const p_ctrl)
 
fsp_err_t(* setup )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_role_t role, rm_ble_mesh_provision_device_info_t info, uint16_t timeout)
 
fsp_err_t(* bind )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_device_info_t info, uint8_t attention, rm_ble_mesh_provision_handle_t *const p_handle)
 
fsp_err_t(* sendPdu )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_provision_pdu_type_t type, rm_ble_mesh_buffer_t pdu_data)
 
fsp_err_t(* setAuthVal )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_buffer_t auth_value)
 
fsp_err_t(* abort )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_provision_link_close_reason_t reason)
 
fsp_err_t(* getLocalPublicKey )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const public_key)
 
fsp_err_t(* setLocalPublicKey )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const public_key)
 
fsp_err_t(* generateRandomizedNumber )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const p_key)
 
fsp_err_t(* setOobPublicKey )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const p_key, uint8_t size)
 
fsp_err_t(* setOobAuthInfo )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const p_auth_info, uint8_t size)
 
fsp_err_t(* generateEcdhKey )(rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const p_public_key)
 

Field Documentation

◆ open

fsp_err_t(* rm_ble_mesh_provision_api_t::open) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_cfg_t const *const p_cfg)

Open access middleware.

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

◆ close

fsp_err_t(* rm_ble_mesh_provision_api_t::close) (rm_ble_mesh_provision_ctrl_t *const p_ctrl)

Close access middleware.

Parameters
[in]p_ctrlPointer to control structure.

◆ setup

fsp_err_t(* rm_ble_mesh_provision_api_t::setup) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_role_t role, rm_ble_mesh_provision_device_info_t info, uint16_t timeout)

Setup the device for provisioning.

Parameters
[in]p_ctrlPointer to control structure.
[in]roleProvisioning role to be setup - Device or Provisioner.
[in]infoDevice information.
[in]timeoutThe time period for which the setup shall be active.

◆ bind

fsp_err_t(* rm_ble_mesh_provision_api_t::bind) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_device_info_t info, uint8_t attention, rm_ble_mesh_provision_handle_t *const p_handle)

Bind to the peer device for provisioning

Parameters
[in]p_ctrlPointer to control structure.
[in]infoDevice information.
[in]attentionAttention duration.
[out]p_handlePointer to handle.
Note
This API is for use by the Provisioner application only upon reception of an Unprovisioned Device Beacon.

◆ sendPdu

fsp_err_t(* rm_ble_mesh_provision_api_t::sendPdu) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_provision_pdu_type_t type, rm_ble_mesh_buffer_t pdu_data)

Send provisioning PDUs to the peer.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_handlePointer to provisioning context to be used.
[in]typeFollowing PDU types are handled - RM_BLE_MESH_PROVISION_PDU_TYPE_START RM_BLE_MESH_PROVISION_PDU_TYPE_INPUT_COMPLETE RM_BLE_MESH_PROVISION_PDU_TYPE_DATA
[in]pdu_dataPointer to the data corresponding to the above PDUs.

◆ setAuthVal

fsp_err_t(* rm_ble_mesh_provision_api_t::setAuthVal) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_buffer_t auth_value)

Set the display Auth-Value.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_handlePointer to provisioning context to be used.
[in]auth_valuePointer to the Authval (UINT32 *) or (uint8_t *).

◆ abort

fsp_err_t(* rm_ble_mesh_provision_api_t::abort) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, rm_ble_mesh_provision_handle_t const *const p_handle, rm_ble_mesh_provision_link_close_reason_t reason)

Abort the provisioning procedure

Parameters
[in]p_ctrlPointer to control structure.
[in]p_handlePointer to provisioning context to be used.
[in]reasonReason for termination.

◆ getLocalPublicKey

fsp_err_t(* rm_ble_mesh_provision_api_t::getLocalPublicKey) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const public_key)

Utility API to get current ECDH Public Key to be used for Provisioning

Parameters
[in]p_ctrlPointer to control structure.
[out]public_keyTo a pointer of uint8_t array of length RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE.

◆ setLocalPublicKey

fsp_err_t(* rm_ble_mesh_provision_api_t::setLocalPublicKey) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const public_key)

Utility API to set current ECDH Public Key to be used for Provisioning

Parameters
[in]p_ctrlPointer to control structure.
[out]public_keyTo a pointer of uint8_t array of length RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE.

◆ generateRandomizedNumber

fsp_err_t(* rm_ble_mesh_provision_api_t::generateRandomizedNumber) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const p_key)

Utility API to generate 128bits (16 bytes) randomized number to be used for provisioning.

Parameters
[in]p_ctrlPointer to control structure.
[out]p_keyPointer to buffer to store random number.

◆ setOobPublicKey

fsp_err_t(* rm_ble_mesh_provision_api_t::setOobPublicKey) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const p_key, uint8_t size)

Utility API to set device out of band public key for provisioning.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_keyPointer to public key.
[in]sizeSize of public key.

◆ setOobAuthInfo

fsp_err_t(* rm_ble_mesh_provision_api_t::setOobAuthInfo) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t const *const p_auth_info, uint8_t size)

Utility API to set device out of band authentication information for provisioning.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_auth_infoPointer to authentication information.
[in]sizeSize of authentication information.

◆ generateEcdhKey

fsp_err_t(* rm_ble_mesh_provision_api_t::generateEcdhKey) (rm_ble_mesh_provision_ctrl_t *const p_ctrl, uint8_t *const p_public_key)

Utility API to generate ECDH Public Key to be used for Provisioning

Parameters
[in]p_ctrlPointer to control structure.
[out]p_public_keyPointer to public key. Size of public key is RM_BLE_MESH_PROVISION_ECDH_KEY_SIZE.

◆ rm_ble_mesh_provision_instance_t

struct rm_ble_mesh_provision_instance_t

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

Data Fields
rm_ble_mesh_provision_ctrl_t * p_ctrl Pointer to the control structure for this instance.
rm_ble_mesh_provision_cfg_t
const *
p_cfg Pointer to the configuration structure for this instance.
rm_ble_mesh_provision_api_t
const *
p_api Pointer to the API structure for this instance.

Macro Definition Documentation

◆ RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE

#define RM_BLE_MESH_PROVISION_KEY_NETKEY_SIZE

Provisioning array size requirements Provisioning key NetKey size

◆ RM_BLE_MESH_PROVISION_ECDH_KEY_SIZE

#define RM_BLE_MESH_PROVISION_ECDH_KEY_SIZE

Provisioning ECDH Key size

◆ RM_BLE_MESH_PROVISION_OOB_VALUE_SIZE

#define RM_BLE_MESH_PROVISION_OOB_VALUE_SIZE

Provisioning OOB value size

◆ RM_BLE_MESH_PROVISION_URI_HASH_SIZE

#define RM_BLE_MESH_PROVISION_URI_HASH_SIZE

Provisioning URI hash size

◆ RM_BLE_MESH_PROVISION_HANDLE_INVALID

#define RM_BLE_MESH_PROVISION_HANDLE_INVALID

Invalid Provisioning Handle

Typedef Documentation

◆ rm_ble_mesh_provision_handle_t

Handle to reference the active provisioning context

◆ rm_ble_mesh_provision_ctrl_t

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

Enumeration Type Documentation

◆ rm_ble_mesh_provision_role_t

Provisioning Roles

Enumerator
RM_BLE_MESH_PROVISION_ROLE_DEVICE 

Device role.

RM_BLE_MESH_PROVISION_ROLE_PROVISIONER 

Provisioner role.

◆ rm_ble_mesh_provision_bearer_type_t

Provisioning Bearer Types

Enumerator
RM_BLE_MESH_PROVISION_BEARER_TYPE_ADV 

Advertising bearer type.

RM_BLE_MESH_PROVISION_BEARER_TYPE_GATT 

GATT bearer type.

◆ rm_ble_mesh_provision_pdu_type_t

Provisioning PDU Types

Enumerator
RM_BLE_MESH_PROVISION_PDU_TYPE_INVITE 

Invite PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_CAPAB 

Capable PDu type.

RM_BLE_MESH_PROVISION_PDU_TYPE_START 

Start PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_PUBKEY 

Public key PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_INPUT_COMPLETE 

Input complete PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_CONF 

Configuration PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_RAND 

Random PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_DATA 

Data PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_COMPLETE 

Complete PDU type.

RM_BLE_MESH_PROVISION_PDU_TYPE_FAILED 

Failed PDU type.

◆ rm_ble_mesh_provision_pub_key_value_t

Provisioning public key values

Enumerator
RM_BLE_MESH_PROVISION_PUBKEY_NO_OOB 

Public key no OOB.

RM_BLE_MESH_PROVISION_PUBKEY_OOB 

Public key OOB.

◆ rm_ble_mesh_provision_auth_method_t

Provisioning authentication method values

Enumerator
RM_BLE_MESH_PROVISION_AUTH_METHOD_OOB_NONE 

Authentication method none.

RM_BLE_MESH_PROVISION_AUTH_METHOD_OOB_STATIC 

Authentication method static.

RM_BLE_MESH_PROVISION_AUTH_METHOD_OOB_OUTPUT 

Authentication method output.

RM_BLE_MESH_PROVISION_AUTH_METHOD_OOB_INPUT 

Authentication method input.

◆ rm_ble_mesh_provision_output_oob_action_t

Provisioning Output OOB action values

Enumerator
RM_BLE_MESH_PROVISION_OUTPUT_OOB_ACTION_BLINK 

Output OOB action blink.

RM_BLE_MESH_PROVISION_OUTPUT_OOB_ACTION_BEEP 

Output OOB action beep.

RM_BLE_MESH_PROVISION_OUTPUT_OOB_ACTION_VIBRATE 

Output OOB action vibrate.

RM_BLE_MESH_PROVISION_OUTPUT_OOB_ACTION_NUMERIC 

Output OOB action numeric.

RM_BLE_MESH_PROVISION_OUTPUT_OOB_ACTION_ALPHANUMERIC 

Output OOB action alphanumeric.

◆ rm_ble_mesh_provision_input_oob_action_t

Provisioning Input OOB action values

Enumerator
RM_BLE_MESH_PROVISION_INPUT_OOB_ACTION_PUSH 

Input OOB action push.

RM_BLE_MESH_PROVISION_INPUT_OOB_ACTION_TWIST 

Input OOB action twist.

RM_BLE_MESH_PROVISION_INPUT_OOB_ACTION_NUMERIC 

Input OOB action numeric.

RM_BLE_MESH_PROVISION_INPUT_OOB_ACTION_ALPHANUMERIC 

Input OOB action alphanumeric.

◆ rm_ble_mesh_provision_adv_transport_opcode_t

Specification defined transport Opcodes for PB-ADV bearer

Enumerator
RM_BLE_MESH_PROVISION_ADV_TRANSPORT_OPECODE_OPEN_REQ 

Link Open Request

RM_BLE_MESH_PROVISION_ADV_TRANSPORT_OPECODE_OPEN_CNF 

Link Open Confirm

RM_BLE_MESH_PROVISION_ADV_TRANSPORT_OPECODE_CLOSE_IND 

Link Close Indication

◆ rm_ble_mesh_provision_gatt_transport_opcode_t

Implementation specific transport Opcodes for PB-GATT bearer

Enumerator
RM_BLE_MESH_PROVISION_GATT_TRANSPORT_OPECODE_OPEN_IND 

Link Open Indication

RM_BLE_MESH_PROVISION_GATT_TRANSPORT_OPECODE_CLOSE_IND 

Link Close Indication

◆ rm_ble_mesh_provision_error_code_t

Provisioning Failure Error Codes

Enumerator
RM_BLE_MESH_PROVISION_ERROR_CODE_PROHIBITED 

Failure error code prohibited.

RM_BLE_MESH_PROVISION_ERROR_CODE_INVALID_PDU 

Failure error code invalid PDU.

RM_BLE_MESH_PROVISION_ERROR_CODE_INVALID_FORMAT 

Failure error code invalid format.

RM_BLE_MESH_PROVISION_ERROR_CODE_UNEXPECTED_PDU 

Failure error code unexpected PDU.

RM_BLE_MESH_PROVISION_ERROR_CODE_CONFIRMATION_FAILED 

Failure error code confirmation failed.

RM_BLE_MESH_PROVISION_ERROR_CODE_OUT_OF_RESOURCES 

Failure error code out of resources.

RM_BLE_MESH_PROVISION_ERROR_CODE_DECRYPTION_FAILED 

Failure error code decryption failed.

RM_BLE_MESH_PROVISION_ERROR_CODE_UNEXPECTED_ERROR 

Failure error code unexpected error.

RM_BLE_MESH_PROVISION_ERROR_CODE_CANNOT_ASSIGN_ADDRESS 

Failure error code cannot assign address.

◆ rm_ble_mesh_provision_link_close_reason_t

Provisioning LinkClose Error codes

Enumerator
RM_BLE_MESH_PROVISION_LINK_CLOSE_REASON_SUCCESS 

Link close error code reason success.

RM_BLE_MESH_PROVISION_LINK_CLOSE_REASON_TIMEOUT 

Link close error code reason timeout.

RM_BLE_MESH_PROVISION_LINK_CLOSE_REASON_FAIL 

Link close error code reason fail.

◆ rm_ble_mesh_provision_oob_type_t

Provisioning OOB type masks for ADV data

Enumerator
RM_BLE_MESH_PROVISION_OOB_TYPE_OTHER 

Other OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_URI 

URI OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_2DMRC 

2DMRC OOB type mask

RM_BLE_MESH_PROVISION_OOB_TYPE_BARCODE 

Bar code OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_NFC 

NFC OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_NUMBER 

Number OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_STRING 

String OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_ONBOX 

On box OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_INSIDEBOX 

Inside box OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_ONPIECEOFPAPER 

On piece of paper OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_INSIDEMANUAL 

Inside manual OOB type mask.

RM_BLE_MESH_PROVISION_OOB_TYPE_ONDEVICE 

On device OOB type mask.

◆ rm_ble_mesh_provision_event_type_t

Provision Events The Asynchronous Events notified to Application by the Module.

Enumerator
RM_BLE_MESH_PROVISION_EVENT_TYPE_UNPROVISIONED_BEACON 

This event indicates the availability of an unprovisioned device beacon, with the following values as parameters in the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_UNPROVISIONED_BEACON.
[in]event_result
[in]event_dataPointer to the array with the UUID of the device.
[in]event_datalenRM_BLE_MESH_DEVICE_UUID_SIZE
Note
This event is received by the Provisioner application. On reception of this event, the application shall make use of the RM_BLE_MESH_PROVISION_Bind() to initiate the provisioning procedure.
RM_BLE_MESH_PROVISION_EVENT_TYPE_PROVISIONING_SETUP 

This event indicates that the provisioning procedure capability exchange is complete, with the following values as parameters in the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_PROVISIONING_SETUP.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataWhen local provisioner, this contains peer device capabilities and when local device, this contains the attention timeout value.
[in]event_datalenWhen local provisioner, sizeof(rm_ble_mesh_provision_capabilities_t) and when local device, sizeof(uint32_t).
Note
When local provisioner, the appliation shall select the required capability from the received capabilities and choose to start the procedure by calling RM_BLE_MESH_PROVISION_SendPdu() put RM_BLE_MESH_PROVISION_EVENT_TYPE_PROVISIONING_SETUP as the third argument.
RM_BLE_MESH_PROVISION_EVENT_TYPE_OOB_DISPLAY 

This event indicates to the application the OOB random data that is to be displayed on the UI via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_OOB_DISPLAY.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataPointer to OOB information as in rm_ble_mesh_provision_oob_info_t.
[in]event_datalensizeof (rm_ble_mesh_provision_oob_info_t).
RM_BLE_MESH_PROVISION_EVENT_TYPE_OOB_ENTRY 

This event indicates to the application requesting for OOB random data that is to be used in the procedure via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_OOB_ENTRY.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataPointer to OOB information as in rm_ble_mesh_provision_oob_info_t.
[in]event_datalensizeof (rm_ble_mesh_provision_oob_info_t).
RM_BLE_MESH_PROVISION_EVENT_TYPE_DEVINPUT_COMPLETE 

This event indicates to the application that the peer device has completed the Input of OOB when this capability is negotiated via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_DEVINPUT_COMPLETE.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataNULL.
[in]event_datalen0.
Note
This event is generated only for the provisioner application.
RM_BLE_MESH_PROVISION_EVENT_TYPE_PROVDATA_INFO_REQ 

This event indicates to the application requesting for Provisional data to be sent to the peer device via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_PROVDATA_INFO_REQ.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataNULL.
[in]event_datalen0.
Note
This event is generated only for the provisioner application.
RM_BLE_MESH_PROVISION_EVENT_TYPE_PROVDATA_INFO 

This event indicates to the application the Provisional data received from the Provisioner via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_PROVDATA_INFO.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataPointer to the provisioning data rm_ble_mesh_provision_data_t.
[in]event_datalensizeof(rm_ble_mesh_provision_data_t).
Note
This event is generated only for the device application.
RM_BLE_MESH_PROVISION_EVENT_TYPE_PROVISIONING_COMPLETE 

This event indicates to the application that the provisioning procedure is complete via the rm_ble_mesh_provision_callback_args_t callback.

Parameters
[in]phandlePointer to the Provisioning context handle
[in]event_typeRM_BLE_MESH_PROVISION_EVENT_TYPE_PROVISIONING_COMPLETE.
[in]event_resultFSP_SUCCESS on successful procedure completion, else an Error Code.
[in]event_dataNULL.
[in]event_datalen0.