AIROC™ BTSDK v4.9 - Documentation | ||||
Mesh Models library of the AIROC BTSDK provide a simple method for an application to use various Mesh models defined in the Bluetooth Mesh Model specification. More...
Data Structures | |
struct | mesh_battery_event_t |
Mesh Battery Status Event used to report battery state to the client device. More... | |
struct | wiced_bt_mesh_location_global_data_t |
Global Location Data structure exchanged between the application Generic Location Model. More... | |
struct | wiced_bt_mesh_location_local_data_t |
Local Location Data structure exchanged between the application Generic Location Model. More... | |
struct | wiced_bt_mesh_onoff_set_data_t |
OnOff Set Data structure exchanged between the application Generic OnOff Model. More... | |
struct | wiced_bt_mesh_onoff_status_data_t |
OnOff Status Data structure exchanged between the application and Generic OnOff Model. More... | |
struct | wiced_bt_mesh_level_set_level_t |
Level Set Data structure exchanged between the application and the Generic Level Model. More... | |
struct | wiced_bt_mesh_level_set_delta_t |
Delta Set Data structure exchanged between the application and the Generic Level Model. More... | |
struct | wiced_bt_mesh_level_set_move_t |
Move Set Data structure exchanged between the application and the Generic Level Model. More... | |
struct | wiced_bt_mesh_level_status_data_t |
Level Status Data structure exchanged between the application and Generic Level Model. More... | |
struct | wiced_bt_mesh_default_transition_time_data_t |
Default Transition Time Data structure exchanged between an application and the Generic Default Transition Time Model. More... | |
struct | wiced_bt_mesh_power_onoff_data_t |
Power OnOff Data structure exchanged between an application and the Power OnOff Model. More... | |
struct | wiced_bt_mesh_power_level_status_data_t |
Power Level Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_power_level_last_data_t |
Power Level Last Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_power_default_data_t |
Power Level Default Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_power_level_range_set_data_t |
Power Level Set Range Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_power_range_status_data_t |
Power Range Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_power_level_set_level_t |
Level Set Data structure exchanged between the application and the Generic Power Level Model. More... | |
struct | wiced_bt_mesh_light_lightness_status_data_t |
Light Lightness Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_lightness_status_t |
struct | wiced_bt_mesh_light_lightness_set_t |
Light Lightness Set Data structure exchanged between the application and the models Light Lightness Server library. More... | |
struct | wiced_bt_mesh_light_lightness_actual_set_t |
Light Lightness Actual Set Data structure exchanged between the application and the models Light Lightness Client library. More... | |
struct | wiced_bt_mesh_light_lightness_linear_set_t |
Light Lightness Linear Set Data structure exchanged between the application and the models Light Lightness Client library. More... | |
struct | wiced_bt_mesh_light_lightness_last_data_t |
Light Lightness Last Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_lightness_default_data_t |
Lightness Default Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_lightness_range_set_data_t |
Lightness Range Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_light_lightness_range_status_data_t |
Lightness Range Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_properties_get_data_t |
Properties Get Data for Generic Property Models. More... | |
struct | wiced_bt_mesh_property_get_data_t |
Property Get Data for Generic Property Models. More... | |
struct | wiced_bt_mesh_properties_status_data_t |
Properties Status Data for Generic Property Models. More... | |
struct | wiced_bt_mesh_property_set_data_t |
Property Set Data structure exchanged between the application Generic User Property Models. More... | |
struct | wiced_bt_mesh_property_status_data_t |
Property Status Data structure exchanged between the application Generic User Property Models. More... | |
struct | wiced_bt_mesh_light_ctl_data_t |
Data structure representing the state of Light Color Temperature device. More... | |
struct | wiced_bt_mesh_light_ctl_status_data_t |
Light CTL Status Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_ctl_set_t |
Light CTL Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_ctl_temperature_set_t |
Light Lightness Last Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_ctl_default_data_t |
Lightness Default Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_ctl_temperature_range_status_data_t |
Temperature Range Status Data structure exchanged between the application and Light CTL Temperature Model. More... | |
struct | wiced_bt_mesh_light_ctl_temperature_range_data_t |
Temperature Range Set Data structure exchanged between the application and Light CTL Temperature Model. More... | |
struct | wiced_bt_mesh_light_delta_uv_set_level_t |
Light Lightness Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_delta_uv_last_data_t |
Light Lightness Last Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_delta_uv_default_data_t |
Lightness Default Status Data structure exchanged between the application and Light Lightness Model. More... | |
struct | wiced_bt_mesh_light_delta_uv_range_data_t |
Lightness Range Status Data structure exchanged between the application and Generic Power Level Model. More... | |
struct | wiced_bt_mesh_light_hsl_data_t |
Data structure representing the state of Light HSL device. More... | |
struct | wiced_bt_mesh_light_hsl_status_data_t |
Light HSL Status Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_target_status_data_t |
Light HSL Target Status Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_set_t |
Light HSL Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_hue_set_t |
Light HSL Hue Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_saturation_set_t |
Light HSL Saturation Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_default_data_t |
Light HSL Set Default Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_hsl_hue_status_data_t |
Light HSL Hue status Data structure exchanged between the application and Light HSL Model. More... | |
struct | wiced_bt_mesh_light_hsl_saturation_status_data_t |
Light HSL Saturation Status Data structure exchanged between the application and Light HSL Model. More... | |
struct | wiced_bt_mesh_light_hsl_range_set_data_t |
Light HSL Range Set Data structure exchanged between the application and Light HSL Level Model. More... | |
struct | wiced_bt_mesh_light_hsl_range_status_data_t |
Light HSL Range Set Data structure exchanged between the application and Light HSL Level Model. More... | |
struct | wiced_bt_mesh_light_hsl_default_status_data_t |
Light HSL Range Default Status structure exchanged between the application and Light HSL Level Model. More... | |
struct | wiced_bt_mesh_light_xyl_data_t |
Data structure reppresenting the state of the Light xyL device. More... | |
struct | wiced_bt_mesh_light_xyl_xy_settings_t |
Light xyL x_y_default and range settings. More... | |
struct | wiced_bt_mesh_light_xyl_status_data_t |
Light xyL Status Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_xyl_target_status_data_t |
Light xyL Target Value Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_xyl_set_t |
Light xyL Set Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_xyl_default_data_t |
Light xyL Set Default Data structure exchanged between the application and the models library. More... | |
struct | wiced_bt_mesh_light_xyl_range_set_data_t |
Light xyL Range Set Data structure exchanged between the application and Light xyL Level Model. More... | |
struct | wiced_bt_mesh_light_xyl_range_status_data_t |
Light xyL Range Set Data structure exchanged between the application and Light xyL Level Model. More... | |
struct | wiced_bt_mesh_light_xyl_default_status_data_t |
Light xyL Range Default Status structure exchanged between the application and Light xyL Level Model. More... | |
struct | wiced_bt_mesh_light_lc_mode_set_data_t |
Light LC Mode Set data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_occupancy_mode_set_data_t |
Light LC Occupancy Mode Set data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_light_onoff_set_data_t |
Light LC Light OnOff Set data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_light_onoff_status_data_t |
Light LC Light OnOff Status data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_linear_out_set_data_t |
Light LC Light OnOff Set data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_property_get_data_t |
Light LC Property Get Data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_property_set_data_t |
Light LC Property Set Data structure exchanged between the application and Light LC library. More... | |
struct | wiced_bt_mesh_light_lc_property_status_data_t |
Light LC Property Status Data structure exchanged between the application and Light LC library. More... | |
Modules | |
Mesh Battery Client | |
The AIROC Mesh Battery Client module provides a way for an application to retrieve the battery status of a mesh node. | |
Mesh Battery Server | |
The AIROC Mesh Battery Server module provides a way for a client to retrieve the Battery status of this device. | |
Mesh Default Transition Time Client | |
The AIROC Mesh Default Transition Time Client module of the Mesh Models library provides a way for a controlling device to set default transition time for the devices in the mesh network. | |
Mesh Default Transition Time Server | |
The AIROC Mesh Default Transition Time Server module of the Mesh Models library provides implementation of the Default Transition Time model. | |
Mesh Level Client | |
The AIROC Mesh Level Client module of the Mesh Models library provides a way for an application to send Level commands (set, delta and move) to the server and optionally receive status information. | |
Mesh Level Server | |
The AIROC Mesh Level Server module of the Mesh Models library provides a way to implement functionality for the devices that can be controlled using a simple level slider, aka Level client. | |
Mesh Light CTL Client | |
The AIROC Mesh Light CTL Client module of the Mesh Models library provides a way for an application to configure and control color lights that support Color Temperature adjustments. | |
Mesh Light CTL Server | |
The AIROC Mesh Color Temperature Lightness (CTL) Server module provides a way for an application to implement a dimmable light device with color temperature support. | |
Mesh Light HSL Client | |
The AIROC Mesh Light HSL Client module of the Mesh Models library provides a way for an application to configure and control color lights that support Hue/Saturation control. | |
Mesh Light HSL Server | |
The AIROC Mesh Hue Saturation Lightness (HSL) Server module provides a way for an application to implement a dimmable light device with hue/saturation support. | |
Mesh Light LC Client | |
The AIROC Mesh Light LC Client module of the Mesh Models library provides a way for an application to configure and control lights that support LC control. | |
Mesh Light LC Server | |
The AIROC Mesh Light LC Server module provides a way for an application to implement a Light Control Server device which can be a client to a Sensor Server model and controls the Light Lightness Actual state via defined state bindings. | |
Mesh Light Lightness Client | |
The AIROC Mesh Light Lightness Client module of the Mesh Models library provides a way for an application to control brightness level of the Light Lightness Servers in the mesh network optionally receive status information. | |
Mesh Light Lightness Server | |
The AIROC Mesh Light Lightness Server module provides a way for an application to implement a dimmable light device which can be controlled specifically by setting the brightness, but also can be can be controlled using a Level slider (Generic Level client) and On/Off switch (Generic On/Off client). | |
Mesh Light xyL Client | |
The AIROC Mesh Light XYL Client module of the Mesh Models library provides a way for an application to configure and control color lights that support xyL control. | |
Mesh Light xyL Server | |
The AIROC Mesh Light xyL Server module provides a way for an application to implement a dimmable light device with x and y chromaticity coordinates support. | |
Mesh Location Client | |
The AIROC Mesh Location Client module provides a way for an application to configure the device with a Global or a Local Location data or to retrieve this data. | |
Mesh Location Server | |
The AIROC Mesh Location Server module provides a way for a client to set the Global and Local location for a mesh device. | |
Mesh OnOff Client | |
The AIROC Mesh On/Off Client module of the Mesh Models library provides a way for an application to send OnOff commands to the server and optionally receive status information. | |
Mesh OnOff Server | |
The AIROC Mesh OnOff Server module of the Mesh Models library provides a way to implement functionality for the devices that can be controlled using a simple On/Off switch, aka On/Off client. | |
Mesh Power Level Client | |
The AIROC Mesh Power Level Client module of the Mesh Models library provides a way for an application to control power level of the Power Level Servers in the mesh network optionally receive status information. | |
Mesh Power Level Server | |
The AIROC Mesh Power Level Server module of the Mesh Models library provides a way to implement functionality of a power plug type of a device that can be controlled using a Level slider (Generic Level client) and On/Off switch (Generic On/Off client). | |
Mesh Power OnOff Client | |
The AIROC Mesh Power On/Off Client module of the Mesh Models library provides a way for an application to manage the On Power Up behavior of other mesh devices. | |
Mesh Power OnOff Server | |
The AIROC Mesh Power OnOff Server module of the Mesh Models library provides a way to implement functionality for the devices that can be controlled using a simple On/Off switch, aka On/Off client. | |
Mesh Scene Client | |
The AIROC Mesh Scene Client module provides a way for an application to control Scene Servers in the mesh network. | |
Mesh Scene Server | |
The AIROC Mesh Scene Server module provides a way for an application to implement a functionality for the devices that support scene state. | |
Mesh Scheduler Client | |
The AIROC Mesh Scheduler Client module provides a way for an application to control Scheduler Servers in the mesh network. | |
Mesh Scheduler Server | |
The AIROC Mesh Scheduler Server module provides a way for an application to implement a functionality for the devices that support Scheduler. | |
Mesh Sensor Client | |
The AIROC Mesh Sensor Client module provides a way for an application to control Sensor Servers in the mesh network. | |
Mesh Sensor Server | |
The AIROC Mesh Sensor Server module provides a way for an application to implement a functionality for the devices that can be controlled using sensor. | |
Mesh Time Client | |
The AIROC Mesh Time Client module provides a way for an application to control Time Servers in the mesh network. | |
Mesh Time Server | |
The AIROC Mesh Time Server module provides a way for an application to implement a functionality for the devices that support time state. | |
Macros | |
#define | WICED_BT_BATTERY_LEVEL_UNKNOWN 0xff |
Current battery level unknown. | |
#define | WICED_BT_BATTERY_TIME_TO_DISCHARGE_UNKNOWN 0xffffff |
Time to full discharge unknown. | |
#define | WICED_BT_BATTERY_TIME_TO_CHARGE_UNKNOWN 0xffffff |
Time to full charge unknown. | |
#define | CONVERT_TOLERANCE_PERCENTAGE_TO_MESH(A) ((4095 * A)/100) |
#define | WICED_BT_MESH_ONOFF_MAX_RETRANSMIT_TIME 6 |
Max retransmit duration for on/off set command in seconds. | |
#define | WICED_BT_MESH_TRANSITION_TIME_DEFAULT 0xFFFFFFFF |
Application or parent model should use default setting for transition time. | |
#define | WICED_BT_MESH_LEVEL_MAX_RETRANSMIT_TIME 6 |
Max retransmit duration for level set command in seconds. More... | |
#define | WICED_BT_MESH_LEVEL_MOVE_MAX_TRANSITION_TIME 0x3E |
Max transition time for Move command. | |
#define | WICED_BT_MESH_PROPERTY_TYPE_CLIENT 0 |
Property types defined in the Mesh Models specifications wiced_bt_mesh_property_type enumeration. More... | |
#define | WICED_BT_MESH_PROPERTY_TYPE_ADMIN 1 |
Property type admin. | |
#define | WICED_BT_MESH_PROPERTY_TYPE_MANUFACTURER 2 |
Property type manufacturer. | |
#define | WICED_BT_MESH_PROPERTY_TYPE_USER 3 |
Property type user. | |
Typedefs | |
typedef uint8_t | wiced_bt_mesh_battery_presence_t |
Generic Battery Flags Presence State (see Battery Presence Flags) | |
typedef uint8_t | wiced_bt_mesh_battery_indicator_t |
Generic Battery Flags Indicator States (see Battery Indicator Flags) | |
typedef uint8_t | wiced_bt_mesh_battery_charging_t |
Generic Battery Flags Charging States (see Battery Charging Flags) | |
typedef uint8_t | wiced_bt_mesh_battery_servicibility_t |
Generic Battery Flags Serviceability States (see Battery Service Required Flags) | |
typedef uint16_t(* | wiced_model_scene_store_handler_t )(uint8_t element_idx, uint8_t *p_buffer, uint16_t buf_size) |
Scene store message handler. More... | |
typedef uint16_t(* | wiced_model_scene_recall_handler_t )(uint8_t element_idx, uint8_t *p_buffer, uint16_t buf_size, uint32_t transition_time, uint32_t delay) |
Scene retrieve message handler. More... | |
typedef void( | wiced_bt_mesh_property_server_callback_t )(uint8_t element_idx, uint16_t event, void *p_data) |
Generic User Property Server callback is called by the Mesh Models library on receiving a message from the peer. More... | |
typedef void( | wiced_bt_mesh_property_client_callback_t )(uint16_t event, wiced_bt_mesh_event_t *p_event, void *p_data) |
Property Client callback is called by the Mesh Models library on receiving a message from the peer. More... | |
typedef void(* | wiced_bt_mesh_unprovisioned_device_cb_t )(uint8_t *p_uuid, uint16_t oob, uint32_t uri_hash, int8_t rssi) |
Functions | |
void | wiced_bt_mesh_model_property_server_init (uint8_t element_idx, wiced_bt_mesh_property_server_callback_t *p_callback, wiced_bool_t is_provisioned) |
Property Module initialization. More... | |
wiced_bool_t | wiced_bt_mesh_model_user_property_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
User Property Server Message Handler. More... | |
wiced_bool_t | wiced_bt_mesh_model_admin_property_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
Admin Property Server Message Handler. More... | |
wiced_bool_t | wiced_bt_mesh_model_manufacturer_property_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
Manufacturer Property Server Message Handler. More... | |
wiced_bool_t | wiced_bt_mesh_model_client_property_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
Client Property Server Message Handler. More... | |
wiced_result_t | wiced_bt_mesh_model_property_server_send_properties_status (wiced_bt_mesh_event_t *p_event, wiced_bt_mesh_properties_status_data_t *p_data) |
wiced_result_t | wiced_bt_mesh_model_property_server_send_property_status (wiced_bt_mesh_event_t *p_event, uint8_t type, wiced_bt_mesh_core_config_property_t *p_property) |
void | wiced_bt_mesh_model_property_client_init (uint8_t element_idx, wiced_bt_mesh_property_client_callback_t *p_callback, wiced_bool_t is_provisioned) |
Property Client Module initialization. More... | |
wiced_bool_t | wiced_bt_mesh_model_property_client_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
Property Client Message Handler. More... | |
wiced_result_t | wiced_bt_mesh_model_property_client_send_properties_get (wiced_bt_mesh_event_t *p_event, wiced_bt_mesh_properties_get_data_t *p_data) |
The application can call this function to send Properties Get client message to the server. More... | |
wiced_result_t | wiced_bt_mesh_model_property_client_send_property_get (wiced_bt_mesh_event_t *p_event, wiced_bt_mesh_property_get_data_t *p_get) |
The application can call this function to send Property Get client message to the server. More... | |
wiced_result_t | wiced_bt_mesh_model_property_client_send_property_set (wiced_bt_mesh_event_t *p_event, wiced_bt_mesh_property_set_data_t *p_sata) |
The application can call this function to send Property Set client message to the server. More... | |
void | wiced_bt_mesh_remote_provisioning_server_init (void) |
Remote Provisioning Server initialization. More... | |
void | wiced_bt_mesh_remote_provisioning_server_set_min_rssi (int8_t min_rssi) |
Configures Remote Provisioning Server shall drop all unprovisioned beacons and provisioning service adverts with RSSI less than min_rssi. More... | |
wiced_bool_t | wiced_bt_mesh_remote_provisioning_scan_rsp (wiced_bt_ble_scan_results_t *p_adv_report, uint8_t *p_adv_data) |
Process Scan Response Packets to check if the packet is for remote provisioning server. More... | |
wiced_bool_t | wiced_bt_mesh_remote_provisioning_connectable_adv_packet (wiced_bt_ble_scan_results_t *p_adv_report, uint8_t *p_adv_data) |
Process Connectable Advertising Packets to check if the packet is for remote provisioning server. More... | |
wiced_bool_t | wiced_bt_mesh_remote_provisioning_nonconnectable_adv_packet (wiced_bt_ble_scan_results_t *p_adv_report, uint8_t *p_adv_data) |
Process None Connectable Advertising Packets to check if the packet is for remote provisioning server. More... | |
void | wiced_bt_mesh_models_set_trace_level (uint8_t level) |
Sets trace level for mesh_models_lib and mesh_provisioner_lib. More... | |
int | wiced_bt_mesh_model_find_element_idx (uint16_t company_id, uint16_t model_id, uint8_t start_idx) |
Find model in the node configuration starting with specified element index. More... | |
wiced_bool_t | wiced_bt_mesh_config_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
Config Server Model Message Handler. More... | |
void | wiced_bt_mesh_config_server_send_reply (wiced_bt_mesh_event_t *p_event, uint16_t opcode, uint8_t *p_buffer, uint16_t len) |
This function can be called to send message through the core. More... | |
void | wiced_bt_mesh_config_server_send_segmented (wiced_bool_t enable) |
This function can be called to configure configuration server to send always segmented messages regardless of the message size. More... | |
Variables | |
uint8_t | wiced_bt_mesh_model_timer_server_get_interval |
Interval in seconds to send time get message while the time isn't set yet. More... | |
Following macros can be used instantiate the mesh models | |
Following macros instantiate the mesh models on a given element. Based on the device definition the mesh core creates a device composition data that can be read by the the provisioner. There certain rules that application shall follow when building device composition data.
| |
wiced_bool_t | wiced_bt_mesh_remote_provisioning_server_message_handler (wiced_bt_mesh_event_t *p_event, uint8_t *p_data, uint16_t data_len) |
#define | WICED_BT_MESH_DEVICE |
Mesh Device includes Configuration Server and Health Server models. More... | |
#define | WICED_BT_MESH_MODEL_CONFIG_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_CONFIG_CLNT, wiced_bt_mesh_config_client_message_handler, NULL, NULL } |
Mesh Configuration Client Model. | |
#define | WICED_BT_MESH_MODEL_HEALTH_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_HEALTH_CLNT, wiced_bt_mesh_model_health_client_message_handler, NULL, NULL } |
Mesh Health Client Model. | |
#define | WICED_BT_MESH_MODEL_REMOTE_PROVISION_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_REMOTE_PROVISION_CLNT, wiced_bt_mesh_config_client_message_handler, NULL, NULL } |
Mesh Remote Provisioning Model. | |
#define | WICED_BT_MESH_MODEL_REMOTE_PROVISION_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_REMOTE_PROVISION_SRV, wiced_bt_mesh_remote_provisioning_server_message_handler, NULL, NULL } |
Mesh Remote Provisioning Server Model. More... | |
#define | WICED_BT_MESH_MODEL_LOCATION_SERVER |
Mesh Location Server Device. More... | |
#define | WICED_BT_MESH_MODEL_USER_PROPERTY_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_USER_PROPERTY_SRV, wiced_bt_mesh_model_user_property_server_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_ADMIN_PROPERTY_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_ADMIN_PROPERTY_SRV, wiced_bt_mesh_model_admin_property_server_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_MANUFACTURER_PROPERTY_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_MANUFACT_PROPERTY_SRV, wiced_bt_mesh_model_manufacturer_property_server_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_CLIENT_PROPERTY_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_CLIENT_PROPERTY_SRV, wiced_bt_mesh_model_client_property_server_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_LIGHT_HSL_CTL_SERVER |
Mesh Light HSL/CTL Server Device. More... | |
#define | WICED_BT_MESH_MODEL_LIGHT_HSL_CTL_XYL_SERVER |
Mesh Light HSL/CTL/XYL Server Device. More... | |
#define | WICED_BT_MESH_MODEL_LIGHT_LC_SERVER |
Mesh Light Controller Device. More... | |
#define | WICED_BT_MESH_MODEL_SENSOR_SERVER |
#define | WICED_BT_MESH_MODEL_TIME_SERVER |
#define | WICED_BT_MESH_MODEL_LEVEL_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LEVEL_CLNT, wiced_bt_mesh_model_level_client_message_handler, NULL, NULL } |
Mesh Level Client Device. More... | |
#define | WICED_BT_MESH_MODEL_DEFAULT_TRANSITION_TIME_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_DEFTT_CLNT, wiced_bt_mesh_model_default_transition_time_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_POWER_ONOFF_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_POWER_ONOFF_CLNT, wiced_bt_mesh_model_power_onoff_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_BATTERY_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_BATTERY_CLNT, wiced_bt_mesh_model_battery_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_LOCATION_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LOCATION_CLNT, wiced_bt_mesh_model_location_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_PROPERTY_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_PROPERTY_CLNT, wiced_bt_mesh_model_property_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_SENSOR_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SENSOR_CLNT, wiced_bt_mesh_model_sensor_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_SCENE_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCENE_CLNT, wiced_bt_mesh_model_scene_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_SCHEDULER_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_SCHEDULER_CLNT, wiced_bt_mesh_model_scheduler_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_TIME_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_TIME_CLNT, wiced_bt_mesh_model_time_client_message_handler, NULL, NULL } |
#define | WICED_BT_MESH_MODEL_LIGHT_LC_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_LIGHT_LC_CLNT, wiced_bt_mesh_model_light_lc_client_message_handler, NULL, NULL } |
Battery Presence Flags | |
#define | WICED_BT_MESH_BATTERY_FLAG_NOT_PRESENT 0x00 |
The battery is not present. | |
#define | WICED_BT_MESH_BATTERY_FLAG_PRESENT_REMOVABLE 0x01 |
The battery is present and is removable. | |
#define | WICED_BT_MESH_BATTERY_FLAG_PRESENT_NON_REMOVABLE 0x02 |
The battery is present and is non-removable. | |
#define | WICED_BT_MESH_BATTERY_FLAG_PRESENCE_UNKNOWN 0x03 |
The battery presence is unknown. | |
Battery Indicator Flags | |
#define | WICED_BT_MESH_BATTERY_FLAG_LEVEL_CRITICALLY_LOW 0x00 |
The battery charge is Critically Low Level. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_LEVEL_LOW 0x01 |
The battery charge is Low Level. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_LEVEL_GOOD 0x02 |
The battery charge is Good Level. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_LEVEL_UNKNOWN 0x03 |
The battery charge is unknown. More... | |
Battery Charging State Flags | |
#define | WICED_BT_MESH_BATTERY_FLAG_NOT_CHARGABLE 0x00 |
The battery is not chargeable. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_NOT_CHARGING 0x01 |
The battery is chargeable and is not charging. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_CHARGING 0x02 |
The battery is chargeable and is charging. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_CHARGING_UNKNOWN 0x03 |
The battery charging state is unknown. More... | |
Battery Service Required State Flags | |
#define | WICED_BT_MESH_BATTERY_FLAG_SERVICE_NOT_REQUIRED 0x01 |
The battery does not require service. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_SERVICE_REQUIRED 0x02 |
The battery requires service. More... | |
#define | WICED_BT_MESH_BATTERY_FLAG_SERVICABILITY_UNKNOWN 0x03 |
The battery serviceability is unknown. More... | |
Mesh Models library of the AIROC BTSDK provide a simple method for an application to use various Mesh models defined in the Bluetooth Mesh Model specification.
#define WICED_BT_MESH_BATTERY_FLAG_CHARGING 0x02 |
The battery is chargeable and is charging.
#define WICED_BT_MESH_BATTERY_FLAG_CHARGING_UNKNOWN 0x03 |
The battery charging state is unknown.
#define WICED_BT_MESH_BATTERY_FLAG_LEVEL_CRITICALLY_LOW 0x00 |
The battery charge is Critically Low Level.
#define WICED_BT_MESH_BATTERY_FLAG_LEVEL_GOOD 0x02 |
The battery charge is Good Level.
#define WICED_BT_MESH_BATTERY_FLAG_LEVEL_LOW 0x01 |
The battery charge is Low Level.
#define WICED_BT_MESH_BATTERY_FLAG_LEVEL_UNKNOWN 0x03 |
The battery charge is unknown.
#define WICED_BT_MESH_BATTERY_FLAG_NOT_CHARGABLE 0x00 |
The battery is not chargeable.
#define WICED_BT_MESH_BATTERY_FLAG_NOT_CHARGING 0x01 |
The battery is chargeable and is not charging.
#define WICED_BT_MESH_BATTERY_FLAG_SERVICABILITY_UNKNOWN 0x03 |
The battery serviceability is unknown.
#define WICED_BT_MESH_BATTERY_FLAG_SERVICE_NOT_REQUIRED 0x01 |
The battery does not require service.
#define WICED_BT_MESH_BATTERY_FLAG_SERVICE_REQUIRED 0x02 |
The battery requires service.
#define WICED_BT_MESH_DEVICE |
Mesh Device includes Configuration Server and Health Server models.
This need to be included in the first element of the device.
#define WICED_BT_MESH_LEVEL_MAX_RETRANSMIT_TIME 6 |
Max retransmit duration for level set command in seconds.
This time is also indicates max duration of the delta command.
#define WICED_BT_MESH_MODEL_LEVEL_CLIENT { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LEVEL_CLNT, wiced_bt_mesh_model_level_client_message_handler, NULL, NULL } |
Mesh Level Client Device.
The device implements a Generic Level device. The device can be configured to control any device that supports Generic Level Server model (WICED_BT_MESH_CORE_MODEL_ID_GENERIC_LEVEL_SRV). For example, WICED_BT_MESH_MODEL_LIGHT_LIGHTNESS_SERVER, WICED_BT_MESH_MODEL_LIGHT_CTL_SERVER, WICED_BT_MESH_MODEL_LIGHT_HSL_SERVER,...
#define WICED_BT_MESH_MODEL_LIGHT_HSL_CTL_SERVER |
Mesh Light HSL/CTL Server Device.
The device implements all required models for the main element of a color bulb that supports brightness, hue and saturation but also a color temperature controls. Note that for the full color bulb implementation this device needs to be combined with hue server (WICED_BT_MESH_MODEL_LIGHT_HSL_HUE_SERVER), saturation server (WICED_BT_MESH_MODEL_LIGHT_HSL_SATURATION_SERVER) and color temperature server (WICED_BT_MESH_MODEL_LIGHT_CTL_TEMPERATURE_SERVER) on the consecutive elements. The time and scheduler models are optional and can be commented out to reduce memory footprint.
#define WICED_BT_MESH_MODEL_LIGHT_HSL_CTL_XYL_SERVER |
Mesh Light HSL/CTL/XYL Server Device.
The device implements all required models for the main element of a color bulb that supports brightness, hue and saturation but also a color temperature controls and xyL controls. Note that for the full color bulb implementation this device needs to be combined with hue server (WICED_BT_MESH_MODEL_LIGHT_HSL_HUE_SERVER), saturation server (WICED_BT_MESH_MODEL_LIGHT_HSL_SATURATION_SERVER) and color temperature server (WICED_BT_MESH_MODEL_LIGHT_CTL_TEMPERATURE_SERVER) on the consecutive elements. The time and scheduler models are optional and can be commented out to reduce memory footprint.
#define WICED_BT_MESH_MODEL_LIGHT_LC_SERVER |
Mesh Light Controller Device.
This is an additional part of the light controller. The main part will contain one or more elements required to implement a dimmable or a colored bulb. The time and scheduler models are optional and can be commented out to reduce memory footprint.
#define WICED_BT_MESH_MODEL_LOCATION_SERVER |
Mesh Location Server Device.
The device provides global and/or local location. The device can exist standalone and can be combined with other devices.
#define WICED_BT_MESH_MODEL_REMOTE_PROVISION_SERVER { MESH_COMPANY_ID_BT_SIG, WICED_BT_MESH_CORE_MODEL_ID_REMOTE_PROVISION_SRV, wiced_bt_mesh_remote_provisioning_server_message_handler, NULL, NULL } |
Mesh Remote Provisioning Server Model.
The model is used by a Provisioner to provision new devices not in the immediate radio range, i.e. provision over mesh. This is an optional feature, but will provide additional flexibility for a mesh network. It is recommended to include in the first element space permitted.
#define WICED_BT_MESH_MODEL_SENSOR_SERVER |
#define WICED_BT_MESH_MODEL_TIME_SERVER |
#define WICED_BT_MESH_PROPERTY_TYPE_CLIENT 0 |
Property types defined in the Mesh Models specifications wiced_bt_mesh_property_type enumeration.
Property type client
typedef void( wiced_bt_mesh_property_client_callback_t)(uint16_t event, wiced_bt_mesh_event_t *p_event, void *p_data) |
Property Client callback is called by the Mesh Models library on receiving a message from the peer.
event | The event that the application should process (see Mesh Property Events) |
p_event | information about the message received. The same pointer should be used in the reply if required. |
p_data | Pointer to the data to send |
typedef void( wiced_bt_mesh_property_server_callback_t)(uint8_t element_idx, uint16_t event, void *p_data) |
Generic User Property Server callback is called by the Mesh Models library on receiving a message from the peer.
element_idx | Element Index of the model |
event | The event that the application should process (see User Property Events) |
p_data | Pointer to the property data |
typedef uint16_t(* wiced_model_scene_recall_handler_t)(uint8_t element_idx, uint8_t *p_buffer, uint16_t buf_size, uint32_t transition_time, uint32_t delay) |
Scene retrieve message handler.
Each model may define a message handler if it stores data per scene in the NVRAM. When Scene Server receives Scene Recall message it calls each model's handler.
element_idx | Element index for which scene information is being recalled |
p_buffer | Pointer to a buffer where model's data is located |
buf_size | Maximum amount of data a model can get from the buffer |
typedef uint16_t(* wiced_model_scene_store_handler_t)(uint8_t element_idx, uint8_t *p_buffer, uint16_t buf_size) |
Scene store message handler.
Each model may define a message handler if it needs to store data per scene in the NVRAM. When Scene Server receives Scene Store message it calls each model's handler.
element_idx | Element index for which scene information is being stored |
p_buffer | Pointer to a buffer where data should be stored |
buf_size | Maximum amount of data a model can store |
wiced_bool_t wiced_bt_mesh_config_server_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
Config Server Model Message Handler.
Application Library typically calls this function when function to process a message received from the Config Client. The function parses the message and if appropriate calls the application back to perform functionality.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
void wiced_bt_mesh_config_server_send_reply | ( | wiced_bt_mesh_event_t * | p_event, |
uint16_t | opcode, | ||
uint8_t * | p_buffer, | ||
uint16_t | len | ||
) |
This function can be called to send message through the core.
The function keeps track of the output event .
p_event | Fully prepared wiced_bt_mesh_event_t structure with information on where and how event should be sent |
opcode | opcode to send |
params | Pointer to the parameters data to be sent out. |
len | Size of the parameters data to be sent out. The maximum length is about 377 bytes (depends on the size of the opcode). |
void wiced_bt_mesh_config_server_send_segmented | ( | wiced_bool_t | enable | ) |
This function can be called to configure configuration server to send always segmented messages regardless of the message size.
enable | WICED_TRUE enables the mode when config server always sends segmented messages. WICED_FALSE disables that mode. |
wiced_bool_t wiced_bt_mesh_model_admin_property_server_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
Admin Property Server Message Handler.
The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this specific model and successfully processed, and returns WICED_FALSE otherwise.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
wiced_bool_t wiced_bt_mesh_model_client_property_server_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
Client Property Server Message Handler.
The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this specific model and successfully processed, and returns WICED_FALSE otherwise.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
int wiced_bt_mesh_model_find_element_idx | ( | uint16_t | company_id, |
uint16_t | model_id, | ||
uint8_t | start_idx | ||
) |
Find model in the node configuration starting with specified element index.
[in] | company_id | Company ID of the model |
[in] | model_id | Model ID of the model |
[in] | start_idx | Starting element index |
wiced_bool_t wiced_bt_mesh_model_manufacturer_property_server_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
Manufacturer Property Server Message Handler.
The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this specific model and successfully processed, and returns WICED_FALSE otherwise.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
void wiced_bt_mesh_model_property_client_init | ( | uint8_t | element_idx, |
wiced_bt_mesh_property_client_callback_t * | p_callback, | ||
wiced_bool_t | is_provisioned | ||
) |
Property Client Module initialization.
element_idx | Device element to where model is used |
p_callback | The application callback function that will be executed by the mesh models library when application action is required, or when a reply for the application request has been received. |
is_provisioned | If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the model cleans up NVRAM on startup. |
wiced_bool_t wiced_bt_mesh_model_property_client_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
Property Client Message Handler.
The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this specific model and successfully processed, and returns WICED_FALSE otherwise.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
wiced_result_t wiced_bt_mesh_model_property_client_send_properties_get | ( | wiced_bt_mesh_event_t * | p_event, |
wiced_bt_mesh_properties_get_data_t * | p_data | ||
) |
The application can call this function to send Properties Get client message to the server.
p_event | Mesh event with the information about the message that has been created by the app for unsolicited message. |
wiced_result_t wiced_bt_mesh_model_property_client_send_property_get | ( | wiced_bt_mesh_event_t * | p_event, |
wiced_bt_mesh_property_get_data_t * | p_get | ||
) |
The application can call this function to send Property Get client message to the server.
p_event | Mesh event with the information about the message that has been created by the app for unsolicited message. |
wiced_result_t wiced_bt_mesh_model_property_client_send_property_set | ( | wiced_bt_mesh_event_t * | p_event, |
wiced_bt_mesh_property_set_data_t * | p_sata | ||
) |
The application can call this function to send Property Set client message to the server.
p_event | Mesh event with the information about the message that has been created by the app for unsolicited message. |
p_data | Pointer to the data to send |
void wiced_bt_mesh_model_property_server_init | ( | uint8_t | element_idx, |
wiced_bt_mesh_property_server_callback_t * | p_callback, | ||
wiced_bool_t | is_provisioned | ||
) |
Property Module initialization.
element_idx | Device element to where model is used |
p_callback | Application or Parent model callback that will be executed on receiving a message |
is_provisioned | If TRUE, the application is being restarted after being provisioned or after a power loss. If FALSE the model cleans up NVRAM on startup. |
wiced_bool_t wiced_bt_mesh_model_user_property_server_message_handler | ( | wiced_bt_mesh_event_t * | p_event, |
uint8_t * | p_data, | ||
uint16_t | data_len | ||
) |
User Property Server Message Handler.
The Mesh Core library calls this function for each message received. The function returns WICED_TRUE if the message is destined for this specific model and successfully processed, and returns WICED_FALSE otherwise.
p_event | Mesh event with information about received message. |
p_data | Pointer to the data portion of the message |
data_len | Length of the data in the message |
void wiced_bt_mesh_models_set_trace_level | ( | uint8_t | level | ) |
Sets trace level for mesh_models_lib and mesh_provisioner_lib.
Application may call this function to set trace level for mesh_models_lib and mesh_provisioner_lib. By default trace level is 0(no trace).
[in] | level | Trace level to set. It can be any of WICED_BT_MESH_CORE_TRACE_XXX. |
wiced_bool_t wiced_bt_mesh_remote_provisioning_connectable_adv_packet | ( | wiced_bt_ble_scan_results_t * | p_adv_report, |
uint8_t * | p_adv_data | ||
) |
Process Connectable Advertising Packets to check if the packet is for remote provisioning server.
p_adv_report | Advertising report paremeters |
p_adv_data | Advertising data |
wiced_bool_t wiced_bt_mesh_remote_provisioning_nonconnectable_adv_packet | ( | wiced_bt_ble_scan_results_t * | p_adv_report, |
uint8_t * | p_adv_data | ||
) |
Process None Connectable Advertising Packets to check if the packet is for remote provisioning server.
p_adv_report | Advertising report paremeters |
p_adv_data | Advertising data |
wiced_bool_t wiced_bt_mesh_remote_provisioning_scan_rsp | ( | wiced_bt_ble_scan_results_t * | p_adv_report, |
uint8_t * | p_adv_data | ||
) |
Process Scan Response Packets to check if the packet is for remote provisioning server.
p_adv_report | Advertising report paremeters |
p_adv_data | Advertising data |
void wiced_bt_mesh_remote_provisioning_server_init | ( | void | ) |
Remote Provisioning Server initialization.
None |
void wiced_bt_mesh_remote_provisioning_server_set_min_rssi | ( | int8_t | min_rssi | ) |
Configures Remote Provisioning Server shall drop all unprovisioned beacons and provisioning service adverts with RSSI less than min_rssi.
It shall be called after wiced_bt_mesh_remote_provisioning_server_init;
min_rssi | min RSSI to handle |
uint8_t wiced_bt_mesh_model_timer_server_get_interval |
Interval in seconds to send time get message while the time isn't set yet.
The value can be changed by the application. 0 means don't send time get message if time isn't initialized. Default value is 0.