RA Flexible Software Package Documentation  Release v5.2.0

 
BLE Mesh Model Server Interface

Detailed Description

Interface for BLE Mesh Model Server functions.

Summary

The BLE Mesh interface for the BLE Mesh Model Server (BLE MESH MODEL SERVER) middleware provides BLE Mesh Model Server functionality.

Data Structures

struct  rm_ble_mesh_model_server_generic_prop_srv_state_info_t
 
struct  rm_ble_mesh_model_server_generic_prop_srv_id_info_t
 
struct  rm_ble_mesh_model_server_generic_prop_srv_ids_info_t
 
struct  rm_ble_mesh_model_server_callback_args_t
 
struct  rm_ble_mesh_model_server_timeout_callback_args_t
 
struct  rm_ble_mesh_model_server_cfg_t
 
struct  rm_ble_mesh_model_server_api_t
 
struct  rm_ble_mesh_model_server_instance_t
 

Typedefs

typedef void rm_ble_mesh_model_server_ctrl_t
 

Enumerations

enum  rm_ble_mesh_model_server_generic_server_property_t
 
enum  rm_ble_mesh_model_server_user_access_t
 
enum  rm_ble_mesh_model_server_device_property_t
 

Data Structure Documentation

◆ rm_ble_mesh_model_server_generic_prop_srv_state_info_t

struct rm_ble_mesh_model_server_generic_prop_srv_state_info_t

Generic Property is a state representing a device property of an element. The properties can be one of the following

  • Manufacturer Properties
  • Admin Properties
  • User Properties
Data Fields
uint16_t property_id

User Property ID field is a 2-octet Assigned Number value referencing a property

uint8_t property_type

Property Type - Manufacturer/Admin/User

uint8_t access

User Access field is an enumeration indicating whether the device property can be read or written as a Generic Admin/User Property

uint8_t * property_value

User Property Value field is a conditional field

uint16_t property_value_len

◆ rm_ble_mesh_model_server_generic_prop_srv_id_info_t

struct rm_ble_mesh_model_server_generic_prop_srv_id_info_t

Generic Property ID a read-only state representing a device property that an element supports

Data Fields
uint16_t property_id

Property ID field is a 2-octet Assigned Number value that references a device property

◆ rm_ble_mesh_model_server_generic_prop_srv_ids_info_t

struct rm_ble_mesh_model_server_generic_prop_srv_ids_info_t

Generic Property IDs a state representing a set of device properties that an element supports

Data Fields
uint16_t * property_ids

Property IDs field is a set of 2-octet Assigned Number value that references a set of device properties

uint16_t property_ids_count

Count of property_ids

◆ rm_ble_mesh_model_server_callback_args_t

struct rm_ble_mesh_model_server_callback_args_t

Mesh model server callback parameter definition

Data Fields
void const * p_context
rm_ble_mesh_access_model_req_msg_context_t * p_msg_context Context of the message.
rm_ble_mesh_access_req_msg_raw_t * p_msg_raw Uninterpreted/raw received message for a specific model instance.
rm_ble_mesh_access_model_req_msg_t * p_req_type Requested message type for a specific model instance.
rm_ble_mesh_access_model_state_parameter_t * p_state_parameter Model specific state parameters in a request or response message.
rm_ble_mesh_access_extended_parameter_t * p_extended_parameter Additional parameters in a Model specific request or response message.

◆ rm_ble_mesh_model_server_timeout_callback_args_t

struct rm_ble_mesh_model_server_timeout_callback_args_t

Access Layer Model Publication Timeout Callback.

Access Layer calls the registered callback to indicate Publication Timeout for the associated model.

Parameters
handleModel Handle.
blobBlob if any or NULL.
Data Fields
void const * p_context Placeholder for user data.
rm_ble_mesh_access_model_handle_t * p_handle Access Model handle.
void * p_blob

◆ rm_ble_mesh_model_server_cfg_t

struct rm_ble_mesh_model_server_cfg_t

BLE mesh model health server configuration parameters.

Data Fields

rm_ble_mesh_access_instance_t const * p_access_instance
 
void(* p_callback )(rm_ble_mesh_model_server_callback_args_t *p_args)
 Mesh model server callback.
 
void(* p_timeout_callback )(rm_ble_mesh_model_server_timeout_callback_args_t *p_args)
 Access Layer Model publication timeout callback.
 
void const * p_context
 Placeholder for user data.
 
void const * p_extend
 Placeholder for user extension.
 

Field Documentation

◆ p_access_instance

rm_ble_mesh_access_instance_t const* rm_ble_mesh_model_server_cfg_t::p_access_instance

the parameters for initialization.

◆ rm_ble_mesh_model_server_api_t

struct rm_ble_mesh_model_server_api_t

Shared Interface definition for BLE MESH

Data Fields

fsp_err_t(* open )(rm_ble_mesh_model_server_ctrl_t *const p_ctrl, rm_ble_mesh_model_server_cfg_t const *const p_cfg)
 
fsp_err_t(* close )(rm_ble_mesh_model_server_ctrl_t *const p_ctrl)
 
fsp_err_t(* stateUpdate )(rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_server_state_t const *const p_state)
 

Field Documentation

◆ open

fsp_err_t(* rm_ble_mesh_model_server_api_t::open) (rm_ble_mesh_model_server_ctrl_t *const p_ctrl, rm_ble_mesh_model_server_cfg_t const *const p_cfg)

API to open server model.

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

◆ close

fsp_err_t(* rm_ble_mesh_model_server_api_t::close) (rm_ble_mesh_model_server_ctrl_t *const p_ctrl)

API to close server model.

Parameters
[in]p_ctrlPointer to control structure.

◆ stateUpdate

fsp_err_t(* rm_ble_mesh_model_server_api_t::stateUpdate) (rm_ble_mesh_access_ctrl_t *const p_ctrl, rm_ble_mesh_access_server_state_t const *const p_state)

API to send reply or to update state change.

Parameters
[in]p_ctrlPointer to control structure.
[in]p_statePointer to model specific current/target state parameters.

◆ rm_ble_mesh_model_server_instance_t

struct rm_ble_mesh_model_server_instance_t

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

Data Fields
rm_ble_mesh_model_server_ctrl_t * p_ctrl Pointer to the control structure for this instance.
rm_ble_mesh_model_server_cfg_t
const *
p_cfg Pointer to the configuration structure for this instance.
rm_ble_mesh_model_server_api_t
const *
p_api Pointer to the API structure for this instance.

Typedef Documentation

◆ rm_ble_mesh_model_server_ctrl_t

BLE MESH MODEL SERVER control block. Allocate an instance specific control block to pass into the BLE mesh model server API calls.

Enumeration Type Documentation

◆ rm_ble_mesh_model_server_generic_server_property_t

Enumerator
RM_BLE_MESH_MODEL_SERVER_GENERIC_SERVER_PROPERTY_MANUFACTURER 

Generic Manufacturer Properties

RM_BLE_MESH_MODEL_SERVER_GENERIC_SERVER_PROPERTY_ADMIN 

Generic Admin Properties

RM_BLE_MESH_MODEL_SERVER_GENERIC_SERVER_PROPERTY_USER 

Generic User Properties

◆ rm_ble_mesh_model_server_user_access_t

User Access field values

Enumerator
RM_BLE_MESH_MODEL_SERVER_USER_ACCESS_PROHIBITED 

User Access - Prohibited

RM_BLE_MESH_MODEL_SERVER_USER_ACCESS_READ 

User Access - the device property can be read

RM_BLE_MESH_MODEL_SERVER_USER_ACCESS_WRITE 

User Access - the device property can be written

RM_BLE_MESH_MODEL_SERVER_USER_ACCESS_READ_WRITE 

User Access - the device property can be read and written

RM_BLE_MESH_MODEL_SERVER_USER_ACCESS_INVALID_PROPERTY_ID 

User Access - the invalid device property id

◆ rm_ble_mesh_model_server_device_property_t

Enumerator
RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_OCCUPANCY_DELAY 

Device Property - Light Control Time Occupancy Delay

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_FADE_ON 

Device Property - Light Control Time Fade On

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_RUN_ON 

Device Property - Light Control Time Run On

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_FADE 

Device Property - Light Control Time Fade

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_PROLONG 

Device Property - Light Control Time Prolong

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_FADE_STANDBY_AUTO 

Device Property - Light Control Time Fade Standby Auto

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_TIME_FADE_STANDBY_MANUAL 

Device Property - Light Control Time Fade Standby Manual

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_LIGHTNESS_ON 

Device Property - Light Control Lightness On

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_LIGHTNESS_PROLONG 

Device Property - Light Control Lightness Prolong

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_LIGHTNESS_STANDBY 

Device Property - Light Control Lightness Standby

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_AMBIENT_LUXLEVEL_ON 

Device Property - Light Control Ambient LuxLevel On

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_AMBIENT_LUXLEVEL_PROLONG 

Device Property - Light Control Ambient LuxLevel Prolong

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_AMBIENT_LUXLEVEL_STANDBY 

Device Property - Light Control Ambient LuxLevel Standby

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_REGULATOR_KIU 

Device Property - Light Control Regulator Kiu

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_REGULATOR_KID 

Device Property - Light Control Regulator Kid

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_REGULATOR_KPU 

Device Property - Light Control Regulator Kpu

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_REGULATOR_KPD 

Device Property - Light Control Regulator Kpd

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_LIGHT_CONTROL_REGULATOR_ACCURACY 

Device Property - Light Control Regulator Accuracy

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_MOTION_SENSED 

Device Property - Motion Sensed

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_TIME_SINCE_MOTION_SENSED 

Device Property - Time Since Motion Sensed

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_PEOPLE_COUNT 

Device Property - People Count

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_PRESENCE_DETECTED 

Device Property - Presence Detected

RM_BLE_MESH_MODEL_SERVER_DEVICE_PROPERTY_PRESENT_AMBIENT_LIGHT_LEVEL 

Device Property - Present Ambient Light Level