RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Mesh Network Scheduler Client (rm_mesh_scheduler_clt)

Functions

fsp_err_t RM_MESH_SCHEDULER_CLT_Open (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, rm_ble_mesh_model_client_cfg_t const *const p_cfg)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_Close (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_GetModelHandle (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, rm_ble_mesh_access_model_handle_t *const p_model_handle)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_SendReliablePdu (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, uint32_t req_opcode, void const *const p_parameter, uint32_t rsp_opcode)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_Get (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_ActionGet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_ActionSet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 
fsp_err_t RM_MESH_SCHEDULER_CLT_ActionSetUnacknowledged (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 

Detailed Description

Overview

Target Devices

The BLE Mesh Network Scheduler Client module supports the following devices.

Configuration

Build Time Configurations for rm_mesh_scheduler_clt

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

ConfigurationOptionsDefaultDescription

Configurations for Networking > BLE Mesh Network modules > BLE Mesh Model Scheduler Client (rm_mesh_scheduler_clt)

This module can be added to the Stacks tab via New Stack > Networking > BLE Mesh Network modules > BLE Mesh Model Scheduler Client (rm_mesh_scheduler_clt).

ConfigurationOptionsDefaultDescription
Interrupts
Callback Provided when Timeout OccursName Must Be a Valid C SymbolNULL Callback provided when mesh scheduler client ISR occurs
NameName Must Be a Valid C Symbolg_rm_mesh_scheduler_clt0 Module name.

Data Structures

struct  rm_mesh_scheduler_clt_instance_ctrl_t
 

Data Structure Documentation

◆ rm_mesh_scheduler_clt_instance_ctrl_t

struct rm_mesh_scheduler_clt_instance_ctrl_t

BLE mesh scheduler instance control block. DO NOT INITIALIZE. Initialization occurs when RM_MESH_SCHEDULER_CLT_Open() is called.

Function Documentation

◆ RM_MESH_SCHEDULER_CLT_Open()

fsp_err_t RM_MESH_SCHEDULER_CLT_Open ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
rm_ble_mesh_model_client_cfg_t const *const  p_cfg 
)

Open Scheduler Client middleware. This is to initialize Scheduler Client model and to register with Access layer.

Implements rm_ble_mesh_model_client_api_t::open.

Example:

/* Open the module. */
err = RM_MESH_SCHEDULER_CLT_Open(&g_mesh_scheduler_clt0_ctrl, &g_mesh_scheduler_clt0_cfg);
Return values
FSP_SUCCESSModel opened successfully.
FSP_ERR_ASSERTIONPointer to control block or configuration structure is NULL.
FSP_ERR_ALREADY_OPENModel is already open.
FSP_ERR_NOT_FOUNDThe number of models has exceeded the limit.
FSP_ERR_ABORTEDModel initialization is failed.

◆ RM_MESH_SCHEDULER_CLT_Close()

fsp_err_t RM_MESH_SCHEDULER_CLT_Close ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Close Scheduler Client middleware.

Implements rm_ble_mesh_model_client_api_t::close.

Example:

/* Close the module. */
err = RM_MESH_SCHEDULER_CLT_Close(&g_mesh_scheduler_clt0_ctrl);
Return values
FSP_SUCCESSModel successfully closed.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.

◆ RM_MESH_SCHEDULER_CLT_GetModelHandle()

fsp_err_t RM_MESH_SCHEDULER_CLT_GetModelHandle ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
rm_ble_mesh_access_model_handle_t *const  p_model_handle 
)

This is to get the handle of Scheduler client model.

Implements rm_ble_mesh_model_client_api_t::getModelHandle.

Example:

/* Get the handle of scheduler client model. */
err = RM_MESH_SCHEDULER_CLT_GetModelHandle(&g_mesh_scheduler_clt0_ctrl, &model_handle);
Return values
FSP_SUCCESSGot model handle successfully.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_POINTERThe parameter p_model_handle is NULL.

◆ RM_MESH_SCHEDULER_CLT_SendReliablePdu()

fsp_err_t RM_MESH_SCHEDULER_CLT_SendReliablePdu ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
uint32_t  req_opcode,
void const *const  p_parameter,
uint32_t  rsp_opcode 
)

This is to initialize sending acknowledged commands.

Implements rm_ble_mesh_model_client_api_t::sendReliablePdu.

Example:

/* Initialize sending acknowledged commands. */
err = RM_MESH_SCHEDULER_CLT_SendReliablePdu(&g_mesh_scheduler_clt0_ctrl, req_opcode, p_parameter, rsp_opcode);
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_POINTERThe parameter p_parameter is NULL.
FSP_ERR_APPROXIMATIONLower layer is invalid state.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_ABORTEDOperation is failed.

◆ RM_MESH_SCHEDULER_CLT_Get()

fsp_err_t RM_MESH_SCHEDULER_CLT_Get ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Scheduler Get is an acknowledged message used to get the current Schedule Register state of an element. The response to the Scheduler Get message is a Scheduler Status message. There are no parameters for this message.

Parameters
[in]p_ctrlrm_mesh_scheduler_clt control block.
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_POINTERThe parameter p_parameter is NULL.
FSP_ERR_APPROXIMATIONLower layer is invalid state.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_ABORTEDOperation is failed.

◆ RM_MESH_SCHEDULER_CLT_ActionGet()

fsp_err_t RM_MESH_SCHEDULER_CLT_ActionGet ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
void const *const  p_parameter 
)

Scheduler Action Get is an acknowledged message used to report the action defined by the entry of the Schedule Register state of an element, identified by the Index field. The response to the Scheduler Action Get message is a Scheduler Action Status message.

Parameters
[in]p_ctrlrm_mesh_scheduler_clt control block.
[in]p_parameterPointer to Scheduler Action Get message.
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_POINTERThe parameter p_parameter is NULL.
FSP_ERR_APPROXIMATIONLower layer is invalid state.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_ABORTEDOperation is failed.

◆ RM_MESH_SCHEDULER_CLT_ActionSet()

fsp_err_t RM_MESH_SCHEDULER_CLT_ActionSet ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
void const *const  p_parameter 
)

Scheduler Action Set is an acknowledged message used to set the entry of the Schedule Register state of an element, identified by the Index field. The response to the Scheduler Action Set message is a Scheduler Action Status message.

Parameters
[in]p_ctrlrm_mesh_scheduler_clt control block.
[in]p_parameterPointer to Scheduler Action Set message.
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_POINTERThe parameter p_parameter is NULL.
FSP_ERR_APPROXIMATIONLower layer is invalid state.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_ABORTEDOperation is failed.

◆ RM_MESH_SCHEDULER_CLT_ActionSetUnacknowledged()

fsp_err_t RM_MESH_SCHEDULER_CLT_ActionSetUnacknowledged ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl,
void const *const  p_parameter 
)

Scheduler Action Set Unacknowledged is an unacknowledged message used to set the entry of the Schedule Register state of an element, identified by the Index field.

Parameters
[in]p_ctrlrm_mesh_scheduler_clt control block.
[in]p_parameterPointer to Scheduler Action Set message.
Return values
FSP_SUCCESSOperation succeeded.
FSP_ERR_ASSERTIONThe parameter p_ctrl is NULL.
FSP_ERR_NOT_OPENModel is not open.
FSP_ERR_INVALID_ARGUMENTInput parameter is invalid.
FSP_ERR_INVALID_POINTERThe parameter p_parameter is NULL.
FSP_ERR_APPROXIMATIONLower layer is invalid state.
FSP_ERR_NOT_FOUNDInput parameter is not found.
FSP_ERR_INVALID_ADDRESSInvalid source address.
FSP_ERR_OUT_OF_MEMORYMemory allocation is failed.
FSP_ERR_OVERFLOWTX queue is full.
FSP_ERR_UNDERFLOWTX queue is empty.
FSP_ERR_ABORTEDOperation is failed.