AIROC™ BTSDK v4.9 - Documentation | ||||
> More...
Data Structures | |
struct | wiced_bt_mesh_core_state_iv_t |
Data for state type WICED_BT_MESH_CORE_STATE_IV. More... | |
struct | wiced_bt_mesh_core_state_seq_t |
Data for state type WICED_BT_MESH_CORE_STATE_TYPE_SEQ. More... | |
struct | wiced_bt_mesh_core_state_net_key_t |
Data for state types WICED_BT_MESH_CORE_STATE_NET_KEY_XXX. More... | |
struct | wiced_bt_mesh_core_state_app_key_t |
Data for state types WICED_BT_MESH_CORE_STATE_APP_KEY_XXX. More... | |
struct | wiced_bt_mesh_core_state_model_app_t |
Data for state types WICED_BT_MESH_CORE_STATE_APP_XXX. More... | |
struct | wiced_bt_mesh_core_state_node_state_t |
Data for state types WICED_BT_MESH_CORE_STATE_NODE_STATE. More... | |
struct | wiced_bt_mesh_core_state_friendship_t |
Data for state types WICED_BT_MESH_CORE_STATE_LPN_FRIENDSHIP and WICED_BT_MESH_CORE_STATE_FRND_FRIENDSHIP. More... | |
struct | wiced_bt_mesh_core_state_beacon_t |
Data for state types WICED_BT_MESH_CORE_STATE_PRIVATE_BEACON. More... | |
struct | wiced_bt_mesh_core_state_proxy_serivce_t |
Data for state types WICED_BT_MESH_CORE_STATE_PROXY_SERVICE_ADV. More... | |
union | wiced_bt_mesh_core_state_t |
struct | wiced_bt_mesh_core_init_t |
Data for wiced_bt_mesh_core_init. More... | |
struct | wiced_bt_mesh_core_hal_api_t |
hal api for wiced_bt_mesh_core_set_hal_api() Application has to implement all these functions and call wiced_bt_mesh_core_set_hal_api() at the startup. More... | |
struct | wiced_bt_mesh_core_provision_capabilities_t |
Defines Capabilities data of the provisioning device. More... | |
struct | wiced_bt_mesh_core_provision_start_t |
Defines Start data sent by Provisioner to the provisioning device. More... | |
struct | wiced_bt_mesh_core_precord_descriptor_t |
Provisioning Records Handler Descriptor. More... | |
struct | mesh_core_provision_cb_t |
Mesh Core Provisioning Control Block. More... | |
struct | wiced_bt_mesh_core_statistics_t |
Represents statistics of messages receiving, sending and handling by network and bearers layers. More... | |
struct | wiced_bt_mesh_core_transport_statistics_t |
Represents statistics of messages receiving, sending and handling by transport layers. More... | |
struct | wiced_bt_mesh_core_delay_statistics_t |
Represents delay statistics. More... | |
Macros | |
#define | WICED_BT_MESH_PROXY_IDENTIFICATION_TYPE_NETWORK_ID 0 |
#define | WICED_BT_MESH_PROXY_IDENTIFICATION_TYPE_NODE_IDENTITY 1 |
#define | WICED_BT_MESH_PROXY_IDENTIFICATION_TYPE_PRIVATE_NETWORK_ID 2 |
#define | WICED_BT_MESH_PROXY_IDENTIFICATION_TYPE_PRIVATE_NODE_IDENTITY 3 |
#define | WICED_BT_MESH_PROVISION_PRIV_KEY_LEN 32 |
Size of the private key in bytes. | |
#define | WICED_BT_MESH_KEY_LEN 16 |
Size of the mesh keys. | |
#define | WICED_BT_MESH_PROVISIONING_RECORD_BUFF_MAX_SIZE WICED_BT_MESH_PROVISION_PUBLIC_KEY_LEN |
#define | WICED_BT_MESH_CORE_TRACE_FID_MESH_DISCOVERY 0x00000002 |
#define | WICED_BT_MESH_CORE_TRACE_FID_ACESS_LAYER 0x00000004 |
#define | WICED_BT_MESH_CORE_TRACE_FID_CORE_AES_CCM 0x00000008 |
#define | WICED_BT_MESH_CORE_TRACE_FID_IV_UPDT 0x00000010 |
#define | WICED_BT_MESH_CORE_TRACE_FID_KEY_REFRESH 0x00000020 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION 0x00000040 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION_CFG_MODEL 0x00000080 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION_CRT_MSG 0x00000100 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION_HEARTBEAT 0x00000200 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION_IDENTITY 0x00000400 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FOUNDATION_MSG_HANDLER 0x00000800 |
#define | WICED_BT_MESH_CORE_TRACE_FID_NETWORK_LAYER 0x00001000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_LOWER_TRANSPORT_LAYER 0x00002000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_UPPER_TRANSPORT_LAYER 0x00004000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_PB_TRANSPORT 0x00008000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_PROVISIONING 0x00010000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_MESH_CORE 0x00020000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_MESH_UTIL 0x00040000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FRIENDSHIP 0x00080000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_LOW_POWER 0x00100000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_FRIEND 0x00200000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_HEALTH 0x00400000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_MESH_EVENT 0x00800000 |
#define | WICED_BT_MESH_CORE_TRACE_FID_ALL 0xffffffff |
#define | WICED_BT_MESH_CORE_TRACE_DEBUG 4 |
#define | WICED_BT_MESH_CORE_TRACE_INFO 3 |
#define | WICED_BT_MESH_CORE_TRACE_WARNING 2 |
#define | WICED_BT_MESH_CORE_TRACE_CRITICAL 1 |
#define | WICED_BT_MESH_CORE_TRACE_NO 0 |
Special Commands of the Proxy Filter, Heartbeat and other | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_PROXY_FLT_SET_TYPE 0x00 |
Opcodes of the Proxy Configuration Messages. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_PROXY_FLT_ADD_ADDR 0x01 |
Sent by a Proxy Client to add addresses to the proxy filter list. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_PROXY_FLT_DEL_ADDR 0x02 |
Sent by a Proxy Client to remove addresses from the proxy filter list. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_PROXY_FLT_STATUS 0x03 |
Acknowledgment by a Proxy Server to a Proxy Client to report the status of the proxy filter list. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_DIRECTED_PROXY_CAPABILITIES_STATUS 0x04 |
Sent by a Directed Proxy Server to report the status of its capabilities for a subnet. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_DIRECTED_PROXY_CONTROL 0x05 |
Sent by a Directed Proxy Client to set connection parameters of the Directed Proxy for a subnet. More... | |
#define | WICED_BT_MESH_CORE_CMD_SPECIAL_HEARTBEAT 0x0a |
Heartbeat message came from Transport layer. More... | |
Test Mode Signals. | |
#define | WICED_BT_MESH_CORE_TEST_MODE_SIGNAL_IV_UPDATE_BEGIN 0 |
the node shall transition to the IV Update in Progress state, ignoring the 96 hour limit. More... | |
#define | WICED_BT_MESH_CORE_TEST_MODE_SIGNAL_IV_UPDATE_END 1 |
the node shall transition to the Normal state, ignoring the 96 hour limit. More... | |
#define | WICED_BT_MESH_CORE_TEST_MODE_SIGNAL_TEST 2 |
test signal for internal use. More... | |
Provisioning Result codes | |
#define | WICED_BT_MESH_PROVISION_RESULT_SUCCESS 0 |
Provisioning succeeded. | |
#define | WICED_BT_MESH_PROVISION_RESULT_TIMEOUT 1 |
Provisioning failed due to timeout. | |
#define | WICED_BT_MESH_PROVISION_RESULT_FAILED 2 |
Provisioning failed. | |
Output OOB Action field values | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_BLINK 0x00 |
Blink. | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_BEEP 0x01 |
Beep. | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_VIBRATE 0x02 |
Vibrate. | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_DISP_NUM 0x03 |
Output Numeric. | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_DISP_ALPH 0x04 |
Output Alphanumeric. | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_ACT_MAX 0x15 |
Max number of supported actions. | |
Input OOB Action field values | |
#define | WICED_BT_MESH_PROVISION_IN_OOB_ACT_PUSH 0x00 |
Push. | |
#define | WICED_BT_MESH_PROVISION_IN_OOB_ACT_TWIST 0x01 |
Twist. | |
#define | WICED_BT_MESH_PROVISION_IN_OOB_ACT_ENTER_NUM 0x02 |
Input Number. | |
#define | WICED_BT_MESH_PROVISION_IN_OOB_ACT_ENTER_STR 0x03 |
Input Alphanumeric. | |
#define | WICED_BT_MESH_PROVISION_IN_OOB_ACT_MAX 0x15 |
Max number of supported actions. | |
Provisioning Capabilities and Start common definitions | |
#define | WICED_BT_MESH_PROVISION_OUT_OOB_MAX_SIZE 0x08 |
#define | WICED_BT_MESH_PROVISION_IN_OOB_MAX_SIZE 0x08 |
#define | WICED_BT_MESH_PROVISION_STATIC_OOB_MAX_SIZE 0x10 |
Provisioning Capabilities definitions | |
#define | WICED_BT_MESH_PROVISION_ALG_FIPS_P256_ELLIPTIC_CURVE 0x0001 |
#define | WICED_BT_MESH_PROVISION_ALG_ECDH_P256_HMAC_SHA256_AES_CCM 0x0002 |
#define | WICED_BT_MESH_PROVISION_CAPS_PUB_KEY_TYPE_AVAILABLE 0x01 |
#define | WICED_BT_MESH_PROVISION_CAPS_PUB_KEY_TYPE_PROHIBITED 0xfe |
#define | WICED_BT_MESH_PROVISION_CAPS_STATIC_OOB_TYPE_AVAILABLE 0x01 |
#define | WICED_BT_MESH_PROVISION_CAPS_STATIC_OOB_TYPE_PROHIBITED 0xfe |
Provisioning Start definitions | |
#define | WICED_BT_MESH_PROVISION_START_ALG_FIPS_P256 0x00 |
#define | WICED_BT_MESH_PROVISION_START_ALG_P256_HMAC_SHA256_AES_CCM 0x01 |
#define | WICED_BT_MESH_PROVISION_START_PUB_KEY_NO 0x00 |
#define | WICED_BT_MESH_PROVISION_START_PUB_KEY_USED 0x01 |
#define | WICED_BT_MESH_PROVISION_START_AUTH_METHOD_NO 0x00 |
#define | WICED_BT_MESH_PROVISION_START_AUTH_METHOD_STATIC 0x01 |
#define | WICED_BT_MESH_PROVISION_START_AUTH_METHOD_OUTPUT 0x02 |
#define | WICED_BT_MESH_PROVISION_START_AUTH_METHOD_INPUT 0x03 |
Provisioning Type definitions | |
#define | WICED_BT_MESH_PROVISION_TYPE_PROVISIONING_NODE 0 |
#define | WICED_BT_MESH_PROVISION_TYPE_PROVISIONER 1 |
#define | WICED_BT_MESH_PROVISION_TYPE_SELF_PROVISIONER_DEVKEY_CANDIDATE 2 |
#define | WICED_BT_MESH_PROVISION_TYPE_SELF_PROVISIONER_NODE_ID 3 |
#define | WICED_BT_MESH_PROVISION_TYPE_SELF_PROVISIONER_COMPOSITION 4 |
OOB callback definitions | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_NONE 0 |
Provisioner: OOB not used. | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_ENTER_PUB_KEY 1 |
Provisioner: Enter public key() | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_ENTER_OUTPUT 2 |
Provisioner: Enter output OOB value(size, action) displayed on provisioning node. | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_ENTER_STATIC 3 |
Provisioner: Enter static OOB value(size) | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_ENTER_INPUT 4 |
Provisioning node: Enter input OOB value(size, action) displayed on provisioner. | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_DISPLAY_INPUT 5 |
Provisioner: Select and display input OOB value(size, action) | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_DISPLAY_OUTPUT 6 |
Provisioning node: Select and display output OOB value(size, action) | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_DISPLAY_STOP 7 |
Provisioner and Provisioning node: Stop displaying OOB value. | |
#define | WICED_BT_MESH_PROVISION_GET_OOB_TYPE_GET_STATIC 8 |
Provisioning node: Requests static OOB value(size) | |
Typedefs | |
struct { | |
uint8_t ctl | |
CTL field. More... | |
uint8_t ttl | |
TTL field. More... | |
uint8_t dst [2] | |
Destination address (LE) | |
uint8_t pdu [1] | |
TransportPDU set to between 1 and 16 inclusive octets of data. | |
} | wiced_bt_mesh_core_hci_cmd_network_layer_transmit_t |
struct { | |
uint8_t ctl | |
CTL field. More... | |
uint8_t ttl | |
TTL field. More... | |
uint8_t dst_len | |
Length of the destination address. More... | |
uint8_t dst [16] | |
BigEndian 2 bytes destination address or 16 bytes label UUID of the virtual address. | |
uint8_t szmic | |
0 - 4 bytes TransMIC size, 1 - 8 bytes TransMIC size | |
uint8_t pdu [1] | |
AccessPDU set to between 1 and 380 inclusive octets of data. | |
} | wiced_bt_mesh_core_hci_cmd_transport_layer_transmit_t |
struct { | |
uint8_t in_progress | |
1 - Transit to IV Update in Progress; 0 - Transit to Normal | |
} | wiced_bt_mesh_core_hci_cmd_ivupdate_signal_transit_t |
struct { | |
uint8_t conn_id [4] | |
connection id for provisioning. More... | |
uint8_t addr [2] | |
unicast address to assign to provisioning node | |
uint8_t uuid [16] | |
UUID of the node to provision. | |
uint8_t identify_duration | |
identify duration to pass to that provision start command | |
} | wiced_bt_mesh_core_hci_cmd_provision_t |
struct { | |
uint8_t test_id | |
Test ID of the faults array. | |
uint8_t company_id [2] | |
Company ID. | |
uint8_t faults [1] | |
faults array. More... | |
} | wiced_bt_mesh_core_hci_cmd_health_set_faults_t |
struct { | |
uint8_t ttl | |
TTL field. More... | |
uint8_t app_key_idx [2] | |
Global Index of the Application Key (LE). More... | |
uint8_t src [2] | |
Source address (LE) | |
uint8_t dst [2] | |
Destination address (LE) | |
uint8_t pdu [1] | |
Access PDU. | |
} | wiced_bt_mesh_core_hci_cmd_access_pdu_t |
struct { | |
uint8_t add | |
WICED_TRUE/WICED_FALSE - add/remove. | |
uint8_t addr [2] | |
Subscription address (LE) | |
} | wiced_bt_mesh_core_hci_cmd_send_subs_updt_t |
typedef wiced_bool_t(* | wiced_bt_mesh_core_received_msg_handler_t )(wiced_bt_mesh_event_t *p_event, const uint8_t *params, uint16_t params_len) |
Received message callback. More... | |
typedef wiced_bt_mesh_core_received_msg_handler_t(* | wiced_bt_mesh_core_get_msg_handler_callback_t )(uint16_t company_id, uint16_t opcode, uint16_t *p_model_id, uint8_t *p_rpl_flag) |
Get message handler callback. More... | |
typedef wiced_bool_t(* | wiced_bt_mesh_core_publication_callback_t )(uint8_t elem_idx, uint16_t company_id, uint16_t model_id, uint16_t period) |
Publication request callback. More... | |
typedef uint32_t(* | wiced_bt_core_nvram_access_t )(wiced_bool_t write, int inx, uint8_t *node_info, uint16_t len, wiced_result_t *p_result) |
Application provided function to read/write information from/to NVRAM. More... | |
typedef void(* | wiced_bt_mesh_core_scan_callback_t )(wiced_bool_t start, wiced_bool_t is_scan_type_active) |
Start/Stop scan callback. More... | |
typedef void(* | wiced_bt_mesh_core_proxy_send_cb_t )(uint32_t conn_id, uint32_t ref_data, const uint8_t *packet, uint32_t packet_len) |
Definition of the callback function to send proxy messages. More... | |
typedef uint8_t(* | wiced_bt_mesh_core_health_fault_test_cb_t )(uint8_t element, uint8_t test_id, uint16_t company_id, uint8_t fault_array_size, uint8_t *fault_array) |
Definition of the callback function to send proxy packet. More... | |
typedef void(* | wiced_bt_mesh_core_attention_cb_t )(uint8_t element, uint8_t time) |
Definition of the callback function to attract human attention by LED blinks or other. More... | |
typedef void(* | wiced_bt_mesh_core_state_changed_callback_t )(wiced_bt_mesh_core_state_type_t type, wiced_bt_mesh_core_state_t *p_state) |
typedef wiced_bool_t(* | wiced_bt_mesh_core_adv_send_cb_t )(uint8_t instance, uint8_t transmissions, uint32_t interval, uint8_t type, uint8_t *own_bd_addr, const uint8_t *adv_data, uint8_t adv_data_len, const uint8_t *scan_rsp_data, uint8_t scan_rsp_data_len) |
Definition of the callback function to send advert messages or stop sending it or reset all adverts. More... | |
typedef void(* | wiced_bt_mesh_core_hal_rand_gen_num_array_t )(uint32_t *randNumberArrayPtr, uint32_t length) |
Fills a given array with randomly generated 32-bit integers. More... | |
typedef uint32_t(* | wiced_bt_mesh_core_hal_get_pseudo_rand_number_t )(void) |
This functin returns a pseudo random number. More... | |
typedef uint32_t(* | wiced_bt_mesh_core_hal_rand_gen_num_t )(void) |
Generates and returns a random 32-bit integer. More... | |
typedef void(* | wiced_bt_mesh_core_hal_wdog_reset_system_t )(void) |
Execute a soft reset of the system. | |
typedef void(* | wiced_bt_mesh_core_hal_delete_nvram_t )(uint16_t vs_id, wiced_result_t *p_status) |
deletes data from NVRAM at specified VS id More... | |
typedef uint16_t(* | wiced_bt_mesh_core_hal_write_nvram_t )(uint16_t vs_id, uint16_t data_length, uint8_t *p_data, wiced_result_t *p_status) |
Writes the data to NVRAM, Application can write up to 255 bytes in one VS id section. More... | |
typedef uint16_t(* | wiced_bt_mesh_core_hal_read_nvram_t )(uint16_t vs_id, uint16_t data_length, uint8_t *p_data, wiced_result_t *p_status) |
Reads the data from NVRAM. More... | |
typedef void(* | wiced_bt_mesh_core_hal_aes_encrypt_t )(uint8_t *in_data, uint8_t *out_data, uint8_t *key) |
Calculate AES encryption by using Hardware acceleration. More... | |
typedef void(* | wiced_bt_mesh_core_send_complete_callback_t )(wiced_bt_mesh_event_t *p_event) |
Send message complete callback. More... | |
struct { | |
uint16_t extensions | |
Bitmask indicating the provisioning extensions supported by the device. | |
uint16_t list [WICED_BT_MESH_PROVISIONING_RECORD_ID_MAX_SIZE] | |
Lists the Record IDs of the provisioning records stored on the device. | |
uint16_t list_size | |
sizes of the record data in the list | |
} | wiced_bt_mesh_core_provisioning_list_t |
struct { | |
uint16_t record_id | |
Identifies the provisioning record for which the request is made. | |
uint16_t fragment_offset | |
The starting offset of the requested fragment in the provisioning record data. | |
uint16_t fragment_max_size | |
The maximum size of the provisioning record fragment that the provisioner can receive. | |
} | wiced_bt_mesh_core_provisioning_record_request_t |
Provisioning Record Request PDU parameters format. More... | |
struct { | |
uint16_t record_id | |
Identifies the provisioning record whose data fragment is sent in the response. | |
uint16_t fragment_offset | |
The starting offset of the data fragment in the provisioning record data. | |
uint16_t total_length | |
Total length of the provisioning record data stored on the device. | |
} | wiced_bt_mesh_core_provisioning_record_response_t |
struct { | |
uint8_t status | |
Indicates whether or not the request was handled successfully. | |
union { | |
wiced_bt_mesh_core_provisioning_record_request_t request | |
wiced_bt_mesh_core_provisioning_record_response_t response | |
} u | |
uint8_t data [WICED_BT_MESH_PROVISIONING_RECORD_BUFF_MAX_SIZE] | |
Provisioning record data fragment (Optional) | |
uint16_t size | |
Size of valid data in the record fragment. | |
} | wiced_bt_mesh_core_provisioning_record_t |
Provisioning Record Response PDU parameters format. More... | |
typedef void(* | wiced_bt_mesh_core_provision_gatt_send_cb_t )(uint16_t conn_id, const uint8_t *packet, uint32_t packet_len) |
Definition of the callback function to send provisioning packet. More... | |
typedef void(* | wiced_bt_mesh_core_provision_started_cb_t )(uint32_t conn_id) |
Definition of the callback function on Starts provisioning. More... | |
typedef void(* | wiced_bt_mesh_core_provision_end_cb_t )(uint32_t conn_id, uint16_t addr, uint16_t net_key_idx, uint8_t result, const uint8_t *p_dev_key) |
Definition of the callback function on provisioning end. More... | |
typedef wiced_bool_t(* | wiced_bt_mesh_core_provision_get_oob_cb_t )(uint32_t conn_id, uint8_t type, uint8_t size, uint8_t action) |
Definition of the callback function on get OOB. More... | |
typedef wiced_bool_t(* | wiced_bt_mesh_core_provision_on_capabilities_cb_t )(uint32_t conn_id, const wiced_bt_mesh_core_provision_capabilities_t *capabilities) |
Definition of the callback function on Capabilities. More... | |
typedef wiced_bool_t(* | wiced_bt_mesh_core_provision_get_capabilities_cb_t )(uint32_t conn_id) |
Definition of the callback function on get Capabilities. More... | |
typedef uint16_t(* | wiced_bt_mesh_core_provision_records_get_cb_t )(uint16_t *buffer) |
Definition of the callback function on get provisioning records list. More... | |
typedef uint16_t(* | wiced_bt_mesh_core_provision_record_req_cb_t )(uint16_t record_id, uint8_t *buffer, uint16_t fragment_length, uint16_t fragment_offset, uint16_t *record_size) |
Definition of the callback function on get fragment of the provisioning record. More... | |
typedef const uint8_t *(* | wiced_bt_mesh_core_get_dev_key_callback_t )(uint16_t addr, uint16_t *p_net_key_idx) |
Device Key request callback. More... | |
typedef void(* | wiced_bt_mesh_core_lpn_sleep_callback_t )(uint32_t *p_sleep_time) |
Callback function to receive LPN sleep event. More... | |
Enumerations | |
enum | wiced_bt_mesh_core_state_type_t { WICED_BT_MESH_CORE_STATE_TYPE_SEQ, WICED_BT_MESH_CORE_STATE_DEFAULT_TTL, WICED_BT_MESH_CORE_STATE_NET_TRANSMIT, WICED_BT_MESH_CORE_STATE_NET_KEY_ADD, WICED_BT_MESH_CORE_STATE_NET_KEY_DELETE, WICED_BT_MESH_CORE_STATE_NET_KEY_UPDATE, WICED_BT_MESH_CORE_STATE_APP_KEY_ADD, WICED_BT_MESH_CORE_STATE_APP_KEY_DELETE, WICED_BT_MESH_CORE_STATE_APP_KEY_UPDATE, WICED_BT_MESH_CORE_STATE_MODEL_APP_BIND, WICED_BT_MESH_CORE_STATE_MODEL_APP_UNBIND, WICED_BT_MESH_CORE_STATE_IV, WICED_BT_MESH_CORE_STATE_KR, WICED_BT_MESH_CORE_STATE_NODE_STATE, WICED_BT_MESH_CORE_STATE_LPN_FRIENDSHIP, WICED_BT_MESH_CORE_STATE_LPN_SLEEP, WICED_BT_MESH_CORE_STATE_LPN_SCAN, WICED_BT_MESH_CORE_STATE_FRND_FRIENDSHIP, WICED_BT_MESH_CORE_STATE_TYPE_CLR_RPL, WICED_BT_MESH_CORE_STATE_PRIVATE_BEACON, WICED_BT_MESH_CORE_STATE_PROXY_SERVICE_ADV } |
Mesh Provisioning Record IDs | |
enum | wiced_bt_mesh_provisioning_record_id_t { WICED_BT_MESH_PROVISIONING_RECORD_ID_CBP_BASE_URI = 0X0000, WICED_BT_MESH_PROVISIONING_RECORD_ID_DEVICE_CERTIFICATE = 0X0001, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_1 = 0X0002, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_2 = 0X0003, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_3 = 0X0004, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_4 = 0X0005, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_5 = 0X0006, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_6 = 0X0007, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_7 = 0X0008, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_8 = 0X0009, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_9 = 0X000A, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_10 = 0X000B, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_11 = 0X000C, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_12 = 0X000D, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_13 = 0X000E, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_14 = 0X000F, WICED_BT_MESH_PROVISIONING_RECORD_ID_INTERMEDIATE_CERTIFICATE_15 = 0X0010, WICED_BT_MESH_PROVISIONING_RECORD_ID_COMPLETE_LOCAL_NAME = 0X0011, WICED_BT_MESH_PROVISIONING_RECORD_ID_APPEARANCE = 0x0012, WICED_BT_MESH_PROVISIONING_RECORD_ID_MAX_SIZE = 0x0013 } |
Status codes for the Provisioning Record Response PDU | |
enum | wiced_bt_mesh_provisioning_record_response_status_t { WICED_BT_MESH_PROVISIONING_RECORD_RESPONSE_STATUS_SUCCESS = 0x00, WICED_BT_MESH_PROVISIONING_RECORD_RESPONSE_STATUS_NOT_PRESENT = 0x01, WICED_BT_MESH_PROVISIONING_RECORD_RESPONSE_STATUS_OUT_OF_BOUNDS = 0x02 } |
Functions | |
void | wiced_bt_mesh_core_set_hal_api (wiced_bt_mesh_core_hal_api_t *hal_api) |
Sets hal api. More... | |
wiced_bt_mesh_core_hal_api_t * | wiced_bt_mesh_core_get_hal_api (void) |
Returns hal api. More... | |
wiced_result_t | wiced_bt_mesh_core_init (wiced_bt_mesh_core_init_t *p_init) |
Mesh Core initialization. More... | |
void | wiced_bt_mesh_core_adv_end (uint8_t instance) |
Advertisement stopped notification. More... | |
void | wiced_bt_mesh_core_set_max_num_adv_instances (uint8_t max_num) |
Set max number of advertisement instances. More... | |
wiced_bool_t | wiced_bt_mesh_core_deinit (wiced_bt_core_nvram_access_t nvram_access_callback) |
Mesh Core de-initialization. More... | |
void | wiced_bt_mesh_core_start (void) |
Mesh Core Start. More... | |
void | wiced_bt_mesh_core_set_gatt_mtu (uint16_t gatt_mtu) |
Sets GATT MTU for the provisioning or proxy connection. More... | |
uint16_t | wiced_bt_mesh_core_get_local_addr (void) |
Gets local mesh address set by provisioner. More... | |
wiced_result_t | wiced_bt_mesh_core_send (wiced_bt_mesh_event_t *p_event, const uint8_t *params, uint16_t params_len, wiced_bt_mesh_core_send_complete_callback_t complete_callback) |
Sends the message to the dst address. More... | |
void | wiced_bt_mesh_core_cancel_send (wiced_bt_mesh_event_t *p_event) |
Stop sending retransmissions. More... | |
wiced_result_t | wiced_bt_mesh_core_adv_packet (int8_t rssi, const uint8_t *p_adv_data, const uint8_t *remote_bd_addr) |
Handles received advertising packet. More... | |
void | wiced_bt_mesh_core_proxy_packet (const uint8_t *p_data, uint8_t data_len) |
Handle packet received by proxy via GATT. More... | |
wiced_bool_t | wiced_bt_mesh_core_is_valid_network_id (uint8_t *p_network_id, uint16_t *p_net_key_idx) |
Get Network Key Index. More... | |
void | wiced_bt_mesh_core_connection_status (uint32_t conn_id, wiced_bool_t connected_to_proxy, uint32_t ref_data, uint16_t mtu) |
Handles connection up and down events. More... | |
wiced_bool_t | wiced_bt_mesh_core_check_node_identity (uint16_t addr, const uint8_t *data, uint8_t len, uint16_t *p_net_key_idx) |
Checks if received Service Data for Mesh Proxy Service with Node Identity corresponds to that node address. More... | |
wiced_bool_t | wiced_bt_mesh_core_check_private_node_identity (uint16_t addr, const uint8_t *data, uint8_t len, uint16_t *p_net_key_idx) |
Checks if received Service Data for Mesh Proxy Service with Private Node Identity corresponds to that node address. More... | |
wiced_bool_t | wiced_bt_mesh_core_check_private_network_id (const uint8_t *data, uint8_t len, uint16_t *p_net_key_idx) |
Checks if received Service Data for Mesh Proxy Service with Private Network Identity is valid. More... | |
wiced_bool_t | wiced_bt_mesh_core_proc_rx_cmd (uint16_t opcode, const uint8_t *p_data, uint16_t data_len) |
The RPL updates from the Host. More... | |
wiced_bool_t | wiced_bt_mesh_core_test_mode_signal (uint16_t opcode, const uint8_t *p_data, uint16_t data_len) |
The signals for different test modes. More... | |
void | wiced_bt_mesh_core_calc_uri_hash (const uint8_t *uri, uint8_t len, uint8_t *hash) |
void | wiced_bt_mesh_core_set_node_identity (uint8_t type, uint8_t action) |
Sets node identity state as a result of user interaction. More... | |
wiced_bool_t | wiced_bt_mesh_core_health_set_faults (uint8_t element_idx, uint8_t test_id, uint16_t company_id, uint8_t faults_number, uint8_t *fault_array) |
Indicates the fault happened. More... | |
wiced_bool_t | wiced_bt_mesh_core_provision_server_init (uint8_t *priv_key, wiced_bt_mesh_core_provision_started_cb_t started_cb, wiced_bt_mesh_core_provision_end_cb_t end_cb, wiced_bt_mesh_core_provision_get_capabilities_cb_t get_capabilities_cb, wiced_bt_mesh_core_provision_get_oob_cb_t get_oob_cb, wiced_bt_mesh_core_provision_gatt_send_cb_t gatt_send_cb, wiced_bt_mesh_core_provision_records_get_cb_t get_precords_cb, wiced_bt_mesh_core_provision_record_req_cb_t request_precord_cb) |
Initializes provisioning layer for the node(server side). More... | |
wiced_bool_t | wiced_bt_mesh_core_provision_set_oob (uint8_t *value, uint8_t value_len) |
Sets OOB in response on wiced_bt_mesh_provision_get_oob_cb. More... | |
wiced_bool_t | wiced_bt_mesh_core_provision_set_capabilities (uint32_t conn_id, const wiced_bt_mesh_core_provision_capabilities_t *capabilities) |
Sets Capabilities of the provisioning device. More... | |
void | wiced_bt_mesh_core_provision_gatt_packet (uint8_t is_notification, uint32_t conn_id, const uint8_t *packet, uint8_t packet_len) |
Processes received PB_GATT packets. More... | |
wiced_bool_t | wiced_bt_mesh_core_provision_local (uint16_t addr, uint8_t *dev_key, uint8_t *network_key, uint16_t net_key_idx, uint32_t iv_idx, uint8_t key_refresh, uint8_t iv_update) |
Provision Local Device. More... | |
wiced_bool_t | wiced_bt_mesh_core_set_seq (uint16_t addr, uint32_t seq, wiced_bool_t prev_iv_idx) |
Set Sequence Number (SEQ) own or for RPL(Replay Protection List). More... | |
wiced_bool_t | wiced_bt_mesh_core_del_seq (uint16_t addr) |
Removes node from RPL(Replay Protection List). More... | |
uint16_t | wiced_bt_mesh_get_node_config_size (wiced_bt_mesh_core_config_t *config) |
Calculates size of the memory for configuration. More... | |
void | wiced_bt_mesh_core_stop_advert (void) |
Stops proxy server advertisement and network secure beacon if they are running. More... | |
void | wiced_bt_mesh_core_statistics_get (wiced_bt_mesh_core_statistics_t *p_data) |
Requests collected statistics for network layer. More... | |
void | wiced_bt_mesh_core_transport_statistics_get (wiced_bt_mesh_core_transport_statistics_t *p_data) |
Requests collected statistics for transport layer. More... | |
void | wiced_bt_mesh_core_statistics_reset (void) |
Resets statistics of the network layer. More... | |
void | wiced_bt_mesh_core_transport_statistics_reset (void) |
Resets statistics of the transport layers. More... | |
void | wiced_bt_mesh_core_execute_delayed_nvram_writes (void) |
wiced_bool_t | wiced_bt_mesh_core_get_network_id (uint16_t net_key_idx, uint8_t *network_id) |
Fills buffer net_id with 8 bytes Network ID for net_key_idx. More... | |
uint16_t | wiced_bt_mesh_core_crypt (wiced_bool_t encrypt, const uint8_t *p_in_data, uint16_t in_data_len, uint8_t *p_out_buf, uint16_t out_buf_len) |
Encrypt or decrypts and authenticates data. More... | |
wiced_bool_t | wiced_bt_mesh_set_raw_scan_response_data (uint8_t num_elem, wiced_bt_ble_advert_elem_t *p_data) |
Set scan response raw data. More... | |
void | wiced_bt_mesh_core_set_dev_key_callback (wiced_bt_mesh_core_get_dev_key_callback_t callback) |
Sets Device Key request callback. More... | |
uint16_t | wiced_bt_mesh_core_lpn_get_friend_addr (void) |
Gets friend address of the LPN. More... | |
void | wiced_bt_mesh_core_lpn_set_sleep_callback (wiced_bt_mesh_core_lpn_sleep_callback_t callback) |
Set callback function to receive LPN sleep event. More... | |
uint32_t | wiced_bt_mesh_core_lpn_set_poll_timeout (uint32_t timeout) |
Set a smaller poll timeout. More... | |
void | wiced_bt_mesh_core_lpn_restore_poll_timeout (uint32_t timeout) |
Restore original poll timeout. More... | |
void | wiced_bt_mesh_core_shutdown (void) |
Stops all advertisements and timers. More... | |
wiced_bool_t | wiced_bt_mesh_core_del_last_element (void) |
Deletes last element from NVRAM config. More... | |
wiced_bool_t | wiced_bt_mesh_core_needs_composition_refresh (void) |
Detects if Node Composition Refresh Procedure is needed. More... | |
void | wiced_bt_mesh_core_reset (void) |
Resets node to unprovisioned state without restarting. More... | |
const uint8_t * | wiced_bt_mesh_core_get_app_key (uint16_t appkey_global_idx, wiced_bool_t newKeyAtKeyRefresh) |
Returns pointer to the specific application key. More... | |
void | wiced_bt_mesh_core_set_test_events_report (uint16_t node_addr) |
Set test events report node address. More... | |
void | wiced_bt_mesh_core_set_beacon (uint8_t type, uint8_t onoff) |
Sets beacon state as a result of user interaction. More... | |
void | wiced_bt_mesh_core_set_trace_level (uint32_t fids_mask, uint8_t level) |
Sets trace level for modules of mesh_core_lib. More... | |
void | wiced_bt_mesh_core_set_adv_bdaddr (wiced_bt_device_address_t bda) |
void | wiced_bt_mesh_core_delay_statistics_get (wiced_bt_mesh_core_delay_statistics_t *p_data) |
Gets delay statistics. More... | |
void | wiced_bt_mesh_core_delay_statistics_reset (void) |
Resets delay statistics. More... | |
void | wiced_bt_mesh_set_inter_segment_delay (uint8_t delay_ms) |
Sets intersegment delay. More... | |
wiced_bool_t | wiced_bt_mesh_core_generate_kdk (uint8_t net_key_idx, uint8_t *p_kdk) |
Generate key derivation key. More... | |
Variables | |
uint8_t | wiced_bt_mesh_core_net_key_max_num |
uint8_t | wiced_bt_mesh_core_app_key_max_num |
uint8_t | wiced_bt_mesh_core_net_cache_size |
uint8_t | wiced_bt_mesh_core_proxy_out_flt_addr_max_num |
uint16_t | wiced_bt_mesh_core_nvm_idx_node_data |
uint16_t | wiced_bt_mesh_core_nvm_idx_virt_addr |
uint16_t | wiced_bt_mesh_core_nvm_idx_frnd_state |
uint16_t | wiced_bt_mesh_core_nvm_idx_net_key_begin |
uint16_t | wiced_bt_mesh_core_nvm_idx_app_key_begin |
uint16_t | wiced_bt_mesh_core_nvm_idx_health_state |
uint16_t | wiced_bt_mesh_core_nvm_idx_cfg_data |
uint16_t | wiced_bt_mesh_core_nvm_idx_fw_distributor |
uint16_t | wiced_bt_mesh_core_nvm_idx_df_config |
uint8_t | wiced_bt_mesh_core_adv_tx_power |
uint32_t | wiced_bt_mesh_core_write_config_delay |
wiced_bool_t | wiced_bt_core_short_trans_mic |
If the value of that variable is WICED_TRUE then the transport layer always use 32-bit TransMIC. More... | |
wiced_bool_t | wiced_bt_core_iv_update_test_mode |
WICED_TRUE value activates IV Update test mode - only removes the 96-hour limit; all other behavior of the device is unchanged. More... | |
wiced_bool_t | wiced_bt_core_boost_cpu_on_crypt_op |
On WICED_TRUE CPU is boost for cpypto operations Default value is WICED_TRUE. | |
uint16_t | wiced_bt_mesh_core_unprovisioned_beacon_interval |
Advertising interval of the unprovisioned beacon in units 0.5 sec. More... | |
uint16_t | wiced_bt_mesh_core_provisioning_srv_adv_interval |
Advertising interval in MS of the provisioning service in units 0.5 sec. More... | |
uint16_t | wiced_bt_mesh_core_provisioning_url_adv_interval |
Advertising interval in MS of the provisioning URL in units 0.5 sec. More... | |
uint16_t | wiced_bt_mesh_core_delay_relay_min |
Minimum and maximum delay in milliseconds of the message being relayed. More... | |
uint16_t | wiced_bt_mesh_core_delay_relay_max |
uint16_t | wiced_bt_mesh_core_delay_answer_unicast_min |
Minimum and maximum delay in milliseconds of the answer on the message with unicast DST. More... | |
uint16_t | wiced_bt_mesh_core_delay_answer_unicast_max |
uint16_t | wiced_bt_mesh_core_delay_answer_group_min |
Minimum and maximum delay in milliseconds of the answer on the message with group DST. More... | |
uint16_t | wiced_bt_mesh_core_delay_answer_group_max |
uint16_t | wiced_bt_core_lower_transport_ack_timeout_ms |
Lower Transport Layer ACK timeout. More... | |
uint16_t | wiced_bt_mesh_core_proxy_adv_interval |
Proxy service adv interval: * 0.625 ms. More... | |
uint16_t | mesh_core_report_events_node_addr |
Report core events from a node for test purpose. | |
uint8_t | wiced_bt_mesh_core_msg_tx_delay |
uint8_t | wiced_bt_mesh_core_msg_rx_delay |
>
Definitions for interface between Bluetooth Mesh Models and Mesh Core
void wiced_bt_mesh_core_delay_statistics_get | ( | wiced_bt_mesh_core_delay_statistics_t * | p_data | ) |
Gets delay statistics.
[out] | p_data | pointer where to copy delay statistics |
void wiced_bt_mesh_core_delay_statistics_reset | ( | void | ) |
Resets delay statistics.
None |
wiced_bool_t wiced_bt_mesh_core_generate_kdk | ( | uint8_t | net_key_idx, |
uint8_t * | p_kdk | ||
) |
Generate key derivation key.
[in] | net_key_idx | Global net key index |
[in] | p_kdk | Buffer for output key 16 bytes length - key derivation key |
void wiced_bt_mesh_set_inter_segment_delay | ( | uint8_t | delay_ms | ) |
Sets intersegment delay.
[in] | delay_ms | Intersegment delay in milliseconds |
uint8_t addr[2] |
unicast address to assign to provisioning node
Subscription address (LE)
uint8_t app_key_idx[2] |
Global Index of the Application Key (LE).
0xffff - device Key
uint8_t conn_id[4] |
connection id for provisioning.
Better to use some random value.
uint8_t ctl |
CTL field.
can be 0 or 1
uint8_t dst[2] |
Destination address (LE)
BigEndian 2 bytes destination address or 16 bytes label UUID of the virtual address.
uint8_t dst_len |
Length of the destination address.
It can be 2 or 16 for virtual address
uint8_t faults[1] |
faults array.
can be empty or contain up to 16 fault codes
uint16_t fragment_offset |
The starting offset of the requested fragment in the provisioning record data.
The starting offset of the data fragment in the provisioning record data.
uint8_t pdu[1] |
TransportPDU set to between 1 and 16 inclusive octets of data.
Access PDU.
AccessPDU set to between 1 and 380 inclusive octets of data.
uint16_t record_id |
Identifies the provisioning record for which the request is made.
Identifies the provisioning record whose data fragment is sent in the response.
uint8_t ttl |
TTL field.
can be between 0 and 0x7f