RA Flexible Software Package Documentation  Release v5.3.0

 
BLE Mesh Network Time Client (rm_mesh_time_clt)

Functions

fsp_err_t RM_MESH_TIME_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_TIME_CLT_Close (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_TIME_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_TIME_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_TIME_CLT_Get (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_TIME_CLT_Set (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 
fsp_err_t RM_MESH_TIME_CLT_ZoneGet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_TIME_CLT_ZoneSet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 
fsp_err_t RM_MESH_TIME_CLT_TaiUtcDeltaGet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_TIME_CLT_TaiUtcDeltaSet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 
fsp_err_t RM_MESH_TIME_CLT_RoleGet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl)
 
fsp_err_t RM_MESH_TIME_CLT_RoleSet (rm_ble_mesh_model_client_ctrl_t *const p_ctrl, void const *const p_parameter)
 

Detailed Description

Overview

Target Devices

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

Configuration

Build Time Configurations for rm_mesh_time_clt

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

ConfigurationOptionsDefaultDescription

Configurations for Networking > BLE Mesh Network modules > BLE Mesh Model Time Client (rm_mesh_time_clt)

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

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

Data Structures

struct  rm_mesh_time_clt_instance_ctrl_t
 

Data Structure Documentation

◆ rm_mesh_time_clt_instance_ctrl_t

struct rm_mesh_time_clt_instance_ctrl_t

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

Function Documentation

◆ RM_MESH_TIME_CLT_Open()

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

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

Implements rm_ble_mesh_model_client_api_t::open.

Example:

/* Open the module. */
err = RM_MESH_TIME_CLT_Open(&g_mesh_time_clt0_ctrl, &g_mesh_time_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_TIME_CLT_Close()

fsp_err_t RM_MESH_TIME_CLT_Close ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Close Time Client middleware.

Implements rm_ble_mesh_model_client_api_t::close.

Example:

/* Close the module. */
err = RM_MESH_TIME_CLT_Close(&g_mesh_time_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_TIME_CLT_GetModelHandle()

fsp_err_t RM_MESH_TIME_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 Time client model.

Implements rm_ble_mesh_model_client_api_t::getModelHandle.

Example:

/* Get the handle of time client model. */
err = RM_MESH_TIME_CLT_GetModelHandle(&g_mesh_time_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_TIME_CLT_SendReliablePdu()

fsp_err_t RM_MESH_TIME_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_TIME_CLT_SendReliablePdu(&g_mesh_time_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_TIME_CLT_Get()

fsp_err_t RM_MESH_TIME_CLT_Get ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Time Get is a message used to get the Time state of neighbor nodes. The response to the Time Get message is a Time Status message. There are no parameters for this message.

Parameters
[in]p_ctrlrm_mesh_time_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_TIME_CLT_Set()

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

Time Set is an acknowledged message used to set the Time state of an element. The response to the Time Set message is a Time Status message.

Parameters
[in]p_ctrlrm_mesh_time_clt control block.
[in]p_parameterPointer to Time 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_TIME_CLT_ZoneGet()

fsp_err_t RM_MESH_TIME_CLT_ZoneGet ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Time Zone Get is an acknowledged message used to get the Time Zone Offset Current state, the Time Zone Offset New state , and the TAI of Zone Change state. The response to the Time Zone Get message is a Time Zone Status message. There are no parameters for this message.

Parameters
[in]p_ctrlrm_mesh_time_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_TIME_CLT_ZoneSet()

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

Time Zone Set is an acknowledged message used to set the Time Zone Offset New state and the TAI of Zone Change state.

Parameters
[in]p_ctrlrm_mesh_time_clt control block.
[in]p_parameterPointer to Time Zone 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_TIME_CLT_TaiUtcDeltaGet()

fsp_err_t RM_MESH_TIME_CLT_TaiUtcDeltaGet ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

TAI-UTC Delta Get is an acknowledged message used to get the TAI-UTC Delta Current state, the TAI-UTC Delta New state, and the TAI of Delta Change state. The response to the TAI-UTC Delta Get message is a TAI-UTC Delta Status message. There are no parameters for this message.

Parameters
[in]p_ctrlrm_mesh_time_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_TIME_CLT_TaiUtcDeltaSet()

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

TAI-UTC Delta Set is an acknowledged message used to set the TAI-UTC Delta New state and the TAI of Delta Change state.

Parameters
[in]p_ctrlrm_mesh_time_clt control block.
[in]p_parameterPointer to TAI-UTC Delta 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_TIME_CLT_RoleGet()

fsp_err_t RM_MESH_TIME_CLT_RoleGet ( rm_ble_mesh_model_client_ctrl_t *const  p_ctrl)

Time Role Get is an acknowledged message used to get the Time Role state of an element. The response to the Time Role Get message is a Time Role Status message. There are no parameters for this message.

Parameters
[in]p_ctrlrm_mesh_time_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_TIME_CLT_RoleSet()

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

Time Role Set is an acknowledged message used to set the Time Role state of an element. The response to the Time Role Set message is a Time Role Status message.

Parameters
[in]p_ctrlrm_mesh_time_clt control block.
[in]p_parameterPointer to Time Role 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.