/* * SPDX-FileCopyrightText: 2017-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */#ifndef_ESP_BLE_MESH_DEFS_H_#define_ESP_BLE_MESH_DEFS_H_#include<stdint.h>#include"mesh/config.h"#include"mesh/common.h"#include"proxy_server.h"#include"pvnr_mgmt.h"5 includes#ifdef__cplusplusextern"C"{#endif/*!< The maximum length of a BLE Mesh message, including Opcode, Payload and TransMIC */#defineESP_BLE_MESH_SDU_MAX_LEN384/*!< Length of a short Mesh MIC. */#defineESP_BLE_MESH_MIC_SHORT4/*!< Length of a long Mesh MIC. */#defineESP_BLE_MESH_MIC_LONG8/*!< The maximum length of a BLE Mesh provisioned node name */#defineESP_BLE_MESH_NODE_NAME_MAX_LEN31/*!< The maximum length of a BLE Mesh unprovisioned device name */#defineESP_BLE_MESH_DEVICE_NAME_MAX_LENDEVICE_NAME_SIZE/*!< The maximum length of settings user id */#defineESP_BLE_MESH_SETTINGS_UID_SIZE20/*!< The default value of Random Update Interval Steps */#defineESP_BLE_MESH_RAND_UPDATE_INTERVAL_DEFAULT0x3C/*!< Invalid settings index */#defineESP_BLE_MESH_INVALID_SETTINGS_IDX0xFF/*!< Define the BLE Mesh octet 16 bytes size */#defineESP_BLE_MESH_OCTET16_LEN169 definestypedefuint8_tesp_ble_mesh_octet16_t[ESP_BLE_MESH_OCTET16_LEN];/*!< Define the BLE Mesh octet 8 bytes size */#defineESP_BLE_MESH_OCTET8_LEN8typedefuint8_tesp_ble_mesh_octet8_t[ESP_BLE_MESH_OCTET8_LEN];/*!< Invalid Company ID */#defineESP_BLE_MESH_CID_NVAL0xFFFF/*!< Special TTL value to request using configured default TTL */#defineESP_BLE_MESH_TTL_DEFAULT0xFF/*!< Maximum allowed TTL value */#defineESP_BLE_MESH_TTL_MAX0x7F#defineESP_BLE_MESH_ADDR_UNASSIGNED0x0000#defineESP_BLE_MESH_ADDR_ALL_NODES0xFFFF#defineESP_BLE_MESH_ADDR_PROXIES0xFFFC#defineESP_BLE_MESH_ADDR_FRIENDS0xFFFD#defineESP_BLE_MESH_ADDR_RELAYS0xFFFE#defineESP_BLE_MESH_KEY_UNUSED0xFFFF#defineESP_BLE_MESH_KEY_DEV0xFFFE#defineESP_BLE_MESH_KEY_PRIMARY0x0000#defineESP_BLE_MESH_KEY_ANY0xFFFF/*!< Internal macros used to initialize array members */#defineESP_BLE_MESH_KEY_UNUSED_ELT_(IDX,_)ESP_BLE_MESH_KEY_UNUSED#defineESP_BLE_MESH_ADDR_UNASSIGNED_ELT_(IDX,_)ESP_BLE_MESH_ADDR_UNASSIGNED#defineESP_BLE_MESH_MODEL_KEYS_UNUSED\{LISTIFY(CONFIG_BLE_MESH_MODEL_KEY_COUNT,ESP_BLE_MESH_KEY_UNUSED_ELT_,(,))}...#defineESP_BLE_MESH_MODEL_GROUPS_UNASSIGNED\{LISTIFY(CONFIG_BLE_MESH_MODEL_GROUP_COUNT,ESP_BLE_MESH_ADDR_UNASSIGNED_ELT_,(,))}.../*!< Primary Network Key index */#defineESP_BLE_MESH_NET_PRIMARY0x000/*!< Relay state value */#defineESP_BLE_MESH_RELAY_DISABLED0x00#defineESP_BLE_MESH_RELAY_ENABLED0x01#defineESP_BLE_MESH_RELAY_NOT_SUPPORTED0x02/*!< Beacon state value */#defineESP_BLE_MESH_BEACON_DISABLED0x00#defineESP_BLE_MESH_BEACON_ENABLED0x01#defineESP_BLE_MESH_PRIVATE_BEACON_DISABLE0x00#defineESP_BLE_MESH_PRIVATE_BEACON_ENABLE0x01/*!< GATT Proxy state value */#defineESP_BLE_MESH_GATT_PROXY_DISABLED0x00#defineESP_BLE_MESH_GATT_PROXY_ENABLED0x01#defineESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED0x02#defineESP_BLE_MESH_PRIVATE_GATT_PROXY_DISABLED0x00#defineESP_BLE_MESH_PRIVATE_GATT_PROXY_ENABLED0x01#defineESP_BLE_MESH_PRIVATE_GATT_PROXY_NOT_SUPPORTED0x02#defineESP_BLE_MESH_PRIVATE_NODE_IDENTITY_DISABLED0x00#defineESP_BLE_MESH_PRIVATE_NODE_IDENTITY_ENABLED0x01#defineESP_BLE_MESH_PRIVATE_NODE_IDENTITY_NOT_SUPPORTED0x02/*!< Friend state value */#defineESP_BLE_MESH_FRIEND_DISABLED0x00#defineESP_BLE_MESH_FRIEND_ENABLED0x01#defineESP_BLE_MESH_FRIEND_NOT_SUPPORTED0x02/*!< Node identity state value */#defineESP_BLE_MESH_NODE_IDENTITY_STOPPED0x00#defineESP_BLE_MESH_NODE_IDENTITY_RUNNING0x01#defineESP_BLE_MESH_NODE_IDENTITY_NOT_SUPPORTED0x02/*!< Subnet Bridge state value */#defineESP_BLE_MESH_SUBNET_BRIDGE_DISABLED0x00#defineESP_BLE_MESH_SUBNET_BRIDGE_ENABLED0x01/*!< Supported features */#defineESP_BLE_MESH_FEATURE_RELAYBIT(0)#defineESP_BLE_MESH_FEATURE_PROXYBIT(1)#defineESP_BLE_MESH_FEATURE_FRIENDBIT(2)#defineESP_BLE_MESH_FEATURE_LOW_POWERBIT(3)#defineESP_BLE_MESH_FEATURE_ALL_SUPPORTED(ESP_BLE_MESH_FEATURE_RELAY|\ESP_BLE_MESH_FEATURE_PROXY|\ESP_BLE_MESH_FEATURE_FRIEND|\ESP_BLE_MESH_FEATURE_LOW_POWER)...#defineESP_BLE_MESH_ADDR_IS_UNICAST(addr)((addr)&&(addr)<0x8000)#defineESP_BLE_MESH_ADDR_IS_GROUP(addr)((addr)>=0xC000&&(addr)<=0xFF00)#defineESP_BLE_MESH_ADDR_IS_VIRTUAL(addr)((addr)>=0x8000&&(addr)<0xC000)#defineESP_BLE_MESH_ADDR_IS_RFU(addr)((addr)>=0xFF00&&(addr)<=0xFFFB)#defineESP_BLE_MESH_INVALID_NODE_INDEX0xFFFF#defineESP_BLE_MESH_PROV_RECORD_MAX_ID0x0013/** @def ESP_BLE_MESH_TRANSMIT * * @brief Encode transmission count & interval steps. * * @note For example, ESP_BLE_MESH_TRANSMIT(2, 20) means that the message * will be sent about 90ms(count is 3, step is 1, interval is 30 ms * which includes 10ms of advertising interval random delay). * * @param count Number of retransmissions (first transmission is excluded). * @param int_ms Interval steps in milliseconds. Must be greater than 0 * and a multiple of 10. * * @return BLE Mesh transmit value that can be used e.g. for the default * values of the Configuration Model data. *//* ... */#defineESP_BLE_MESH_TRANSMIT(count,int_ms)((count)|(((int_ms/10)-1)<<3))/** @def ESP_BLE_MESH_GET_TRANSMIT_COUNT * * @brief Decode transmit count from a transmit value. * * @param transmit Encoded transmit count & interval value. * * @return Transmission count (actual transmissions equal to N + 1). *//* ... */#defineESP_BLE_MESH_GET_TRANSMIT_COUNT(transmit)(((transmit)&(uint8_t)BIT_MASK(3)))/** @def ESP_BLE_MESH_GET_TRANSMIT_INTERVAL * * @brief Decode transmit interval from a transmit value. * * @param transmit Encoded transmit count & interval value. * * @return Transmission interval in milliseconds. *//* ... */#defineESP_BLE_MESH_GET_TRANSMIT_INTERVAL(transmit)((((transmit)>>3)+1)*10)/** @def ESP_BLE_MESH_PUBLISH_TRANSMIT * * @brief Encode Publish Retransmit count & interval steps. * * @param count Number of retransmissions (first transmission is excluded). * @param int_ms Interval steps in milliseconds. Must be greater than 0 * and a multiple of 50. * * @return BLE Mesh transmit value that can be used e.g. for the default * values of the Configuration Model data. *//* ... */#defineESP_BLE_MESH_PUBLISH_TRANSMIT(count,int_ms)ESP_BLE_MESH_TRANSMIT(count,(int_ms)/5)/** @def ESP_BLE_MESH_GET_PUBLISH_TRANSMIT_COUNT * * @brief Decode Publish Retransmit count from a given value. * * @param transmit Encoded Publish Retransmit count & interval value. * * @return Retransmission count (actual transmissions equal to N + 1). *//* ... */#defineESP_BLE_MESH_GET_PUBLISH_TRANSMIT_COUNT(transmit)ESP_BLE_MESH_GET_TRANSMIT_COUNT(transmit)/** @def ESP_BLE_MESH_GET_PUBLISH_TRANSMIT_INTERVAL * * @brief Decode Publish Retransmit interval from a given value. * * @param transmit Encoded Publish Retransmit count & interval value. * * @return Transmission interval in milliseconds. *//* ... */#defineESP_BLE_MESH_GET_PUBLISH_TRANSMIT_INTERVAL(transmit)((((transmit)>>3)+1)*50)58 defines/*!< Callbacks which are not needed to be initialized by users (set with 0 and will be initialized internally) */typedefuint32_tesp_ble_mesh_cb_t;typedefenum{ESP_BLE_MESH_TYPE_PROV_CB,ESP_BLE_MESH_TYPE_OUTPUT_NUM_CB,ESP_BLE_MESH_TYPE_OUTPUT_STR_CB,ESP_BLE_MESH_TYPE_INTPUT_CB,ESP_BLE_MESH_TYPE_LINK_OPEN_CB,ESP_BLE_MESH_TYPE_LINK_CLOSE_CB,ESP_BLE_MESH_TYPE_COMPLETE_CB,ESP_BLE_MESH_TYPE_RESET_CB,}{ ... }esp_ble_mesh_cb_type_t;/*!< This enum value is provisioning authentication oob method */typedefenum{ESP_BLE_MESH_NO_OOB,ESP_BLE_MESH_STATIC_OOB,ESP_BLE_MESH_OUTPUT_OOB,ESP_BLE_MESH_INPUT_OOB,}{ ... }esp_ble_mesh_oob_method_t;/*!< This enum value is associated with bt_mesh_output_action_t in mesh_main.h */typedefenum{ESP_BLE_MESH_NO_OUTPUT=0,ESP_BLE_MESH_BLINK=BIT(0),ESP_BLE_MESH_BEEP=BIT(1),ESP_BLE_MESH_VIBRATE=BIT(2),ESP_BLE_MESH_DISPLAY_NUMBER=BIT(3),ESP_BLE_MESH_DISPLAY_STRING=BIT(4),}{ ... }esp_ble_mesh_output_action_t;/*!< This enum value is associated with bt_mesh_input_action_t in mesh_main.h */typedefenum{ESP_BLE_MESH_NO_INPUT=0,ESP_BLE_MESH_PUSH=BIT(0),ESP_BLE_MESH_TWIST=BIT(1),ESP_BLE_MESH_ENTER_NUMBER=BIT(2),ESP_BLE_MESH_ENTER_STRING=BIT(3),}{ ... }esp_ble_mesh_input_action_t;/*!< This enum value is associated with bt_mesh_prov_bearer_t in mesh_main.h */typedefenum{ESP_BLE_MESH_PROV_ADV=BIT(0),ESP_BLE_MESH_PROV_GATT=BIT(1),}{ ... }esp_ble_mesh_prov_bearer_t;/*!< This enum value is associated with bt_mesh_prov_oob_info_t in mesh_main.h */typedefenum{ESP_BLE_MESH_PROV_OOB_OTHER=BIT(0),ESP_BLE_MESH_PROV_OOB_URI=BIT(1),ESP_BLE_MESH_PROV_OOB_2D_CODE=BIT(2),ESP_BLE_MESH_PROV_OOB_BAR_CODE=BIT(3),ESP_BLE_MESH_PROV_OOB_NFC=BIT(4),ESP_BLE_MESH_PROV_OOB_NUMBER=BIT(5),ESP_BLE_MESH_PROV_OOB_STRING=BIT(6),ESP_BLE_MESH_PROV_CERT_BASED=BIT(7),ESP_BLE_MESH_PROV_RECORDS=BIT(8),/* 9 - 10 are reserved */ESP_BLE_MESH_PROV_OOB_ON_BOX=BIT(11),ESP_BLE_MESH_PROV_OOB_IN_BOX=BIT(12),ESP_BLE_MESH_PROV_OOB_ON_PAPER=BIT(13),ESP_BLE_MESH_PROV_OOB_IN_MANUAL=BIT(14),ESP_BLE_MESH_PROV_OOB_ON_DEV=BIT(15),}{ ... }esp_ble_mesh_prov_oob_info_t;/*!< Maximum length of value used by Static OOB authentication */#defineESP_BLE_MESH_PROV_STATIC_OOB_MAX_LEN16/*!< Maximum length of string used by Output OOB authentication */#defineESP_BLE_MESH_PROV_OUTPUT_OOB_MAX_LEN8/*!< Maximum length of string used by Output OOB authentication */#defineESP_BLE_MESH_PROV_INPUT_OOB_MAX_LEN8/*!< Macros used to define message opcode */#defineESP_BLE_MESH_MODEL_OP_1(b0)(b0)#defineESP_BLE_MESH_MODEL_OP_2(b0,b1)(((b0)<<8)|(b1))#defineESP_BLE_MESH_MODEL_OP_3(b0,cid)((((b0)<<16)|0xC00000)|(cid))/*!< This macro is associated with BLE_MESH_MODEL_CB in mesh_access.h */#defineESP_BLE_MESH_SIG_MODEL(_id,_op,_pub,_user_data)\{\.model_id=(_id),\.pub=_pub,\.keys=ESP_BLE_MESH_MODEL_KEYS_UNUSED,\.groups=ESP_BLE_MESH_MODEL_GROUPS_UNASSIGNED,\.op=_op,\.user_data=_user_data,\}{...}.../*!< This macro is associated with BLE_MESH_MODEL_VND_CB in mesh_access.h */#defineESP_BLE_MESH_VENDOR_MODEL(_company,_id,_op,_pub,_user_data)\{\.vnd={\.company_id=(_company),\.model_id=(_id),\}{...},\.pub=_pub,\.keys=ESP_BLE_MESH_MODEL_KEYS_UNUSED,\.groups=ESP_BLE_MESH_MODEL_GROUPS_UNASSIGNED,\.op=_op,\.user_data=_user_data,\}{...}.../** @brief Helper to define a BLE Mesh element within an array. * * In case the element has no SIG or Vendor models, the helper * macro ESP_BLE_MESH_MODEL_NONE can be given instead. * * @note This macro is associated with BLE_MESH_ELEM in mesh_access.h * * @param _loc Location Descriptor. * @param _mods Array of SIG models. * @param _vnd_mods Array of vendor models. *//* ... */#defineESP_BLE_MESH_ELEMENT(_loc,_mods,_vnd_mods)\{\.location=(_loc),\.sig_model_count=ARRAY_SIZE(_mods),\.vnd_model_count=ARRAY_SIZE(_vnd_mods),\.sig_models=(_mods),\.vnd_models=(_vnd_mods),\}{...}...#defineESP_BLE_MESH_PROV(uuid,sta_val,sta_val_len,out_size,out_act,in_size,in_act){\.uuid=uuid,\.static_val=sta_val,\.static_val_len=sta_val_len,\.output_size=out_size,\.output_action=out_act,\.input_size=in_size,\.input_action=in_act,\}{...}10 definestypedefuint8_tUINT8__attribute__((deprecated));typedefuint16_tUINT16__attribute__((deprecated));typedefuint32_tUINT32__attribute__((deprecated));typedefuint64_tUINT64__attribute__((deprecated));#ifndefBT_OCTET32_LEN#defineBT_OCTET32_LEN32typedefUINT8BT_OCTET32[BT_OCTET32_LEN]__attribute__((deprecated));/* ... */#endif#ifndefBD_ADDR_LEN#defineBD_ADDR_LEN6typedefuint8_tBD_ADDR[BD_ADDR_LEN]__attribute__((deprecated));/* ... */#endiftypedefuint8_tesp_ble_mesh_bd_addr_t[BD_ADDR_LEN];#defineESP_BLE_MESH_ADDR_TYPE_PUBLIC0x00#defineESP_BLE_MESH_ADDR_TYPE_RANDOM0x01#defineESP_BLE_MESH_ADDR_TYPE_RPA_PUBLIC0x02#defineESP_BLE_MESH_ADDR_TYPE_RPA_RANDOM0x03/// BLE device address typetypedefuint8_tesp_ble_mesh_addr_type_t;#defineESP_BLE_MESH_DIRECTED_FORWARDING_DISABLED0x00#defineESP_BLE_MESH_DIRECTED_FORWARDING_ENABLED0x01#defineESP_BLE_MESH_DIRECTED_RELAY_DISABLED0x00#defineESP_BLE_MESH_DIRECTED_RELAY_ENABLED0x01#defineESP_BLE_MESH_DIRECTED_PROXY_IGNORE0xFF#defineESP_BLE_MESH_DIRECTED_PROXY_USE_DEFAULT_IGNORE0xFF#defineESP_BLE_MESH_DIRECTED_FRIEND_IGNORE0xFF#defineESP_BLE_MESH_DIRECTED_PROXY_DISABLED0x00#defineESP_BLE_MESH_DIRECTED_PROXY_ENABLED0x01#defineESP_BLE_MESH_DIRECTED_PROXY_NOT_SUPPORTED0x02#defineESP_BLE_MESH_DIRECTED_PROXY_USE_DEF_DISABLED0x00#defineESP_BLE_MESH_DIRECTED_PROXY_USE_DEF_ENABLED0x01#defineESP_BLE_MESH_DIRECTED_PROXY_USE_DEF_NOT_SUPPORTED0x02#defineESP_BLE_MESH_DIRECTED_FRIEND_DISABLED0x00#defineESP_BLE_MESH_DIRECTED_FRIEND_ENABLED0x01#defineESP_BLE_MESH_DIRECTED_FRIEND_NOT_SUPPORTED0x02#defineESP_BLE_MESH_DIRECTED_PUB_POLICY_FLOODING0x00#defineESP_BLE_MESH_DIRECTED_PUB_POLICY_FORWARD0x01#defineESP_BLE_MESH_PROXY_USE_DIRECTED_DISABLED0x00#defineESP_BLE_MESH_PROXY_USE_DIRECTED_ENABLED0x01#defineESP_BLE_MESH_FLOODING_CRED0x00/* Managed flooding security credentials */#defineESP_BLE_MESH_FRIENDSHIP_CRED0x01/* Friendship security credentials */#defineESP_BLE_MESH_DIRECTED_CRED0x02/* Directed security credentials */#defineESP_BLE_MESH_TAG_SEND_SEGMENTEDBIT(0)/* Tagged with send-segmented */#defineESP_BLE_MESH_TAG_IMMUTABLE_CREDBIT(1)/* Tagged with immutable-credentials */#defineESP_BLE_MESH_TAG_USE_DIRECTEDBIT(2)/* Tagged with use-directed */#defineESP_BLE_MESH_TAG_RELAYBIT(3)/* Tagged as relay */#defineESP_BLE_MESH_TAG_FRIENDSHIPBIT(4)/* Tagged as a friendship PDU */#defineESP_BLE_MESH_SEG_SZMIC_SHORT0/* Using 4-octets TransMIC for a segmented message */#defineESP_BLE_MESH_SEG_SZMIC_LONG1/* Using 8-octets TransMIC for a segmented message */30 defines/** BLE Mesh deinit parameters */typedefstruct{boolerase_flash;/*!< Indicate if erasing flash when deinit mesh stack */}{ ... }esp_ble_mesh_deinit_param_t;/** Format of Unicast Address Range */typedefstruct{uint16_tlen_present:1,/*!< Indicate the presence or absence of the RangeLength field */range_start:15;/*!< 15 least significant bits of the starting unicast address */uint8_trange_length;/*!< Number of addresses in the range (0x02 - 0xFF) */}{ ... }esp_ble_mesh_uar_t;typedefstructesp_ble_mesh_modelesp_ble_mesh_model_t;/** Abstraction that describes a BLE Mesh Element. * This structure is associated with struct bt_mesh_elem in mesh_access.h *//* ... */typedefstruct{/** Element Address, assigned during provisioning. */uint16_telement_addr;/** Location Descriptor (GATT Bluetooth Namespace Descriptors) */constuint16_tlocation;constuint8_tsig_model_count;/*!< SIG Model count */constuint8_tvnd_model_count;/*!< Vendor Model count */esp_ble_mesh_model_t*sig_models;/*!< SIG Models */esp_ble_mesh_model_t*vnd_models;/*!< Vendor Models */}{ ... }esp_ble_mesh_elem_t;/** Abstraction that describes a model publication context. * This structure is associated with struct bt_mesh_model_pub in mesh_access.h *//* ... */typedefstruct{/** Pointer to the model to which the context belongs. Initialized by the stack. */esp_ble_mesh_model_t*model;uint16_tpublish_addr;/*!< Publish Address. */uint16_tapp_idx:12,/*!< Publish AppKey Index. */cred:1,/*!< Friendship Credentials Flag. */send_rel:1,/*!< Force reliable sending (segment acks) */send_szmic:1;/*!< Size of TransMIC when publishing a Segmented Access message */uint8_tttl;/*!< Publish Time to Live. */uint8_tretransmit;/*!< Retransmit Count & Interval Steps. */uint8_tperiod;/*!< Publish Period. */uint8_tperiod_div:4,/*!< Divisor for the Period. */fast_period:1,/*!< Use FastPeriodDivisor */count:3;/*!< Retransmissions left. */uint32_tperiod_start;/*!< Start of the current period. */#ifCONFIG_BLE_MESH_DF_SRVuint8_tdirected_pub_policy;/*!< Directed publish policy */#endif/** @brief Publication buffer, containing the publication message. * * This will get correctly created when the publication context * has been defined using the ESP_BLE_MESH_MODEL_PUB_DEFINE macro. * * ESP_BLE_MESH_MODEL_PUB_DEFINE(name, size); *//* ... */structnet_buf_simple*msg;/** Callback used to update publish message. Initialized by the stack. */esp_ble_mesh_cb_tupdate;/** Publish Period Timer. Initialized by the stack. */structk_delayed_worktimer;/** Role of the device that is going to publish messages */uint8_tdev_role__attribute__((deprecated));}{ ... }esp_ble_mesh_model_pub_t;/** @def ESP_BLE_MESH_MODEL_PUB_DEFINE * * Define a model publication context. * * @param _name Variable name given to the context. * @param _msg_len Length of the publication message. * @param _role Role of the device which contains the model. *//* ... */#defineESP_BLE_MESH_MODEL_PUB_DEFINE(_name,_msg_len,_role)\NET_BUF_SIMPLE_DEFINE_STATIC(bt_mesh_pub_msg_##_name,_msg_len);\staticesp_ble_mesh_model_pub_t_name={\.msg=&bt_mesh_pub_msg_##_name,\.update=(uint32_t)NULL,\.dev_role=_role,\}{...}.../** @def ESP_BLE_MESH_MODEL_OP * * Define a model operation context. * * @param _opcode Message opcode. * @param _min_len Message minimum length. *//* ... */#defineESP_BLE_MESH_MODEL_OP(_opcode,_min_len)\{\.opcode=_opcode,\.min_len=_min_len,\.param_cb=(uint32_t)NULL,\}{...}.../** Abstraction that describes a model operation context. * This structure is associated with struct bt_mesh_model_op in mesh_access.h *//* ... */typedefstruct{constuint32_topcode;/*!< Message opcode */constsize_tmin_len;/*!< Message minimum length */esp_ble_mesh_cb_tparam_cb;/*!< Callback used to handle message. Initialized by the stack. */}{ ... }esp_ble_mesh_model_op_t;/** Define the terminator for the model operation table. * Each model operation struct array must use this terminator as * the end tag of the operation unit. *//* ... */#defineESP_BLE_MESH_MODEL_OP_END{0,0,0}/** Abstraction that describes a model callback structure. * This structure is associated with struct bt_mesh_model_cb in mesh_access.h. *//* ... */typedefstruct{/** Callback used during model initialization. Initialized by the stack. */esp_ble_mesh_cb_tinit_cb;#ifCONFIG_BLE_MESH_DEINIT/** Callback used during model deinitialization. Initialized by the stack. */esp_ble_mesh_cb_tdeinit_cb;/* ... */#endif/* CONFIG_BLE_MESH_DEINIT */}{ ... }esp_ble_mesh_model_cbs_t;/** Abstraction that describes a Mesh Model instance. * This structure is associated with struct bt_mesh_model in mesh_access.h *//* ... */structesp_ble_mesh_model{/** Model ID */union{constuint16_tmodel_id;/*!< 16-bit model identifier */struct{uint16_tcompany_id;/*!< 16-bit company identifier */uint16_tmodel_id;/*!< 16-bit model identifier */}{ ... }vnd;/*!< Structure encapsulating a model ID with a company ID */}{ ... };/** Internal information, mainly for persistent storage */uint8_telement_idx;/*!< Belongs to Nth element */uint8_tmodel_idx;/*!< Is the Nth model in the element */uint16_tflags;/*!< Information about what has changed *//** The Element to which this Model belongs */esp_ble_mesh_elem_t*element;/** Model Publication */esp_ble_mesh_model_pub_t*constpub;/** AppKey List */uint16_tkeys[CONFIG_BLE_MESH_MODEL_KEY_COUNT];/** Subscription List (group or virtual addresses) */uint16_tgroups[CONFIG_BLE_MESH_MODEL_GROUP_COUNT];/** Model operation context */esp_ble_mesh_model_op_t*op;/** Model callback structure */esp_ble_mesh_model_cbs_t*cb;/** Model-specific user data */void*user_data;}{ ... };/** Helper to define an empty model array. * This structure is associated with BLE_MESH_MODEL_NONE in mesh_access.h *//* ... */#defineESP_BLE_MESH_MODEL_NONE((esp_ble_mesh_model_t[]){})/** Message sending context. * This structure is associated with struct bt_mesh_msg_ctx in mesh_access.h *//* ... */typedefstruct{/** NetKey Index of the subnet through which to send the message. */uint16_tnet_idx;/** AppKey Index for message encryption. */uint16_tapp_idx;/** Remote address. */uint16_taddr;/** Destination address of a received message. Not used for sending. */uint16_trecv_dst;/** RSSI of a received message. Not used for sending. */int8_trecv_rssi;/** Opcode of a received message. Not used for sending. */uint32_trecv_op;/** Received TTL value. Not used for sending. */uint8_trecv_ttl;/** Security credentials of a received message. Not used for sending. */uint8_trecv_cred;/** Tag of a received message. Not used for sending. */uint8_trecv_tag;/** Force sending reliably by using segment acknowledgement. */uint8_tsend_rel:1__attribute__((deprecated));/** Size of TransMIC when sending a Segmented Access message. */uint8_tsend_szmic:1;/** TTL, or ESP_BLE_MESH_TTL_DEFAULT for default TTL. */uint8_tsend_ttl;/** Security credentials used for sending the message */uint8_tsend_cred;/** Tag used for sending the message. */uint8_tsend_tag;/** Model corresponding to the message, no need to be initialized before sending message */esp_ble_mesh_model_t*model__attribute__((deprecated));/** Indicate if the message is sent by a node server model, no need to be initialized before sending message */boolsrv_send__attribute__((deprecated));}{ ... }esp_ble_mesh_msg_ctx_t;/** Provisioning properties & capabilities. * This structure is associated with struct bt_mesh_prov in mesh_access.h *//* ... */typedefstruct{#ifCONFIG_BLE_MESH_NODE/** The UUID that is used when advertising as an unprovisioned device */constuint8_t*uuid;/** Optional URI. This will be advertised separately from the * unprovisioned beacon, however the unprovisioned beacon will * contain a hash of it so the two can be associated by the * provisioner. *//* ... */constchar*uri;/** Out of Band information field. */esp_ble_mesh_prov_oob_info_toob_info;/* NOTE: In order to avoid suffering brute-forcing attack (CVE-2020-26559). * The Bluetooth SIG recommends that potentially vulnerable mesh provisioners * support an out-of-band mechanism to exchange the public keys. * So as an unprovisioned device, it should enable this flag to support * using an out-of-band mechanism to exchange Public Key. *//* ... *//** Flag indicates whether unprovisioned devices support OOB public key */booloob_pub_key;/** Callback used to notify to set OOB Public Key. Initialized by the stack. */esp_ble_mesh_cb_toob_pub_key_cb;/** OOB type */uint8_toob_type;/** Static OOB value */constuint8_t*static_val;/** Static OOB value length */uint8_tstatic_val_len;/** Maximum size of Output OOB supported */uint8_toutput_size;/** Supported Output OOB Actions */uint16_toutput_actions;/** Maximum size of Input OOB supported */uint8_tinput_size;/** Supported Input OOB Actions */uint16_tinput_actions;/** Callback used to output the number. Initialized by the stack. */esp_ble_mesh_cb_toutput_num_cb;/** Callback used to output the string. Initialized by the stack. */esp_ble_mesh_cb_toutput_str_cb;/** Callback used to notify to input number/string. Initialized by the stack. */esp_ble_mesh_cb_tinput_cb;/** Callback used to indicate that link is opened. Initialized by the stack. */esp_ble_mesh_cb_tlink_open_cb;/** Callback used to indicate that link is closed. Initialized by the stack. */esp_ble_mesh_cb_tlink_close_cb;/** Callback used to indicate that provisioning is completed. Initialized by the stack. */esp_ble_mesh_cb_tcomplete_cb;/** Callback used to indicate that node has been reset. Initialized by the stack. */esp_ble_mesh_cb_treset_cb;/* ... */#endif/* CONFIG_BLE_MESH_NODE */#ifdefCONFIG_BLE_MESH_PROVISIONER/** Provisioner device UUID */constuint8_t*prov_uuid;/** Primary element address of the provisioner */constuint16_tprov_unicast_addr;/** Pre-incremental unicast address value to be assigned to the first device */uint16_tprov_start_address;/** Attention timer contained in Provisioning Invite PDU */uint8_tprov_attention;/** Provisioning Algorithm for the Provisioner */uint8_tprov_algorithm;/* NOTE: In order to avoid suffering brute-forcing attack (CVE-2020-26559). * The Bluetooth SIG recommends that potentially vulnerable mesh provisioners * use an out-of-band mechanism to exchange the public keys. *//* ... *//** Provisioner public key oob */uint8_tprov_pub_key_oob;/** Callback used to notify to set device OOB Public Key. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_prov_read_oob_pub_key;/* NOTE: The Bluetooth SIG recommends that mesh implementations enforce a randomly * selected AuthValue using all of the available bits, where permitted by the * implementation. A large entropy helps ensure that a brute-force of the AuthValue, * even a static AuthValue, cannot normally be completed in a reasonable time (CVE-2020-26557). * * AuthValues selected using a cryptographically secure random or pseudorandom number * generator and having the maximum permitted entropy (128-bits) will be most difficult * to brute-force. AuthValues with reduced entropy or generated in a predictable manner * will not grant the same level of protection against this vulnerability. Selecting a * new AuthValue with each provisioning attempt can also make it more difficult to launch * a brute-force attack by requiring the attacker to restart the search with each * provisioning attempt (CVE-2020-26556). *//* ... *//** Provisioner static oob value */uint8_t*prov_static_oob_val;/** Provisioner static oob value length */uint8_tprov_static_oob_len;/** Callback used to notify to input number/string. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_prov_input;/** Callback used to output number/string. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_prov_output;/** Key refresh and IV update flag */uint8_tflags;/** IV index */uint32_tiv_index;/** Callback used to indicate that link is opened. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_link_open;/** Callback used to indicate that link is closed. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_link_close;/** Callback used to indicate that a device is provisioned. Initialized by the stack. */esp_ble_mesh_cb_tprovisioner_prov_comp;/** Callback used to indicate that certificate based provisioning needs to start. Initialized by the stack. */esp_ble_mesh_cb_tcert_based_prov_start;/** Callback used to indicate that provisioner has received provisioning records list successfully. Initialized by the stack. */esp_ble_mesh_cb_trecords_list_get;/** Callback used to indicate that provisioner has received a complete provisioning record successfully. Initialized by the stack. */esp_ble_mesh_cb_tprov_record_recv_comp;/* ... */#endif/* CONFIG_BLE_MESH_PROVISIONER */}{ ... }esp_ble_mesh_prov_t;/** Node Composition data context. * This structure is associated with struct bt_mesh_comp in mesh_access.h *//* ... */typedefstruct{uint16_tcid;/*!< 16-bit SIG-assigned company identifier */uint16_tpid;/*!< 16-bit vendor-assigned product identifier */uint16_tvid;/*!< 16-bit vendor-assigned product version identifier */size_telement_count;/*!< Element count */esp_ble_mesh_elem_t*elements;/*!< A sequence of elements */}{ ... }esp_ble_mesh_comp_t;/*!< This enum value is the role of the device */typedefenum{ROLE_NODE=0,ROLE_PROVISIONER,ROLE_FAST_PROV,}{ ... }esp_ble_mesh_dev_role_t;/*!< Flag which will be set when device is going to be added. */typedefuint8_tesp_ble_mesh_dev_add_flag_t;#defineADD_DEV_RM_AFTER_PROV_FLAGBIT(0)/*!< Device will be removed from queue after provisioned successfully */#defineADD_DEV_START_PROV_NOW_FLAGBIT(1)/*!< Start provisioning device immediately */#defineADD_DEV_FLUSHABLE_DEV_FLAGBIT(2)/*!< Device can be remove when queue is full and new device is going to added *//** Information of the device which is going to be added for provisioning. */typedefstruct{esp_ble_mesh_bd_addr_taddr;/*!< Device address */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint8_tuuid[16];/*!< Device UUID */uint16_toob_info;/*!< Device OOB Info *//*!< ADD_DEV_START_PROV_NOW_FLAG shall not be set if the bearer has both PB-ADV and PB-GATT enabled */esp_ble_mesh_prov_bearer_tbearer;/*!< Provisioning Bearer */}{ ... }esp_ble_mesh_unprov_dev_add_t;#defineDEL_DEV_ADDR_FLAGBIT(0)#defineDEL_DEV_UUID_FLAGBIT(1)/** Information of the device which is going to be deleted. */typedefstruct{/** Union of Device information */union{/** Device address */struct{esp_ble_mesh_bd_addr_taddr;/*!< Device address */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */}{ ... };uint8_tuuid[16];/*!< Device UUID */}{ ... };uint8_tflag;/*!< BIT0: device address; BIT1: device UUID */}{ ... }esp_ble_mesh_device_delete_t;#definePROV_DATA_NET_IDX_FLAGBIT(0)#definePROV_DATA_FLAGS_FLAGBIT(1)#definePROV_DATA_IV_INDEX_FLAGBIT(2)/** Information of the provisioner which is going to be updated. */typedefstruct{/** Provisioning data */union{uint16_tnet_idx;/*!< NetKey Index */uint8_tflags;/*!< Flags */uint32_tiv_index;/*!< IV Index */}{ ... };uint8_tflag;/*!< BIT0: net_idx; BIT1: flags; BIT2: iv_index */}{ ... }esp_ble_mesh_prov_data_info_t;/** Information of the provisioned node */typedefstruct{/* Device information */esp_ble_mesh_bd_addr_taddr;/*!< Node device address */esp_ble_mesh_addr_type_taddr_type;/*!< Node device address type */uint8_tdev_uuid[16];/*!< Device UUID */uint16_toob_info;/*!< Node OOB information *//* Provisioning information */uint16_tunicast_addr;/*!< Node unicast address */uint8_telement_num;/*!< Node element number */uint16_tnet_idx;/*!< Node NetKey Index */uint8_tflags;/*!< Node key refresh flag and iv update flag */uint32_tiv_index;/*!< Node IV Index */uint8_tdev_key[16];/*!< Node device key *//* Additional information */charname[ESP_BLE_MESH_NODE_NAME_MAX_LEN+1];/*!< Node name */uint16_tcomp_length;/*!< Length of Composition Data */uint8_t*comp_data;/*!< Value of Composition Data */}{ ... }__attribute__((packed))esp_ble_mesh_node_t;/** Context of fast provisioning which need to be set. */typedefstruct{uint16_tunicast_min;/*!< Minimum unicast address used for fast provisioning */uint16_tunicast_max;/*!< Maximum unicast address used for fast provisioning */uint16_tnet_idx;/*!< Netkey index used for fast provisioning */uint8_tflags;/*!< Flags used for fast provisioning */uint32_tiv_index;/*!< IV Index used for fast provisioning */uint8_toffset;/*!< Offset of the UUID to be compared */uint8_tmatch_len;/*!< Length of the UUID to be compared */uint8_tmatch_val[16];/*!< Value of UUID to be compared */}{ ... }esp_ble_mesh_fast_prov_info_t;/*!< This enum value is the action of fast provisioning */typedefenum{FAST_PROV_ACT_NONE,FAST_PROV_ACT_ENTER,FAST_PROV_ACT_SUSPEND,FAST_PROV_ACT_EXIT,FAST_PROV_ACT_MAX,}{ ... }esp_ble_mesh_fast_prov_action_t;/*!< This enum value is the type of proxy filter */typedefenum{PROXY_FILTER_WHITELIST,PROXY_FILTER_BLACKLIST,}{ ... }esp_ble_mesh_proxy_filter_type_t;/*!< Provisioner heartbeat filter type */#defineESP_BLE_MESH_HEARTBEAT_FILTER_ACCEPTLIST0x00#defineESP_BLE_MESH_HEARTBEAT_FILTER_REJECTLIST0x01/*!< Provisioner heartbeat filter operation */#defineESP_BLE_MESH_HEARTBEAT_FILTER_ADD0x00#defineESP_BLE_MESH_HEARTBEAT_FILTER_REMOVE0x01/** Context of Provisioner heartbeat filter information to be set */typedefstruct{uint16_thb_src;/*!< Heartbeat source address (unicast address) */uint16_thb_dst;/*!< Heartbeat destination address (unicast address or group address) */}{ ... }esp_ble_mesh_heartbeat_filter_info_t;/*!< This enum value is the event of node/provisioner/fast provisioning */typedefenum{ESP_BLE_MESH_PROV_REGISTER_COMP_EVT,/*!< Initialize BLE Mesh provisioning capabilities and internal data information completion event */ESP_BLE_MESH_NODE_SET_UNPROV_DEV_NAME_COMP_EVT,/*!< Set the unprovisioned device name completion event */ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT,/*!< Enable node provisioning functionality completion event */ESP_BLE_MESH_NODE_PROV_DISABLE_COMP_EVT,/*!< Disable node provisioning functionality completion event */ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT,/*!< Establish a BLE Mesh link event */ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT,/*!< Close a BLE Mesh link event */ESP_BLE_MESH_NODE_PROV_OOB_PUB_KEY_EVT,/*!< Generate Node input OOB public key event */ESP_BLE_MESH_NODE_PROV_OUTPUT_NUMBER_EVT,/*!< Generate Node Output Number event */ESP_BLE_MESH_NODE_PROV_OUTPUT_STRING_EVT,/*!< Generate Node Output String event */ESP_BLE_MESH_NODE_PROV_INPUT_EVT,/*!< Event requiring the user to input a number or string */ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT,/*!< Provisioning done event */ESP_BLE_MESH_NODE_PROV_RESET_EVT,/*!< Provisioning reset event */ESP_BLE_MESH_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT,/*!< Node set oob public key completion event */ESP_BLE_MESH_NODE_PROV_INPUT_NUMBER_COMP_EVT,/*!< Node input number completion event */ESP_BLE_MESH_NODE_PROV_INPUT_STRING_COMP_EVT,/*!< Node input string completion event */ESP_BLE_MESH_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT,/*!< Enable BLE Mesh Proxy Identity advertising completion event */ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT,/*!< Enable BLE Mesh Private Proxy Identity advertising completion event */ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT,/*!< Disable BLE Mesh Private Proxy Identity advertising completion event */ESP_BLE_MESH_NODE_PROXY_GATT_ENABLE_COMP_EVT,/*!< Enable BLE Mesh GATT Proxy Service completion event */ESP_BLE_MESH_NODE_PROXY_GATT_DISABLE_COMP_EVT,/*!< Disable BLE Mesh GATT Proxy Service completion event */ESP_BLE_MESH_NODE_ADD_LOCAL_NET_KEY_COMP_EVT,/*!< Node add NetKey locally completion event */ESP_BLE_MESH_NODE_ADD_LOCAL_APP_KEY_COMP_EVT,/*!< Node add AppKey locally completion event */ESP_BLE_MESH_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT,/*!< Node bind AppKey to model locally completion event */ESP_BLE_MESH_PROVISIONER_PROV_ENABLE_COMP_EVT,/*!< Provisioner enable provisioning functionality completion event */ESP_BLE_MESH_PROVISIONER_PROV_DISABLE_COMP_EVT,/*!< Provisioner disable provisioning functionality completion event */ESP_BLE_MESH_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT,/*!< Provisioner receives unprovisioned device beacon event */ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT,/*!< Provisioner read unprovisioned device OOB public key event */ESP_BLE_MESH_PROVISIONER_PROV_INPUT_EVT,/*!< Provisioner input value for provisioning procedure event */ESP_BLE_MESH_PROVISIONER_PROV_OUTPUT_EVT,/*!< Provisioner output value for provisioning procedure event */ESP_BLE_MESH_PROVISIONER_PROV_LINK_OPEN_EVT,/*!< Provisioner establish a BLE Mesh link event */ESP_BLE_MESH_PROVISIONER_PROV_LINK_CLOSE_EVT,/*!< Provisioner close a BLE Mesh link event */ESP_BLE_MESH_PROVISIONER_PROV_COMPLETE_EVT,/*!< Provisioner provisioning done event */ESP_BLE_MESH_PROVISIONER_CERT_BASED_PROV_START_EVT,/*!< Provisioner initiate a certificate based provisioning */ESP_BLE_MESH_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT,/*!< Provisioner receive provisioning records list event */ESP_BLE_MESH_PROVISIONER_PROV_RECORD_RECV_COMP_EVT,/*!< Provisioner receive provisioning record complete event */ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORDS_GET_EVT,/*!< Provisioner send provisioning records get to device event */ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT,/*!< Provisioner send provisioning record request to device event */ESP_BLE_MESH_PROVISIONER_SEND_PROV_INVITE_EVT,/*!< Provisioner send provisioning invite to device event */ESP_BLE_MESH_PROVISIONER_SEND_LINK_CLOSE_EVT,/*!< Provisioner send link close to device event */ESP_BLE_MESH_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT,/*!< Provisioner add a device to the list which contains devices that are waiting/going to be provisioned completion event */ESP_BLE_MESH_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT,/*!< Provisioner start to provision an unprovisioned device completion event */ESP_BLE_MESH_PROVISIONER_DELETE_DEV_COMP_EVT,/*!< Provisioner delete a device from the list, close provisioning link with the device completion event */ESP_BLE_MESH_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT,/*!< Provisioner set the value to be compared with part of the unprovisioned device UUID completion event */ESP_BLE_MESH_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT,/*!< Provisioner set net_idx/flags/iv_index used for provisioning completion event */ESP_BLE_MESH_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT,/*!< Provisioner set static oob value used for provisioning completion event */ESP_BLE_MESH_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT,/*!< Provisioner set unicast address of primary element completion event */ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT,/*!< Provisioner read unprovisioned device OOB public key completion event */ESP_BLE_MESH_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT,/*!< Provisioner input number completion event */ESP_BLE_MESH_PROVISIONER_PROV_INPUT_STRING_COMP_EVT,/*!< Provisioner input string completion event */ESP_BLE_MESH_PROVISIONER_SET_NODE_NAME_COMP_EVT,/*!< Provisioner set node name completion event */ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT,/*!< Provisioner add local app key completion event */ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT,/*!< Provisioner update local app key completion event */ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT,/*!< Provisioner bind local model with local app key completion event */ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT,/*!< Provisioner add local network key completion event */ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT,/*!< Provisioner update local network key completion event */ESP_BLE_MESH_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT,/*!< Provisioner store node composition data completion event */ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT,/*!< Provisioner delete node with uuid completion event */ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT,/*!< Provisioner delete node with unicast address completion event */ESP_BLE_MESH_PROVISIONER_ENABLE_HEARTBEAT_RECV_COMP_EVT,/*!< Provisioner start to receive heartbeat message completion event */ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_TYPE_COMP_EVT,/*!< Provisioner set the heartbeat filter type completion event */ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_INFO_COMP_EVT,/*!< Provisioner set the heartbeat filter information completion event */ESP_BLE_MESH_PROVISIONER_RECV_HEARTBEAT_MESSAGE_EVT,/*!< Provisioner receive heartbeat message event */ESP_BLE_MESH_PROVISIONER_DIRECT_ERASE_SETTINGS_COMP_EVT,/*!< Provisioner directly erase settings completion event */ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_INDEX_COMP_EVT,/*!< Provisioner open settings with index completion event */ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_UID_COMP_EVT,/*!< Provisioner open settings with user id completion event */ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_INDEX_COMP_EVT,/*!< Provisioner close settings with index completion event */ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_UID_COMP_EVT,/*!< Provisioner close settings with user id completion event */ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_INDEX_COMP_EVT,/*!< Provisioner delete settings with index completion event */ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_UID_COMP_EVT,/*!< Provisioner delete settings with user id completion event */ESP_BLE_MESH_SET_FAST_PROV_INFO_COMP_EVT,/*!< Set fast provisioning information (e.g. unicast address range, net_idx, etc.) completion event */ESP_BLE_MESH_SET_FAST_PROV_ACTION_COMP_EVT,/*!< Set fast provisioning action completion event */ESP_BLE_MESH_HEARTBEAT_MESSAGE_RECV_EVT,/*!< Receive Heartbeat message event */ESP_BLE_MESH_LPN_ENABLE_COMP_EVT,/*!< Enable Low Power Node completion event */ESP_BLE_MESH_LPN_DISABLE_COMP_EVT,/*!< Disable Low Power Node completion event */ESP_BLE_MESH_LPN_POLL_COMP_EVT,/*!< Low Power Node send Friend Poll completion event */ESP_BLE_MESH_LPN_FRIENDSHIP_ESTABLISH_EVT,/*!< Low Power Node establishes friendship event */ESP_BLE_MESH_LPN_FRIENDSHIP_TERMINATE_EVT,/*!< Low Power Node terminates friendship event */ESP_BLE_MESH_FRIEND_FRIENDSHIP_ESTABLISH_EVT,/*!< Friend Node establishes friendship event */ESP_BLE_MESH_FRIEND_FRIENDSHIP_TERMINATE_EVT,/*!< Friend Node terminates friendship event */ESP_BLE_MESH_PROXY_CLIENT_RECV_ADV_PKT_EVT,/*!< Proxy Client receives Network ID advertising packet event */ESP_BLE_MESH_PROXY_CLIENT_CONNECTED_EVT,/*!< Proxy Client establishes connection successfully event */ESP_BLE_MESH_PROXY_CLIENT_DISCONNECTED_EVT,/*!< Proxy Client terminates connection successfully event */ESP_BLE_MESH_PROXY_CLIENT_RECV_FILTER_STATUS_EVT,/*!< Proxy Client receives Proxy Filter Status event */ESP_BLE_MESH_PROXY_CLIENT_CONNECT_COMP_EVT,/*!< Proxy Client connect completion event */ESP_BLE_MESH_PROXY_CLIENT_DISCONNECT_COMP_EVT,/*!< Proxy Client disconnect completion event */ESP_BLE_MESH_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT,/*!< Proxy Client set filter type completion event */ESP_BLE_MESH_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT,/*!< Proxy Client add filter address completion event */ESP_BLE_MESH_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT,/*!< Proxy Client remove filter address completion event */ESP_BLE_MESH_PROXY_CLIENT_DIRECTED_PROXY_SET_COMP_EVT,/*!< Proxy Client directed proxy set completion event */ESP_BLE_MESH_PROXY_SERVER_CONNECTED_EVT,/*!< Proxy Server establishes connection successfully event */ESP_BLE_MESH_PROXY_SERVER_DISCONNECTED_EVT,/*!< Proxy Server terminates connection successfully event */ESP_BLE_MESH_PROXY_CLIENT_SEND_SOLIC_PDU_COMP_EVT,/*!< Proxy Client send Solicitation PDU completion event */ESP_BLE_MESH_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT,/*!< Local model subscribes group address completion event */ESP_BLE_MESH_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT,/*!< Local model unsubscribes group address completion event */ESP_BLE_MESH_DEINIT_MESH_COMP_EVT,/*!< De-initialize BLE Mesh stack completion event */ESP_BLE_MESH_PROV_EVT_MAX,}{ ... }esp_ble_mesh_prov_cb_event_t;/** * @brief BLE Mesh Node/Provisioner callback parameters union *//* ... */typedefunion{/** * @brief ESP_BLE_MESH_PROV_REGISTER_COMP_EVT *//* ... */structble_mesh_prov_register_comp_param{interr_code;/*!< Indicate the result of BLE Mesh initialization */}{ ... }prov_register_comp;/*!< Event parameter of ESP_BLE_MESH_PROV_REGISTER_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_SET_UNPROV_DEV_NAME_COMP_EVT *//* ... */structble_mesh_set_unprov_dev_name_comp_param{interr_code;/*!< Indicate the result of setting BLE Mesh device name */}{ ... }node_set_unprov_dev_name_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_SET_UNPROV_DEV_NAME_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT *//* ... */structble_mesh_prov_enable_comp_param{interr_code;/*!< Indicate the result of enabling BLE Mesh device */}{ ... }node_prov_enable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_DISABLE_COMP_EVT *//* ... */structble_mesh_prov_disable_comp_param{interr_code;/*!< Indicate the result of disabling BLE Mesh device */}{ ... }node_prov_disable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_DISABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT *//* ... */structble_mesh_link_open_evt_param{esp_ble_mesh_prov_bearer_tbearer;/*!< Type of the bearer used when device link is open */}{ ... }node_prov_link_open;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT *//* ... */structble_mesh_link_close_evt_param{esp_ble_mesh_prov_bearer_tbearer;/*!< Type of the bearer used when device link is closed */uint8_treason;/*!< Reason of the closed provisioning link */}{ ... }node_prov_link_close;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_OUTPUT_NUMBER_EVT *//* ... */structble_mesh_output_num_evt_param{esp_ble_mesh_output_action_taction;/*!< Action of Output OOB Authentication */uint32_tnumber;/*!< Number of Output OOB Authentication */}{ ... }node_prov_output_num;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_OUTPUT_NUMBER_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_OUTPUT_STRING_EVT *//* ... */structble_mesh_output_str_evt_param{charstring[8];/*!< String of Output OOB Authentication */}{ ... }node_prov_output_str;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_OUTPUT_STRING_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_INPUT_EVT *//* ... */structble_mesh_input_evt_param{esp_ble_mesh_input_action_taction;/*!< Action of Input OOB Authentication */uint8_tsize;/*!< Size of Input OOB Authentication */}{ ... }node_prov_input;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_INPUT_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT *//* ... */structble_mesh_provision_complete_evt_param{uint16_tnet_idx;/*!< NetKey Index */uint8_tnet_key[16];/*!< NetKey */uint16_taddr;/*!< Primary address */uint8_tflags;/*!< Flags */uint32_tiv_index;/*!< IV Index */}{ ... }node_prov_complete;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_RESET_EVT *//* ... */structble_mesh_provision_reset_param{}{ ... }node_prov_reset;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_RESET_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT *//* ... */structble_mesh_set_oob_pub_key_comp_param{interr_code;/*!< Indicate the result of setting OOB Public Key */}{ ... }node_prov_set_oob_pub_key_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_SET_OOB_PUB_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_INPUT_NUM_COMP_EVT *//* ... */structble_mesh_input_number_comp_param{interr_code;/*!< Indicate the result of inputting number */}{ ... }node_prov_input_num_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_INPUT_NUM_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROV_INPUT_STR_COMP_EVT *//* ... */structble_mesh_input_string_comp_param{interr_code;/*!< Indicate the result of inputting string */}{ ... }node_prov_input_str_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROV_INPUT_STR_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT *//* ... */structble_mesh_proxy_identity_enable_comp_param{interr_code;/*!< Indicate the result of enabling Mesh Proxy advertising */}{ ... }node_proxy_identity_enable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROXY_IDENTITY_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROXY_GATT_ENABLE_COMP_EVT *//* ... */structble_mesh_proxy_gatt_enable_comp_param{interr_code;/*!< Indicate the result of enabling Mesh Proxy Service */}{ ... }node_proxy_gatt_enable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROXY_GATT_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PROXY_GATT_DISABLE_COMP_EVT *//* ... */structble_mesh_proxy_gatt_disable_comp_param{interr_code;/*!< Indicate the result of disabling Mesh Proxy Service */}{ ... }node_proxy_gatt_disable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PROXY_GATT_DISABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT *//* ... */structble_mesh_proxy_private_identity_enable_comp_param{interr_code;/*!< Indicate the result of enabling Mesh Proxy private advertising */}{ ... }node_private_proxy_identity_enable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT *//* ... */structble_mesh_proxy_private_identity_disable_comp_param{interr_code;/*!< Indicate the result of disabling Mesh Proxy private advertising */}{ ... }node_private_proxy_identity_disable_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_PRIVATE_PROXY_IDENTITY_DISABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_ADD_LOCAL_NET_KEY_COMP_EVT *//* ... */structble_mesh_node_add_local_net_key_comp_param{interr_code;/*!< Indicate the result of adding local NetKey by the node */uint16_tnet_idx;/*!< NetKey Index */}{ ... }node_add_net_key_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_ADD_LOCAL_NET_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_ADD_LOCAL_APP_KEY_COMP_EVT *//* ... */structble_mesh_node_add_local_app_key_comp_param{interr_code;/*!< Indicate the result of adding local AppKey by the node */uint16_tnet_idx;/*!< NetKey Index */uint16_tapp_idx;/*!< AppKey Index */}{ ... }node_add_app_key_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_ADD_LOCAL_APP_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT *//* ... */structble_mesh_node_bind_local_mod_app_comp_param{interr_code;/*!< Indicate the result of binding AppKey with model by the node */uint16_telement_addr;/*!< Element address */uint16_tapp_idx;/*!< AppKey Index */uint16_tcompany_id;/*!< Company ID */uint16_tmodel_id;/*!< Model ID */}{ ... }node_bind_app_key_to_model_comp;/*!< Event parameter of ESP_BLE_MESH_NODE_BIND_APP_KEY_TO_MODEL_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT *//* ... */structble_mesh_provisioner_recv_unprov_adv_pkt_param{uint8_tdev_uuid[16];/*!< Device UUID of the unprovisioned device */esp_ble_mesh_bd_addr_taddr;/*!< Device address of the unprovisioned device */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint16_toob_info;/*!< OOB Info of the unprovisioned device */uint8_tadv_type;/*!< Advertising type of the unprovisioned device */esp_ble_mesh_prov_bearer_tbearer;/*!< Bearer of the unprovisioned device */int8_trssi;/*!< RSSI of the received advertising packet */}{ ... }provisioner_recv_unprov_adv_pkt;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_ENABLE_COMP_EVT *//* ... */structble_mesh_provisioner_prov_enable_comp_param{interr_code;/*!< Indicate the result of enabling BLE Mesh Provisioner */}{ ... }provisioner_prov_enable_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_DISABLE_COMP_EVT *//* ... */structble_mesh_provisioner_prov_disable_comp_param{interr_code;/*!< Indicate the result of disabling BLE Mesh Provisioner */}{ ... }provisioner_prov_disable_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_DISABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_LINK_OPEN_EVT *//* ... */structble_mesh_provisioner_link_open_evt_param{esp_ble_mesh_prov_bearer_tbearer;/*!< Type of the bearer used when Provisioner link is opened */}{ ... }provisioner_prov_link_open;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_LINK_OPEN_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT *//* ... */structble_mesh_provisioner_prov_read_oob_pub_key_evt_param{uint8_tlink_idx;/*!< Index of the provisioning link */}{ ... }provisioner_prov_read_oob_pub_key;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_INPUT_EVT *//* ... */structble_mesh_provisioner_prov_input_evt_param{esp_ble_mesh_oob_method_tmethod;/*!< Method of device Output OOB Authentication */esp_ble_mesh_output_action_taction;/*!< Action of device Output OOB Authentication */uint8_tsize;/*!< Size of device Output OOB Authentication */uint8_tlink_idx;/*!< Index of the provisioning link */}{ ... }provisioner_prov_input;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_INPUT_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_OUTPUT_EVT *//* ... */structble_mesh_provisioner_prov_output_evt_param{esp_ble_mesh_oob_method_tmethod;/*!< Method of device Input OOB Authentication */esp_ble_mesh_input_action_taction;/*!< Action of device Input OOB Authentication */uint8_tsize;/*!< Size of device Input OOB Authentication */uint8_tlink_idx;/*!< Index of the provisioning link *//** Union of output OOB */union{charstring[8];/*!< String output by the Provisioner */uint32_tnumber;/*!< Number output by the Provisioner */}{ ... };}{ ... }provisioner_prov_output;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_OUTPUT_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_LINK_CLOSE_EVT *//* ... */structble_mesh_provisioner_link_close_evt_param{esp_ble_mesh_prov_bearer_tbearer;/*!< Type of the bearer used when Provisioner link is closed */uint8_treason;/*!< Reason of the closed provisioning link */}{ ... }provisioner_prov_link_close;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_LINK_CLOSE_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_COMPLETE_EVT *//* ... */structble_mesh_provisioner_prov_comp_param{uint16_tnode_idx;/*!< Index of the provisioned device */esp_ble_mesh_octet16_tdevice_uuid;/*!< Device UUID of the provisioned device */uint16_tunicast_addr;/*!< Primary address of the provisioned device */uint8_telement_num;/*!< Element count of the provisioned device */uint16_tnetkey_idx;/*!< NetKey Index of the provisioned device */}{ ... }provisioner_prov_complete;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_COMPLETE_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_CERT_BASED_PROV_START_EVT *//* ... */structble_mesh_provisioner_cert_based_prov_start_evt_param{uint16_tlink_idx;/*!< Index of the provisioning link */}{ ... }provisioner_cert_based_prov_start;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_CERT_BASED_PROV_START_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT *//* ... */structble_mesh_provisioner_recv_prov_records_list_evt_param{uint16_tlink_idx;/*!< Index of the provisioning link */uint16_tlen;/*!< Length of message */uint8_t*msg;/*!< Lists the Record IDs of the provisioning records stored on the Provisionee */}{ ... }recv_provisioner_records_list;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_RECV_PROV_RECORDS_LIST_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_RECORD_RECV_COMP_EVT *//* ... */structble_mesh_provisioner_prov_record_recv_comp_evt_param{uint8_tstatus;/*!< Indicates whether or not the request was handled successfully */uint16_tlink_idx;/*!< Index of the provisioning link */uint16_trecord_id;/*!< Identifies the provisioning record for which the request is made */uint16_tfrag_offset;/*!< The starting offset of the requested fragment in the provisioning record data */uint16_ttotal_len;/*!< Total length of the provisioning record data stored on the Provisionee */uint8_t*record;/*!< Provisioning record data fragment */}{ ... }provisioner_prov_record_recv_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_RECORD_RECV_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORDS_GET_EVT *//* ... */structble_mesh_provisioner_send_prov_records_get_evt_param{interr_code;/*!< Indicate the result of send Provisioning Records List Get message */uint16_tlink_idx;/*!< Index of the provisioning link */}{ ... }provisioner_send_records_get;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORDS_GET_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT *//* ... */structble_mesh_provisioner_send_prov_record_req_evt_param{interr_code;/*!< Indicate the result of send Provisioning Record Request message */uint16_tlink_idx;/*!< Index of the provisioning link */uint16_trecord_id;/*!< Identifies the provisioning record for which the request is made */uint16_tfrag_offset;/*!< The starting offset of the requested fragment in the provisioning record data */uint16_tmax_size;/*!< The maximum size of the provisioning record fragment that the Provisioner can receive */}{ ... }provisioner_send_record_req;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SEND_PROV_RECORD_REQUEST_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SEND_PROV_INVITE_EVT *//* ... */structble_mesh_provisioner_send_prov_invite_evt_param{uint16_tlink_idx;/*!< Index of the provisioning link */interr_code;/*!< Indicate the result of send Provisioning Invite message */}{ ... }provisioner_send_prov_invite;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SEND_PROV_INVITE_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SEND_LINK_CLOSE_EVT *//* ... */structble_mesh_provisioner_send_link_close_evt_param{uint16_tlink_idx;/*!< Index of the provisioning link */interr_code;/*!< Indicate the result of send Link Close message */}{ ... }provisioner_send_link_close;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SEND_LINK_CLOSE_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT *//* ... */structble_mesh_provisioner_add_unprov_dev_comp_param{interr_code;/*!< Indicate the result of adding device into queue by the Provisioner */}{ ... }provisioner_add_unprov_dev_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT *//* ... */structble_mesh_provisioner_prov_dev_with_addr_comp_param{interr_code;/*!< Indicate the result of Provisioner starting to provision a device */}{ ... }provisioner_prov_dev_with_addr_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_DEV_WITH_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DELETE_DEV_COMP_EVT *//* ... */structble_mesh_provisioner_delete_dev_comp_param{interr_code;/*!< Indicate the result of deleting device by the Provisioner */}{ ... }provisioner_delete_dev_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_DELETE_DEV_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT *//* ... */structble_mesh_provisioner_set_dev_uuid_match_comp_param{interr_code;/*!< Indicate the result of setting Device UUID match value by the Provisioner */}{ ... }provisioner_set_dev_uuid_match_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT *//* ... */structble_mesh_provisioner_set_prov_data_info_comp_param{interr_code;/*!< Indicate the result of setting provisioning info by the Provisioner */}{ ... }provisioner_set_prov_data_info_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SET_PROV_DATA_INFO_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT *//* ... */structble_mesh_provisioner_set_static_oob_val_comp_param{interr_code;/*!< Indicate the result of setting static oob value by the Provisioner */}{ ... }provisioner_set_static_oob_val_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SET_STATIC_OOB_VALUE_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT *//* ... */structble_mesh_provisioner_set_primary_elem_addr_comp_param{interr_code;/*!< Indicate the result of setting unicast address of primary element by the Provisioner */}{ ... }provisioner_set_primary_elem_addr_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SET_PRIMARY_ELEM_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT *//* ... */structble_mesh_provisioner_prov_read_oob_pub_key_comp_param{interr_code;/*!< Indicate the result of setting OOB Public Key by the Provisioner */}{ ... }provisioner_prov_read_oob_pub_key_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_READ_OOB_PUB_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT *//* ... */structble_mesh_provisioner_prov_input_num_comp_param{interr_code;/*!< Indicate the result of inputting number by the Provisioner */}{ ... }provisioner_prov_input_num_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_INPUT_NUMBER_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_PROV_INPUT_STRING_COMP_EVT *//* ... */structble_mesh_provisioner_prov_input_str_comp_param{interr_code;/*!< Indicate the result of inputting string by the Provisioner */}{ ... }provisioner_prov_input_str_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_PROV_INPUT_STRING_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_NODE_NAME_COMP_EVT *//* ... */structble_mesh_provisioner_set_node_name_comp_param{interr_code;/*!< Indicate the result of setting provisioned device name by the Provisioner */uint16_tnode_index;/*!< Index of the provisioned device */}{ ... }provisioner_set_node_name_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_SET_NODE_NAME_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT *//* ... */structble_mesh_provisioner_add_local_app_key_comp_param{interr_code;/*!< Indicate the result of adding local AppKey by the Provisioner */uint16_tnet_idx;/*!< NetKey Index */uint16_tapp_idx;/*!< AppKey Index */}{ ... }provisioner_add_app_key_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT *//* ... */structble_mesh_provisioner_update_local_app_key_comp_param{interr_code;/*!< Indicate the result of updating local AppKey by the Provisioner */uint16_tnet_idx;/*!< NetKey Index */uint16_tapp_idx;/*!< AppKey Index */}{ ... }provisioner_update_app_key_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_APP_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT *//* ... */structble_mesh_provisioner_bind_local_mod_app_comp_param{interr_code;/*!< Indicate the result of binding AppKey with model by the Provisioner */uint16_telement_addr;/*!< Element address */uint16_tapp_idx;/*!< AppKey Index */uint16_tcompany_id;/*!< Company ID */uint16_tmodel_id;/*!< Model ID */}{ ... }provisioner_bind_app_key_to_model_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT *//* ... */structble_mesh_provisioner_add_local_net_key_comp_param{interr_code;/*!< Indicate the result of adding local NetKey by the Provisioner */uint16_tnet_idx;/*!< NetKey Index */}{ ... }provisioner_add_net_key_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_NET_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT *//* ... */structble_mesh_provisioner_update_local_net_key_comp_param{interr_code;/*!< Indicate the result of updating local NetKey by the Provisioner */uint16_tnet_idx;/*!< NetKey Index */}{ ... }provisioner_update_net_key_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_UPDATE_LOCAL_NET_KEY_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT *//* ... */structble_mesh_provisioner_store_node_comp_data_comp_param{interr_code;/*!< Indicate the result of storing node composition data by the Provisioner */uint16_taddr;/*!< Node element address */}{ ... }provisioner_store_node_comp_data_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_STORE_NODE_COMP_DATA_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT *//* ... */structble_mesh_provisioner_delete_node_with_uuid_comp_param{interr_code;/*!< Indicate the result of deleting node with uuid by the Provisioner */uint8_tuuid[16];/*!< Node device uuid */}{ ... }provisioner_delete_node_with_uuid_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_UUID_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT *//* ... */structble_mesh_provisioner_delete_node_with_addr_comp_param{interr_code;/*!< Indicate the result of deleting node with unicast address by the Provisioner */uint16_tunicast_addr;/*!< Node unicast address */}{ ... }provisioner_delete_node_with_addr_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_DELETE_NODE_WITH_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_ENABLE_HEARTBEAT_RECV_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of enabling/disabling to receive heartbeat messages by the Provisioner */boolenable;/*!< Indicate enabling or disabling receiving heartbeat messages */}{ ... }provisioner_enable_heartbeat_recv_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_ENABLE_HEARTBEAT_RECV_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_TYPE_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of setting the heartbeat filter type by the Provisioner */uint8_ttype;/*!< Type of the filter used for receiving heartbeat messages */}{ ... }provisioner_set_heartbeat_filter_type_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_TYPE_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_INFO_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of setting the heartbeat filter address by the Provisioner */uint8_top;/*!< Operation (add, remove, clean) */uint16_thb_src;/*!< Heartbeat source address */uint16_thb_dst;/*!< Heartbeat destination address */}{ ... }provisioner_set_heartbeat_filter_info_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_SET_HEARTBEAT_FILTER_INFO_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_RECV_HEARTBEAT_MESSAGE_EVT *//* ... */struct{uint16_thb_src;/*!< Heartbeat source address */uint16_thb_dst;/*!< Heartbeat destination address */uint8_tinit_ttl;/*!< Heartbeat InitTTL */uint8_trx_ttl;/*!< Heartbeat RxTTL */uint8_thops;/*!< Heartbeat hops (InitTTL - RxTTL + 1) */uint16_tfeature;/*!< Bit field of currently active features of the node */int8_trssi;/*!< RSSI of the heartbeat message */}{ ... }provisioner_recv_heartbeat;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_RECV_HEARTBEAT_MESSAGE_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DIRECT_ERASE_SETTINGS_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of directly erasing settings by the Provisioner */}{ ... }provisioner_direct_erase_settings_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_DIRECT_ERASE_SETTINGS_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_INDEX_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of opening settings with index by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */}{ ... }provisioner_open_settings_with_index_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_INDEX_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_UID_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of opening settings with user id by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */charuid[ESP_BLE_MESH_SETTINGS_UID_SIZE+1];/*!< Provisioner settings user id */}{ ... }provisioner_open_settings_with_uid_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_OPEN_SETTINGS_WITH_UID_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_INDEX_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of closing settings with index by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */}{ ... }provisioner_close_settings_with_index_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_INDEX_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_UID_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of closing settings with user id by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */charuid[ESP_BLE_MESH_SETTINGS_UID_SIZE+1];/*!< Provisioner settings user id */}{ ... }provisioner_close_settings_with_uid_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_CLOSE_SETTINGS_WITH_UID_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_INDEX_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of deleting settings with index by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */}{ ... }provisioner_delete_settings_with_index_comp;/*!< Event parameter of ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_INDEX_COMP_EVT *//** * @brief ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_UID_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of deleting settings with user id by the Provisioner */uint8_tindex;/*!< Index of Provisioner settings */charuid[ESP_BLE_MESH_SETTINGS_UID_SIZE+1];/*!< Provisioner settings user id */}{ ... }provisioner_delete_settings_with_uid_comp;/*!< Event parameters of ESP_BLE_MESH_PROVISIONER_DELETE_SETTINGS_WITH_UID_COMP_EVT *//** * @brief ESP_BLE_MESH_SET_FAST_PROV_INFO_COMP_EVT *//* ... */structble_mesh_set_fast_prov_info_comp_param{uint8_tstatus_unicast;/*!< Indicate the result of setting unicast address range of fast provisioning */uint8_tstatus_net_idx;/*!< Indicate the result of setting NetKey Index of fast provisioning */uint8_tstatus_match;/*!< Indicate the result of setting matching Device UUID of fast provisioning */}{ ... }set_fast_prov_info_comp;/*!< Event parameter of ESP_BLE_MESH_SET_FAST_PROV_INFO_COMP_EVT *//** * @brief ESP_BLE_MESH_SET_FAST_PROV_ACTION_COMP_EVT *//* ... */structble_mesh_set_fast_prov_action_comp_param{uint8_tstatus_action;/*!< Indicate the result of setting action of fast provisioning */}{ ... }set_fast_prov_action_comp;/*!< Event parameter of ESP_BLE_MESH_SET_FAST_PROV_ACTION_COMP_EVT *//** * @brief ESP_BLE_MESH_HEARTBEAT_MESSAGE_RECV_EVT *//* ... */structble_mesh_heartbeat_msg_recv_param{uint8_thops;/*!< Heartbeat hops (InitTTL - RxTTL + 1) */uint16_tfeature;/*!< Bit field of currently active features of the node */}{ ... }heartbeat_msg_recv;/*!< Event parameter of ESP_BLE_MESH_HEARTBEAT_MESSAGE_RECV_EVT *//** * @brief ESP_BLE_MESH_LPN_ENABLE_COMP_EVT *//* ... */structble_mesh_lpn_enable_comp_param{interr_code;/*!< Indicate the result of enabling LPN functionality */}{ ... }lpn_enable_comp;/*!< Event parameter of ESP_BLE_MESH_LPN_ENABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_LPN_DISABLE_COMP_EVT *//* ... */structble_mesh_lpn_disable_comp_param{interr_code;/*!< Indicate the result of disabling LPN functionality */}{ ... }lpn_disable_comp;/*!< Event parameter of ESP_BLE_MESH_LPN_DISABLE_COMP_EVT *//** * @brief ESP_BLE_MESH_LPN_POLL_COMP_EVT *//* ... */structble_mesh_lpn_poll_comp_param{interr_code;/*!< Indicate the result of sending Friend Poll */}{ ... }lpn_poll_comp;/*!< Event parameter of ESP_BLE_MESH_LPN_POLL_COMP_EVT *//** * @brief ESP_BLE_MESH_LPN_FRIENDSHIP_ESTABLISH_EVT *//* ... */structble_mesh_lpn_friendship_establish_param{uint16_tfriend_addr;/*!< Friend Node unicast address */}{ ... }lpn_friendship_establish;/*!< Event parameter of ESP_BLE_MESH_LPN_FRIENDSHIP_ESTABLISH_EVT *//** * @brief ESP_BLE_MESH_LPN_FRIENDSHIP_TERMINATE_EVT *//* ... */structble_mesh_lpn_friendship_terminate_param{uint16_tfriend_addr;/*!< Friend Node unicast address */}{ ... }lpn_friendship_terminate;/*!< Event parameter of ESP_BLE_MESH_LPN_FRIENDSHIP_TERMINATE_EVT *//** * @brief ESP_BLE_MESH_FRIEND_FRIENDSHIP_ESTABLISH_EVT *//* ... */structble_mesh_friend_friendship_establish_param{uint16_tlpn_addr;/*!< Low Power Node unicast address */}{ ... }frnd_friendship_establish;/*!< Event parameter of ESP_BLE_MESH_FRIEND_FRIENDSHIP_ESTABLISH_EVT *//** * @brief ESP_BLE_MESH_FRIEND_FRIENDSHIP_TERMINATE_EVT *//* ... */structble_mesh_friend_friendship_terminate_param{uint16_tlpn_addr;/*!< Low Power Node unicast address *//** This enum value is the reason of friendship termination on the friend node side */enum{ESP_BLE_MESH_FRND_FRIENDSHIP_TERMINATE_ESTABLISH_FAIL,/*!< Friend Offer has been sent, but Friend Offer is not received within 1 second, friendship fails to be established */ESP_BLE_MESH_FRND_FRIENDSHIP_TERMINATE_POLL_TIMEOUT,/*!< Friendship is established, PollTimeout timer expires and no Friend Poll/Sub Add/Sub Remove is received */ESP_BLE_MESH_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_REQ,/*!< Receive Friend Request from existing Low Power Node */ESP_BLE_MESH_FRND_FRIENDSHIP_TERMINATE_RECV_FRND_CLEAR,/*!< Receive Friend Clear from other friend node */ESP_BLE_MESH_FRND_FRIENDSHIP_TERMINATE_DISABLE,/*!< Friend feature disabled or corresponding NetKey is deleted */}{ ... }reason;/*!< Friendship terminated reason */}{ ... }frnd_friendship_terminate;/*!< Event parameter of ESP_BLE_MESH_FRIEND_FRIENDSHIP_TERMINATE_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_RECV_ADV_PKT_EVT *//* ... */structble_mesh_proxy_client_recv_adv_pkt_param{esp_ble_mesh_bd_addr_taddr;/*!< Device address */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint16_tnet_idx;/*!< Network ID related NetKey Index */uint8_tnet_id[8];/*!< Network ID contained in the advertising packet */int8_trssi;/*!< RSSI of the received advertising packet */}{ ... }proxy_client_recv_adv_pkt;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_RECV_ADV_PKT_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_CONNECTED_EVT *//* ... */structble_mesh_proxy_client_connected_param{esp_ble_mesh_bd_addr_taddr;/*!< Device address of the Proxy Server */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_connected;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_CONNECTED_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_DISCONNECTED_EVT *//* ... */structble_mesh_proxy_client_disconnected_param{esp_ble_mesh_bd_addr_taddr;/*!< Device address of the Proxy Server */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */uint8_treason;/*!< Proxy disconnect reason */}{ ... }proxy_client_disconnected;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_DISCONNECTED_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_RECV_FILTER_STATUS_EVT *//* ... */structble_mesh_proxy_client_recv_filter_status_param{uint8_tconn_handle;/*!< Proxy connection handle */uint16_tserver_addr;/*!< Proxy Server primary element address */uint16_tnet_idx;/*!< Corresponding NetKey Index */uint8_tfilter_type;/*!< Proxy Server filter type(whitelist or blacklist) */uint16_tlist_size;/*!< Number of addresses in the Proxy Server filter list */}{ ... }proxy_client_recv_filter_status;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_RECV_FILTER_STATUS_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_CONNECT_COMP_EVT *//* ... */structble_mesh_proxy_client_connect_comp_param{interr_code;/*!< Indicate the result of Proxy Client connect */esp_ble_mesh_bd_addr_taddr;/*!< Device address of the Proxy Server */esp_ble_mesh_addr_type_taddr_type;/*!< Device address type */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_connect_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_CONNECT_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_DISCONNECT_COMP_EVT *//* ... */structble_mesh_proxy_client_disconnect_comp_param{interr_code;/*!< Indicate the result of Proxy Client disconnect */uint8_tconn_handle;/*!< Proxy connection handle */}{ ... }proxy_client_disconnect_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_DISCONNECT_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT *//* ... */structble_mesh_proxy_client_set_filter_type_comp_param{interr_code;/*!< Indicate the result of Proxy Client set filter type */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_set_filter_type_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_SET_FILTER_TYPE_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT *//* ... */structble_mesh_proxy_client_add_filter_addr_comp_param{interr_code;/*!< Indicate the result of Proxy Client add filter address */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_add_filter_addr_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_ADD_FILTER_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT *//* ... */structble_mesh_proxy_client_remove_filter_addr_comp_param{interr_code;/*!< Indicate the result of Proxy Client remove filter address */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_remove_filter_addr_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_REMOVE_FILTER_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_DIRECTED_PROXY_CONTROL_COMP_EVT *//* ... */structble_mesh_proxy_client_directed_proxy_set_param{interr_code;/*!< Indicate the result of Proxy Client directed proxy control address */uint8_tconn_handle;/*!< Proxy connection handle */uint16_tnet_idx;/*!< Corresponding NetKey Index */}{ ... }proxy_client_directed_proxy_set_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_DIRECTED_PROXY_SET_COMP_EVT *//** * @brief ESP_BLE_MESH_PROXY_SERVER_CONNECTED_EVT *//* ... */structble_mesh_proxy_server_connected_param{uint8_tconn_handle;/*!< Proxy connection handle */}{ ... }proxy_server_connected;/*!< Event parameter of ESP_BLE_MESH_PROXY_SERVER_CONNECTED_EVT *//** * @brief ESP_BLE_MESH_PROXY_SERVER_DISCONNECTED_EVT *//* ... */structble_mesh_proxy_server_disconnected_param{uint8_tconn_handle;/*!< Proxy connection handle */uint8_treason;/*!< Proxy disconnect reason */}{ ... }proxy_server_disconnected;/*!< Event parameter of ESP_BLE_MESH_PROXY_SERVER_DISCONNECTED_EVT *//** * @brief ESP_BLE_MESH_PROXY_CLIENT_SEND_SOLIC_PDU_COMP_EVT *//* ... */struct{interr_code;/*!< Indicate the result of Proxy Client send Solicitation PDU */uint16_tnet_idx;/*!< Corresponding NetKey Index */uint16_tssrc;/*!< Solicitation SRC */uint16_tdst;/*!< Solicitation DST */}{ ... }proxy_client_send_solic_pdu_comp;/*!< Event parameter of ESP_BLE_MESH_PROXY_CLIENT_SEND_SOLIC_PDU_COMP_EVT *//** * @brief ESP_BLE_MESH_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT *//* ... */structble_mesh_model_sub_group_addr_comp_param{interr_code;/*!< Indicate the result of local model subscribing group address */uint16_telement_addr;/*!< Element address */uint16_tcompany_id;/*!< Company ID */uint16_tmodel_id;/*!< Model ID */uint16_tgroup_addr;/*!< Group Address */}{ ... }model_sub_group_addr_comp;/*!< Event parameters of ESP_BLE_MESH_MODEL_SUBSCRIBE_GROUP_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT *//* ... */structble_mesh_model_unsub_group_addr_comp_param{interr_code;/*!< Indicate the result of local model unsubscribing group address */uint16_telement_addr;/*!< Element address */uint16_tcompany_id;/*!< Company ID */uint16_tmodel_id;/*!< Model ID */uint16_tgroup_addr;/*!< Group Address */}{ ... }model_unsub_group_addr_comp;/*!< Event parameters of ESP_BLE_MESH_MODEL_UNSUBSCRIBE_GROUP_ADDR_COMP_EVT *//** * @brief ESP_BLE_MESH_DEINIT_MESH_COMP_EVT *//* ... */structble_mesh_deinit_mesh_comp_param{interr_code;/*!< Indicate the result of BLE Mesh deinitialization */}{ ... }deinit_mesh_comp;/*!< Event parameter of ESP_BLE_MESH_DEINIT_MESH_COMP_EVT */}{ ... }esp_ble_mesh_prov_cb_param_t;/*!< Event parameters of ESP_BLE_MESH_DEINIT_MESH_COMP_EVT *//** * @brief BLE Mesh models related Model ID and Opcode definitions *//* ... *//*!< Foundation Models */#defineESP_BLE_MESH_MODEL_ID_CONFIG_SRV0x0000#defineESP_BLE_MESH_MODEL_ID_CONFIG_CLI0x0001#defineESP_BLE_MESH_MODEL_ID_HEALTH_SRV0x0002#defineESP_BLE_MESH_MODEL_ID_HEALTH_CLI0x0003#defineESP_BLE_MESH_MODEL_ID_RPR_SRV0x0004#defineESP_BLE_MESH_MODEL_ID_RPR_CLI0x0005#defineESP_BLE_MESH_MODEL_ID_DF_SRV0x0006#defineESP_BLE_MESH_MODEL_ID_DF_CLI0x0007#defineESP_BLE_MESH_MODEL_ID_BRC_SRV0x0008#defineESP_BLE_MESH_MODEL_ID_BRC_CLI0x0009#defineESP_BLE_MESH_MODEL_ID_PRB_SRV0x000A#defineESP_BLE_MESH_MODEL_ID_PRB_CLI0x000B#defineESP_BLE_MESH_MODEL_ID_ODP_SRV0x000C#defineESP_BLE_MESH_MODEL_ID_ODP_CLI0x000D#defineESP_BLE_MESH_MODEL_ID_SAR_SRV0x000E#defineESP_BLE_MESH_MODEL_ID_SAR_CLI0x000F#defineESP_BLE_MESH_MODEL_ID_AGG_SRV0x0010#defineESP_BLE_MESH_MODEL_ID_AGG_CLI0x0011#defineESP_BLE_MESH_MODEL_ID_LCD_SRV0x0012#defineESP_BLE_MESH_MODEL_ID_LCD_CLI0x0013#defineESP_BLE_MESH_MODEL_ID_SRPL_SRV0x0014#defineESP_BLE_MESH_MODEL_ID_SRPL_CLI0x0015/*!< Models from the Mesh Model Specification */#defineESP_BLE_MESH_MODEL_ID_GEN_ONOFF_SRV0x1000#defineESP_BLE_MESH_MODEL_ID_GEN_ONOFF_CLI0x1001#defineESP_BLE_MESH_MODEL_ID_GEN_LEVEL_SRV0x1002#defineESP_BLE_MESH_MODEL_ID_GEN_LEVEL_CLI0x1003#defineESP_BLE_MESH_MODEL_ID_GEN_DEF_TRANS_TIME_SRV0x1004#defineESP_BLE_MESH_MODEL_ID_GEN_DEF_TRANS_TIME_CLI0x1005#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_ONOFF_SRV0x1006#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_ONOFF_SETUP_SRV0x1007#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_ONOFF_CLI0x1008#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_LEVEL_SRV0x1009#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_LEVEL_SETUP_SRV0x100a#defineESP_BLE_MESH_MODEL_ID_GEN_POWER_LEVEL_CLI0x100b#defineESP_BLE_MESH_MODEL_ID_GEN_BATTERY_SRV0x100c#defineESP_BLE_MESH_MODEL_ID_GEN_BATTERY_CLI0x100d#defineESP_BLE_MESH_MODEL_ID_GEN_LOCATION_SRV0x100e#defineESP_BLE_MESH_MODEL_ID_GEN_LOCATION_SETUP_SRV0x100f#defineESP_BLE_MESH_MODEL_ID_GEN_LOCATION_CLI0x1010#defineESP_BLE_MESH_MODEL_ID_GEN_ADMIN_PROP_SRV0x1011#defineESP_BLE_MESH_MODEL_ID_GEN_MANUFACTURER_PROP_SRV0x1012#defineESP_BLE_MESH_MODEL_ID_GEN_USER_PROP_SRV0x1013#defineESP_BLE_MESH_MODEL_ID_GEN_CLIENT_PROP_SRV0x1014#defineESP_BLE_MESH_MODEL_ID_GEN_PROP_CLI0x1015#defineESP_BLE_MESH_MODEL_ID_SENSOR_SRV0x1100#defineESP_BLE_MESH_MODEL_ID_SENSOR_SETUP_SRV0x1101#defineESP_BLE_MESH_MODEL_ID_SENSOR_CLI0x1102#defineESP_BLE_MESH_MODEL_ID_TIME_SRV0x1200#defineESP_BLE_MESH_MODEL_ID_TIME_SETUP_SRV0x1201#defineESP_BLE_MESH_MODEL_ID_TIME_CLI0x1202#defineESP_BLE_MESH_MODEL_ID_SCENE_SRV0x1203#defineESP_BLE_MESH_MODEL_ID_SCENE_SETUP_SRV0x1204#defineESP_BLE_MESH_MODEL_ID_SCENE_CLI0x1205#defineESP_BLE_MESH_MODEL_ID_SCHEDULER_SRV0x1206#defineESP_BLE_MESH_MODEL_ID_SCHEDULER_SETUP_SRV0x1207#defineESP_BLE_MESH_MODEL_ID_SCHEDULER_CLI0x1208#defineESP_BLE_MESH_MODEL_ID_LIGHT_LIGHTNESS_SRV0x1300#defineESP_BLE_MESH_MODEL_ID_LIGHT_LIGHTNESS_SETUP_SRV0x1301#defineESP_BLE_MESH_MODEL_ID_LIGHT_LIGHTNESS_CLI0x1302#defineESP_BLE_MESH_MODEL_ID_LIGHT_CTL_SRV0x1303#defineESP_BLE_MESH_MODEL_ID_LIGHT_CTL_SETUP_SRV0x1304#defineESP_BLE_MESH_MODEL_ID_LIGHT_CTL_CLI0x1305#defineESP_BLE_MESH_MODEL_ID_LIGHT_CTL_TEMP_SRV0x1306#defineESP_BLE_MESH_MODEL_ID_LIGHT_HSL_SRV0x1307#defineESP_BLE_MESH_MODEL_ID_LIGHT_HSL_SETUP_SRV0x1308#defineESP_BLE_MESH_MODEL_ID_LIGHT_HSL_CLI0x1309#defineESP_BLE_MESH_MODEL_ID_LIGHT_HSL_HUE_SRV0x130a#defineESP_BLE_MESH_MODEL_ID_LIGHT_HSL_SAT_SRV0x130b#defineESP_BLE_MESH_MODEL_ID_LIGHT_XYL_SRV0x130c#defineESP_BLE_MESH_MODEL_ID_LIGHT_XYL_SETUP_SRV0x130d#defineESP_BLE_MESH_MODEL_ID_LIGHT_XYL_CLI0x130e#defineESP_BLE_MESH_MODEL_ID_LIGHT_LC_SRV0x130f#defineESP_BLE_MESH_MODEL_ID_LIGHT_LC_SETUP_SRV0x1310#defineESP_BLE_MESH_MODEL_ID_LIGHT_LC_CLI0x1311#defineESP_BLE_MESH_MODEL_ID_MBT_SRV0x1400#defineESP_BLE_MESH_MODEL_ID_MBT_CLI0x140176 defines/** * esp_ble_mesh_opcode_config_client_get_t belongs to esp_ble_mesh_opcode_t, this typedef is only * used to locate the opcodes used by esp_ble_mesh_config_client_get_state. * The following opcodes will only be used in the esp_ble_mesh_config_client_get_state function. *//* ... */typedefuint32_tesp_ble_mesh_opcode_config_client_get_t;#defineESP_BLE_MESH_MODEL_OP_BEACON_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x09)/*!< Config Beacon Get */#defineESP_BLE_MESH_MODEL_OP_COMPOSITION_DATA_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x08)/*!< Config Composition Data Get */#defineESP_BLE_MESH_MODEL_OP_DEFAULT_TTL_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x0C)/*!< Config Default TTL Get */#defineESP_BLE_MESH_MODEL_OP_GATT_PROXY_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x12)/*!< Config GATT Proxy Get */#defineESP_BLE_MESH_MODEL_OP_RELAY_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x26)/*!< Config Relay Get */#defineESP_BLE_MESH_MODEL_OP_MODEL_PUB_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x18)/*!< Config Model Publication Get */#defineESP_BLE_MESH_MODEL_OP_FRIEND_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x0F)/*!< Config Friend Get */#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_PUB_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x38)/*!< Config Heartbeat Publication Get */#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_SUB_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x3a)/*!< Config Heartbeat Subscription Get */#defineESP_BLE_MESH_MODEL_OP_NET_KEY_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x42)/*!< Config NetKey Get */#defineESP_BLE_MESH_MODEL_OP_APP_KEY_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x01)/*!< Config AppKey Get */#defineESP_BLE_MESH_MODEL_OP_NODE_IDENTITY_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x46)/*!< Config Node Identity Get */#defineESP_BLE_MESH_MODEL_OP_SIG_MODEL_SUB_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x29)/*!< Config SIG Model Subscription Get */#defineESP_BLE_MESH_MODEL_OP_VENDOR_MODEL_SUB_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x2B)/*!< Config Vendor Model Subscription Get */#defineESP_BLE_MESH_MODEL_OP_SIG_MODEL_APP_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x4B)/*!< Config SIG Model App Get */#defineESP_BLE_MESH_MODEL_OP_VENDOR_MODEL_APP_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x4D)/*!< Config Vendor Model App Get */#defineESP_BLE_MESH_MODEL_OP_KEY_REFRESH_PHASE_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x15)/*!< Config Key Refresh Phase Get */#defineESP_BLE_MESH_MODEL_OP_LPN_POLLTIMEOUT_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x2D)/*!< Config Low Power Node PollTimeout Get */#defineESP_BLE_MESH_MODEL_OP_NETWORK_TRANSMIT_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x23)/*!< Config Network Transmit Get */19 defines/** * esp_ble_mesh_opcode_config_client_set_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by esp_ble_mesh_config_client_set_state. * The following opcodes will only be used in the esp_ble_mesh_config_client_set_state function. *//* ... */typedefuint32_tesp_ble_mesh_opcode_config_client_set_t;#defineESP_BLE_MESH_MODEL_OP_BEACON_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x0A)/*!< Config Beacon Set */#defineESP_BLE_MESH_MODEL_OP_DEFAULT_TTL_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x0D)/*!< Config Default TTL Set */#defineESP_BLE_MESH_MODEL_OP_GATT_PROXY_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x13)/*!< Config GATT Proxy Set */#defineESP_BLE_MESH_MODEL_OP_RELAY_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x27)/*!< Config Relay Set */#defineESP_BLE_MESH_MODEL_OP_MODEL_PUB_SETESP_BLE_MESH_MODEL_OP_1(0x03)/*!< Config Model Publication Set */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_ADDESP_BLE_MESH_MODEL_OP_2(0x80,0x1B)/*!< Config Model Subscription Add */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_VIRTUAL_ADDR_ADDESP_BLE_MESH_MODEL_OP_2(0x80,0x20)/*!< Config Model Subscription Virtual Address Add */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_DELETEESP_BLE_MESH_MODEL_OP_2(0x80,0x1C)/*!< Config Model Subscription Delete */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_VIRTUAL_ADDR_DELETEESP_BLE_MESH_MODEL_OP_2(0x80,0x21)/*!< Config Model Subscription Virtual Address Delete */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_OVERWRITEESP_BLE_MESH_MODEL_OP_2(0x80,0x1E)/*!< Config Model Subscription Overwrite */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_VIRTUAL_ADDR_OVERWRITEESP_BLE_MESH_MODEL_OP_2(0x80,0x22)/*!< Config Model Subscription Virtual Address Overwrite */#defineESP_BLE_MESH_MODEL_OP_NET_KEY_ADDESP_BLE_MESH_MODEL_OP_2(0x80,0x40)/*!< Config NetKey Add */#defineESP_BLE_MESH_MODEL_OP_APP_KEY_ADDESP_BLE_MESH_MODEL_OP_1(0x00)/*!< Config AppKey Add */#defineESP_BLE_MESH_MODEL_OP_MODEL_APP_BINDESP_BLE_MESH_MODEL_OP_2(0x80,0x3D)/*!< Config Model App Bind */#defineESP_BLE_MESH_MODEL_OP_NODE_RESETESP_BLE_MESH_MODEL_OP_2(0x80,0x49)/*!< Config Node Reset */#defineESP_BLE_MESH_MODEL_OP_FRIEND_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x10)/*!< Config Friend Set */#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_PUB_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x39)/*!< Config Heartbeat Publication Set */#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_SUB_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x3B)/*!< Config Heartbeat Subscription Set */#defineESP_BLE_MESH_MODEL_OP_NET_KEY_UPDATEESP_BLE_MESH_MODEL_OP_2(0x80,0x45)/*!< Config NetKey Update */#defineESP_BLE_MESH_MODEL_OP_NET_KEY_DELETEESP_BLE_MESH_MODEL_OP_2(0x80,0x41)/*!< Config NetKey Delete */#defineESP_BLE_MESH_MODEL_OP_APP_KEY_UPDATEESP_BLE_MESH_MODEL_OP_1(0x01)/*!< Config AppKey Update */#defineESP_BLE_MESH_MODEL_OP_APP_KEY_DELETEESP_BLE_MESH_MODEL_OP_2(0x80,0x00)/*!< Config AppKey Delete */#defineESP_BLE_MESH_MODEL_OP_NODE_IDENTITY_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x47)/*!< Config Node Identity Set */#defineESP_BLE_MESH_MODEL_OP_KEY_REFRESH_PHASE_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x16)/*!< Config Key Refresh Phase Set */#defineESP_BLE_MESH_MODEL_OP_MODEL_PUB_VIRTUAL_ADDR_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x1A)/*!< Config Model Publication Virtual Address Set */#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_DELETE_ALLESP_BLE_MESH_MODEL_OP_2(0x80,0x1D)/*!< Config Model Subscription Delete All */#defineESP_BLE_MESH_MODEL_OP_MODEL_APP_UNBINDESP_BLE_MESH_MODEL_OP_2(0x80,0x3F)/*!< Config Model App Unbind */#defineESP_BLE_MESH_MODEL_OP_NETWORK_TRANSMIT_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x24)/*!< Config Network Transmit Set */28 defines/** * esp_ble_mesh_opcode_config_status_t belongs to esp_ble_mesh_opcode_t, this typedef is only * used to locate the opcodes used by the Config Model messages * The following opcodes are used by the BLE Mesh Config Server Model internally to respond * to the Config Client Model's request messages. *//* ... */typedefuint32_tesp_ble_mesh_opcode_config_status_t;#defineESP_BLE_MESH_MODEL_OP_BEACON_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x0B)#defineESP_BLE_MESH_MODEL_OP_COMPOSITION_DATA_STATUSESP_BLE_MESH_MODEL_OP_1(0x02)#defineESP_BLE_MESH_MODEL_OP_DEFAULT_TTL_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x0E)#defineESP_BLE_MESH_MODEL_OP_GATT_PROXY_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x14)#defineESP_BLE_MESH_MODEL_OP_RELAY_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x28)#defineESP_BLE_MESH_MODEL_OP_MODEL_PUB_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x19)#defineESP_BLE_MESH_MODEL_OP_MODEL_SUB_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x1F)#defineESP_BLE_MESH_MODEL_OP_SIG_MODEL_SUB_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x2A)#defineESP_BLE_MESH_MODEL_OP_VENDOR_MODEL_SUB_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x2C)#defineESP_BLE_MESH_MODEL_OP_NET_KEY_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x44)#defineESP_BLE_MESH_MODEL_OP_NET_KEY_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x43)#defineESP_BLE_MESH_MODEL_OP_APP_KEY_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x03)#defineESP_BLE_MESH_MODEL_OP_APP_KEY_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x02)#defineESP_BLE_MESH_MODEL_OP_NODE_IDENTITY_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x48)#defineESP_BLE_MESH_MODEL_OP_MODEL_APP_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x3E)#defineESP_BLE_MESH_MODEL_OP_SIG_MODEL_APP_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x4C)#defineESP_BLE_MESH_MODEL_OP_VENDOR_MODEL_APP_LISTESP_BLE_MESH_MODEL_OP_2(0x80,0x4E)#defineESP_BLE_MESH_MODEL_OP_NODE_RESET_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x4A)#defineESP_BLE_MESH_MODEL_OP_FRIEND_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x11)#defineESP_BLE_MESH_MODEL_OP_KEY_REFRESH_PHASE_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x17)#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_PUB_STATUSESP_BLE_MESH_MODEL_OP_1(0x06)#defineESP_BLE_MESH_MODEL_OP_HEARTBEAT_SUB_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x3C)#defineESP_BLE_MESH_MODEL_OP_LPN_POLLTIMEOUT_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x2E)#defineESP_BLE_MESH_MODEL_OP_NETWORK_TRANSMIT_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x25)24 defines/** * This typedef is only used to indicate the status code contained in some of * the Configuration Server Model status message. *//* ... */typedefuint8_tesp_ble_mesh_cfg_status_t;#defineESP_BLE_MESH_CFG_STATUS_SUCCESS0x00#defineESP_BLE_MESH_CFG_STATUS_INVALID_ADDRESS0x01#defineESP_BLE_MESH_CFG_STATUS_INVALID_MODEL0x02#defineESP_BLE_MESH_CFG_STATUS_INVALID_APPKEY0x03#defineESP_BLE_MESH_CFG_STATUS_INVALID_NETKEY0x04#defineESP_BLE_MESH_CFG_STATUS_INSUFFICIENT_RESOURCES0x05#defineESP_BLE_MESH_CFG_STATUS_KEY_INDEX_ALREADY_STORED0x06#defineESP_BLE_MESH_CFG_STATUS_INVALID_PUBLISH_PARAMETERS0x07#defineESP_BLE_MESH_CFG_STATUS_NOT_A_SUBSCRIBE_MODEL0x08#defineESP_BLE_MESH_CFG_STATUS_STORAGE_FAILURE0x09#defineESP_BLE_MESH_CFG_STATUS_FEATURE_NOT_SUPPORTED0x0A#defineESP_BLE_MESH_CFG_STATUS_CANNOT_UPDATE0x0B#defineESP_BLE_MESH_CFG_STATUS_CANNOT_REMOVE0x0C#defineESP_BLE_MESH_CFG_STATUS_CANNOT_BIND0x0D#defineESP_BLE_MESH_CFG_STATUS_TEMP_UNABLE_TO_CHANGE_STATE0x0E#defineESP_BLE_MESH_CFG_STATUS_CANNOT_SET0x0F#defineESP_BLE_MESH_CFG_STATUS_UNSPECIFIED_ERROR0x10#defineESP_BLE_MESH_CFG_STATUS_INVALID_BINDING0x11#defineESP_BLE_MESH_CFG_STATUS_INVALID_PATH_ENTRY0x12#defineESP_BLE_MESH_CFG_STATUS_CANNOT_GET0x13#defineESP_BLE_MESH_CFG_STATUS_OBSOLETE_INFO0x14#defineESP_BLE_MESH_CFG_STATUS_INVALID_BEARER0x1522 defines/** * esp_ble_mesh_opcode_health_client_get_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by esp_ble_mesh_health_client_get_state. * The following opcodes will only be used in the esp_ble_mesh_health_client_get_state function. *//* ... */typedefuint32_tesp_ble_mesh_opcode_health_client_get_t;#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x31)/*!< Health Fault Get */#defineESP_BLE_MESH_MODEL_OP_HEALTH_PERIOD_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x34)/*!< Health Period Get */#defineESP_BLE_MESH_MODEL_OP_ATTENTION_GETESP_BLE_MESH_MODEL_OP_2(0x80,0x04)/*!< Health Attention Get *//** * esp_ble_mesh_opcode_health_client_set_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by esp_ble_mesh_health_client_set_state. * The following opcodes will only be used in the esp_ble_mesh_health_client_set_state function. *//* ... */typedefuint32_tesp_ble_mesh_opcode_health_client_set_t;#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_CLEARESP_BLE_MESH_MODEL_OP_2(0x80,0x2F)/*!< Health Fault Clear */#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_CLEAR_UNACKESP_BLE_MESH_MODEL_OP_2(0x80,0x30)/*!< Health Fault Clear Unacknowledged */#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_TESTESP_BLE_MESH_MODEL_OP_2(0x80,0x32)/*!< Health Fault Test */#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_TEST_UNACKESP_BLE_MESH_MODEL_OP_2(0x80,0x33)/*!< Health Fault Test Unacknowledged */#defineESP_BLE_MESH_MODEL_OP_HEALTH_PERIOD_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x35)/*!< Health Period Set */#defineESP_BLE_MESH_MODEL_OP_HEALTH_PERIOD_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x80,0x36)/*!< Health Period Set Unacknowledged */#defineESP_BLE_MESH_MODEL_OP_ATTENTION_SETESP_BLE_MESH_MODEL_OP_2(0x80,0x05)/*!< Health Attention Set */#defineESP_BLE_MESH_MODEL_OP_ATTENTION_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x80,0x06)/*!< Health Attention Set Unacknowledged */8 defines/** * esp_ble_mesh_health_model_status_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by the Health Model messages. * The following opcodes are used by the BLE Mesh Health Server Model internally to * respond to the Health Client Model's request messages. *//* ... */typedefuint32_tesp_ble_mesh_health_model_status_t;#defineESP_BLE_MESH_MODEL_OP_HEALTH_CURRENT_STATUSESP_BLE_MESH_MODEL_OP_1(0x04)#defineESP_BLE_MESH_MODEL_OP_HEALTH_FAULT_STATUSESP_BLE_MESH_MODEL_OP_1(0x05)#defineESP_BLE_MESH_MODEL_OP_HEALTH_PERIOD_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x37)#defineESP_BLE_MESH_MODEL_OP_ATTENTION_STATUSESP_BLE_MESH_MODEL_OP_2(0x80,0x07)/** * esp_ble_mesh_generic_message_opcode_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by functions esp_ble_mesh_generic_client_get_state * & esp_ble_mesh_generic_client_set_state. *//* ... */typedefuint32_tesp_ble_mesh_generic_message_opcode_t;/*!< Generic OnOff Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_ONOFF_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x01)#defineESP_BLE_MESH_MODEL_OP_GEN_ONOFF_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x02)#defineESP_BLE_MESH_MODEL_OP_GEN_ONOFF_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x03)#defineESP_BLE_MESH_MODEL_OP_GEN_ONOFF_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x04)/*!< Generic Level Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_LEVEL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x05)#defineESP_BLE_MESH_MODEL_OP_GEN_LEVEL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x06)#defineESP_BLE_MESH_MODEL_OP_GEN_LEVEL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x07)#defineESP_BLE_MESH_MODEL_OP_GEN_LEVEL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x08)#defineESP_BLE_MESH_MODEL_OP_GEN_DELTA_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x09)#defineESP_BLE_MESH_MODEL_OP_GEN_DELTA_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x0A)#defineESP_BLE_MESH_MODEL_OP_GEN_MOVE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x0B)#defineESP_BLE_MESH_MODEL_OP_GEN_MOVE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x0C)/*!< Generic Default Transition Time Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_DEF_TRANS_TIME_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x0D)#defineESP_BLE_MESH_MODEL_OP_GEN_DEF_TRANS_TIME_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x0E)#defineESP_BLE_MESH_MODEL_OP_GEN_DEF_TRANS_TIME_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x0F)#defineESP_BLE_MESH_MODEL_OP_GEN_DEF_TRANS_TIME_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x10)/*!< Generic Power OnOff Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_ONPOWERUP_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x11)#defineESP_BLE_MESH_MODEL_OP_GEN_ONPOWERUP_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x12)/*!< Generic Power OnOff Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_ONPOWERUP_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x13)#defineESP_BLE_MESH_MODEL_OP_GEN_ONPOWERUP_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x14)/*!< Generic Power Level Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LEVEL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x15)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LEVEL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x16)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LEVEL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x17)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LEVEL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x18)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LAST_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x19)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_LAST_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x1A)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_DEFAULT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x1B)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_DEFAULT_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x1C)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_RANGE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x1D)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_RANGE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x1E)/*!< Generic Power Level Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_DEFAULT_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x1F)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_DEFAULT_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x20)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_RANGE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x21)#defineESP_BLE_MESH_MODEL_OP_GEN_POWER_RANGE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x22)/*!< Generic Battery Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_BATTERY_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x23)#defineESP_BLE_MESH_MODEL_OP_GEN_BATTERY_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x24)/*!< Generic Location Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_GLOBAL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x25)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_GLOBAL_STATUSESP_BLE_MESH_MODEL_OP_1(0x40)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_LOCAL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x26)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_LOCAL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x27)/*!< Generic Location Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_GLOBAL_SETESP_BLE_MESH_MODEL_OP_1(0x41)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_GLOBAL_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x42)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_LOCAL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x28)#defineESP_BLE_MESH_MODEL_OP_GEN_LOC_LOCAL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x29)/*!< Generic Manufacturer Property Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTIES_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2A)#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTIES_STATUSESP_BLE_MESH_MODEL_OP_1(0x43)#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTY_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2B)#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTY_SETESP_BLE_MESH_MODEL_OP_1(0x44)#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTY_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x45)#defineESP_BLE_MESH_MODEL_OP_GEN_MANUFACTURER_PROPERTY_STATUSESP_BLE_MESH_MODEL_OP_1(0x46)/*!< Generic Admin Property Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTIES_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2C)#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTIES_STATUSESP_BLE_MESH_MODEL_OP_1(0x47)#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTY_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2D)#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTY_SETESP_BLE_MESH_MODEL_OP_1(0x48)#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTY_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x49)#defineESP_BLE_MESH_MODEL_OP_GEN_ADMIN_PROPERTY_STATUSESP_BLE_MESH_MODEL_OP_1(0x4A)/*!< Generic User Property Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTIES_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2E)#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTIES_STATUSESP_BLE_MESH_MODEL_OP_1(0x4B)#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTY_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x2F)#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTY_SETESP_BLE_MESH_MODEL_OP_1(0x4C)#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTY_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x4D)#defineESP_BLE_MESH_MODEL_OP_GEN_USER_PROPERTY_STATUSESP_BLE_MESH_MODEL_OP_1(0x4E)/*!< Generic Client Property Message Opcode */#defineESP_BLE_MESH_MODEL_OP_GEN_CLIENT_PROPERTIES_GETESP_BLE_MESH_MODEL_OP_1(0x4F)#defineESP_BLE_MESH_MODEL_OP_GEN_CLIENT_PROPERTIES_STATUSESP_BLE_MESH_MODEL_OP_1(0x50)64 defines/** * esp_ble_mesh_sensor_message_opcode_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by functions esp_ble_mesh_sensor_client_get_state * & esp_ble_mesh_sensor_client_set_state. *//* ... */typedefuint32_tesp_ble_mesh_sensor_message_opcode_t;/*!< Sensor Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SENSOR_DESCRIPTOR_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x30)#defineESP_BLE_MESH_MODEL_OP_SENSOR_DESCRIPTOR_STATUSESP_BLE_MESH_MODEL_OP_1(0x51)#defineESP_BLE_MESH_MODEL_OP_SENSOR_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x31)#defineESP_BLE_MESH_MODEL_OP_SENSOR_STATUSESP_BLE_MESH_MODEL_OP_1(0x52)#defineESP_BLE_MESH_MODEL_OP_SENSOR_COLUMN_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x32)#defineESP_BLE_MESH_MODEL_OP_SENSOR_COLUMN_STATUSESP_BLE_MESH_MODEL_OP_1(0x53)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SERIES_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x33)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SERIES_STATUSESP_BLE_MESH_MODEL_OP_1(0x54)/*!< Sensor Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SENSOR_CADENCE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x34)#defineESP_BLE_MESH_MODEL_OP_SENSOR_CADENCE_SETESP_BLE_MESH_MODEL_OP_1(0x55)#defineESP_BLE_MESH_MODEL_OP_SENSOR_CADENCE_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x56)#defineESP_BLE_MESH_MODEL_OP_SENSOR_CADENCE_STATUSESP_BLE_MESH_MODEL_OP_1(0x57)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTINGS_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x35)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTINGS_STATUSESP_BLE_MESH_MODEL_OP_1(0x58)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTING_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x36)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTING_SETESP_BLE_MESH_MODEL_OP_1(0x59)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTING_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x5A)#defineESP_BLE_MESH_MODEL_OP_SENSOR_SETTING_STATUSESP_BLE_MESH_MODEL_OP_1(0x5B)18 defines/** * esp_ble_mesh_time_scene_message_opcode_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by functions esp_ble_mesh_time_scene_client_get_state * & esp_ble_mesh_time_scene_client_set_state. *//* ... */typedefuint32_tesp_ble_mesh_time_scene_message_opcode_t;/*!< Time Message Opcode */#defineESP_BLE_MESH_MODEL_OP_TIME_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x37)#defineESP_BLE_MESH_MODEL_OP_TIME_SETESP_BLE_MESH_MODEL_OP_1(0x5C)#defineESP_BLE_MESH_MODEL_OP_TIME_STATUSESP_BLE_MESH_MODEL_OP_1(0x5D)#defineESP_BLE_MESH_MODEL_OP_TIME_ROLE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x38)#defineESP_BLE_MESH_MODEL_OP_TIME_ROLE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x39)#defineESP_BLE_MESH_MODEL_OP_TIME_ROLE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x3A)#defineESP_BLE_MESH_MODEL_OP_TIME_ZONE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x3B)#defineESP_BLE_MESH_MODEL_OP_TIME_ZONE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x3C)#defineESP_BLE_MESH_MODEL_OP_TIME_ZONE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x3D)#defineESP_BLE_MESH_MODEL_OP_TAI_UTC_DELTA_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x3E)#defineESP_BLE_MESH_MODEL_OP_TAI_UTC_DELTA_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x3F)#defineESP_BLE_MESH_MODEL_OP_TAI_UTC_DELTA_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x40)/*!< Scene Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SCENE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x41)#defineESP_BLE_MESH_MODEL_OP_SCENE_RECALLESP_BLE_MESH_MODEL_OP_2(0x82,0x42)#defineESP_BLE_MESH_MODEL_OP_SCENE_RECALL_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x43)#defineESP_BLE_MESH_MODEL_OP_SCENE_STATUSESP_BLE_MESH_MODEL_OP_1(0x5E)#defineESP_BLE_MESH_MODEL_OP_SCENE_REGISTER_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x44)#defineESP_BLE_MESH_MODEL_OP_SCENE_REGISTER_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x45)/*!< Scene Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SCENE_STOREESP_BLE_MESH_MODEL_OP_2(0x82,0x46)#defineESP_BLE_MESH_MODEL_OP_SCENE_STORE_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x47)#defineESP_BLE_MESH_MODEL_OP_SCENE_DELETEESP_BLE_MESH_MODEL_OP_2(0x82,0x9E)#defineESP_BLE_MESH_MODEL_OP_SCENE_DELETE_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x9F)/*!< Scheduler Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_ACT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x48)#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_ACT_STATUSESP_BLE_MESH_MODEL_OP_1(0x5F)#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x49)#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x4A)/*!< Scheduler Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_ACT_SETESP_BLE_MESH_MODEL_OP_1(0x60)#defineESP_BLE_MESH_MODEL_OP_SCHEDULER_ACT_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x61)28 defines/** * esp_ble_mesh_light_message_opcode_t belongs to esp_ble_mesh_opcode_t, this typedef is * only used to locate the opcodes used by functions esp_ble_mesh_light_client_get_state * & esp_ble_mesh_light_client_set_state. *//* ... */typedefuint32_tesp_ble_mesh_light_message_opcode_t;/*!< Light Lightness Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x4B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x4C)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x4D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x4E)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x4F)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x50)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x51)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x52)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LAST_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x53)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_LAST_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x54)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x55)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x56)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_RANGE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x57)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_RANGE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x58)/*!< Light Lightness Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x59)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x5A)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_RANGE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x5B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LIGHTNESS_RANGE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x5C)/*!< Light CTL Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x5D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x5E)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x5F)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x60)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x61)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x62)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x63)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x64)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x65)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x66)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_DEFAULT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x67)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_DEFAULT_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x68)/*!< Light CTL Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_DEFAULT_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x69)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_DEFAULT_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x6A)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x6B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x6C)/*!< Light HSL Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x6D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_HUE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x6E)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_HUE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x6F)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_HUE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x70)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_HUE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x71)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SATURATION_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x72)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SATURATION_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x73)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SATURATION_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x74)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SATURATION_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x75)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x76)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x77)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x78)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_TARGET_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x79)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_TARGET_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x7A)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_DEFAULT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x7B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_DEFAULT_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x7C)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_RANGE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x7D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_RANGE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x7E)/*!< Light HSL Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_DEFAULT_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x7F)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_DEFAULT_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x80)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_RANGE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x81)#defineESP_BLE_MESH_MODEL_OP_LIGHT_HSL_RANGE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x82)/*!< Light xyL Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x83)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x84)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x85)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x86)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_TARGET_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x87)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_TARGET_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x88)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_DEFAULT_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x89)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_DEFAULT_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x8A)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_RANGE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x8B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_RANGE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x8C)/*!< Light xyL Setup Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_DEFAULT_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x8D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_DEFAULT_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x8E)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_RANGE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x8F)#defineESP_BLE_MESH_MODEL_OP_LIGHT_XYL_RANGE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x90)/*!< Light Control Message Opcode */#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_MODE_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x91)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_MODE_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x92)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_MODE_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x93)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_MODE_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x94)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_OM_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x95)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_OM_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x96)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_OM_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x97)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_OM_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x98)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x99)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_SETESP_BLE_MESH_MODEL_OP_2(0x82,0x9A)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_SET_UNACKESP_BLE_MESH_MODEL_OP_2(0x82,0x9B)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_STATUSESP_BLE_MESH_MODEL_OP_2(0x82,0x9C)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_PROPERTY_GETESP_BLE_MESH_MODEL_OP_2(0x82,0x9D)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_PROPERTY_SETESP_BLE_MESH_MODEL_OP_1(0x62)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_PROPERTY_SET_UNACKESP_BLE_MESH_MODEL_OP_1(0x63)#defineESP_BLE_MESH_MODEL_OP_LIGHT_LC_PROPERTY_STATUSESP_BLE_MESH_MODEL_OP_1(0x64)86 definestypedefuint32_tesp_ble_mesh_opcode_t;/*!< End of defines of esp_ble_mesh_opcode_t *//** * This typedef is only used to indicate the status code contained in some of the * server models (e.g. Generic Server Model) status message. *//* ... */typedefuint8_tesp_ble_mesh_model_status_t;#defineESP_BLE_MESH_MODEL_STATUS_SUCCESS0x00#defineESP_BLE_MESH_MODEL_STATUS_CANNOT_SET_RANGE_MIN0x01#defineESP_BLE_MESH_MODEL_STATUS_CANNOT_SET_RANGE_MAX0x02/** * @brief BLE Mesh client models related definitions *//* ... *//** Client model Get/Set message opcode and corresponding Status message opcode */typedefstruct{uint32_tcli_op;/*!< The client message opcode */uint32_tstatus_op;/*!< The server status opcode corresponding to the client message opcode */}{ ... }esp_ble_mesh_client_op_pair_t;/** Client Model user data context. */typedefstruct{esp_ble_mesh_model_t*model;/*!< Pointer to the client model. Initialized by the stack. */uint32_top_pair_size;/*!< Size of the op_pair */constesp_ble_mesh_client_op_pair_t*op_pair;/*!< Table containing get/set message opcode and corresponding status message opcode */uint32_tpublish_status;/*!< Callback used to handle the received unsolicited message. Initialized by the stack. */void*internal_data;/*!< Pointer to the internal data of client model */void*vendor_data;/*!< Pointer to the vendor data of client model */uint8_tmsg_role__attribute__((deprecated));/*!< Role of the device (Node/Provisioner) that is going to send messages */}{ ... }esp_ble_mesh_client_t;/** Common parameters of the messages sent by Client Model. */typedefstruct{esp_ble_mesh_opcode_topcode;/*!< Message opcode */esp_ble_mesh_model_t*model;/*!< Pointer to the client model structure */esp_ble_mesh_msg_ctx_tctx;/*!< The context used to send message */int32_tmsg_timeout;/*!< Timeout value (ms) to get response to the sent message *//*!< Note: if using default timeout value in menuconfig, make sure to set this value to 0 */uint8_tmsg_role__attribute__((deprecated));/*!< Role of the device - Node/Provisioner */}{ ... }esp_ble_mesh_client_common_param_t;/** * @brief BLE Mesh server models related definitions *//* ... *//** This enum value is the flag of transition timer operation */enum{ESP_BLE_MESH_SERVER_TRANS_TIMER_START,/* Proper transition timer has been started */ESP_BLE_MESH_SERVER_FLAG_MAX,}{ ... };/** Parameters of the server model state transition */typedefstruct{booljust_started;/*!< Indicate if the state transition has just started */uint8_ttrans_time;/*!< State transition time */uint8_tremain_time;/*!< Remaining time of state transition */uint8_tdelay;/*!< Delay before starting state transition */uint32_tquo_tt;/*!< Duration of each divided transition step */uint32_tcounter;/*!< Number of steps which the transition duration is divided */uint32_ttotal_duration;/*!< State transition total duration */int64_tstart_timestamp;/*!< Time when the state transition is started *//** * Flag used to indicate if the transition timer has been started internally. * * If the model which contains esp_ble_mesh_state_transition_t sets "set_auto_rsp" * to ESP_BLE_MESH_SERVER_RSP_BY_APP, the handler of the timer shall be initialized * by the users. * * And users can use this flag to indicate whether the timer is started or not. *//* ... */BLE_MESH_ATOMIC_DEFINE(flag,ESP_BLE_MESH_SERVER_FLAG_MAX);structk_delayed_worktimer;/*!< Timer used for state transition */}{ ... }esp_ble_mesh_state_transition_t;/** Parameters of the server model received last same set message. */typedefstruct{uint8_ttid;/*!< Transaction number of the last message */uint16_tsrc;/*!< Source address of the last message */uint16_tdst;/*!< Destination address of the last message */int64_ttimestamp;/*!< Time when the last message is received */}{ ... }esp_ble_mesh_last_msg_info_t;#defineESP_BLE_MESH_SERVER_RSP_BY_APP0/*!< Response need to be sent in the application */#defineESP_BLE_MESH_SERVER_AUTO_RSP1/*!< Response will be sent internally *//** Parameters of the Server Model response control */typedefstruct{/** * @brief BLE Mesh Server Response Option * 1. If get_auto_rsp is set to ESP_BLE_MESH_SERVER_RSP_BY_APP, then the * response of Client Get messages need to be replied by the application; * 2. If get_auto_rsp is set to ESP_BLE_MESH_SERVER_AUTO_RSP, then the * response of Client Get messages will be replied by the server models; * 3. If set_auto_rsp is set to ESP_BLE_MESH_SERVER_RSP_BY_APP, then the * response of Client Set messages need to be replied by the application; * 4. If set_auto_rsp is set to ESP_BLE_MESH_SERVER_AUTO_RSP, then the * response of Client Set messages will be replied by the server models; * 5. If status_auto_rsp is set to ESP_BLE_MESH_SERVER_RSP_BY_APP, then the * response of Server Status messages need to be replied by the application; * 6. If status_auto_rsp is set to ESP_BLE_MESH_SERVER_AUTO_RSP, then the * response of Server Status messages will be replied by the server models; *//* ... */uint8_tget_auto_rsp:1,/*!< Response control for Client Get messages */set_auto_rsp:1,/*!< Response control for Client Set messages */status_auto_rsp:1;/*!< Response control for Server Status messages */}{ ... }esp_ble_mesh_server_rsp_ctrl_t;/** * @brief Server model state value union *//* ... */typedefunion{struct{uint8_tonoff;/*!< The value of the Generic OnOff state */}{ ... }gen_onoff;/*!< The Generic OnOff state */struct{int16_tlevel;/*!< The value of the Generic Level state */}{ ... }gen_level;/*!< The Generic Level state */struct{uint8_tonpowerup;/*!< The value of the Generic OnPowerUp state */}{ ... }gen_onpowerup;/*!< The Generic OnPowerUp state */struct{uint16_tpower;/*!< The value of the Generic Power Actual state */}{ ... }gen_power_actual;/*!< The Generic Power Actual state */struct{uint16_tlightness;/*!< The value of the Light Lightness Actual state */}{ ... }light_lightness_actual;/*!< The Light Lightness Actual state */struct{uint16_tlightness;/*!< The value of the Light Lightness Linear state */}{ ... }light_lightness_linear;/*!< The Light Lightness Linear state */struct{uint16_tlightness;/*!< The value of the Light CTL Lightness state */}{ ... }light_ctl_lightness;/*!< The Light CTL Lightness state */struct{uint16_ttemperature;/*!< The value of the Light CTL Temperature state */int16_tdelta_uv;/*!< The value of the Light CTL Delta UV state */}{ ... }light_ctl_temp_delta_uv;/*!< The Light CTL Temperature & Delta UV states */struct{uint16_tlightness;/*!< The value of the Light HSL Lightness state */uint16_thue;/*!< The value of the Light HSL Hue state */uint16_tsaturation;/*!< The value of the Light HSL Saturation state */}{ ... }light_hsl;/*!< The Light HSL composite state */struct{uint16_tlightness;/*!< The value of the Light HSL Lightness state */}{ ... }light_hsl_lightness;/*!< The Light HSL Lightness state */struct{uint16_thue;/*!< The value of the Light HSL Hue state */}{ ... }light_hsl_hue;/*!< The Light HSL Hue state */struct{uint16_tsaturation;/*!< The value of the Light HSL Saturation state */}{ ... }light_hsl_saturation;/*!< The Light HSL Saturation state */struct{uint16_tlightness;/*!< The value of the Light xyL Lightness state */}{ ... }light_xyl_lightness;/*!< The Light xyL Lightness state */struct{uint8_tonoff;/*!< The value of the Light LC Light OnOff state */}{ ... }light_lc_light_onoff;/*!< The Light LC Light OnOff state */}{ ... }esp_ble_mesh_server_state_value_t;/** This enum value is the type of server model states */typedefenum{ESP_BLE_MESH_GENERIC_ONOFF_STATE,ESP_BLE_MESH_GENERIC_LEVEL_STATE,ESP_BLE_MESH_GENERIC_ONPOWERUP_STATE,ESP_BLE_MESH_GENERIC_POWER_ACTUAL_STATE,ESP_BLE_MESH_LIGHT_LIGHTNESS_ACTUAL_STATE,ESP_BLE_MESH_LIGHT_LIGHTNESS_LINEAR_STATE,ESP_BLE_MESH_LIGHT_CTL_LIGHTNESS_STATE,ESP_BLE_MESH_LIGHT_CTL_TEMP_DELTA_UV_STATE,ESP_BLE_MESH_LIGHT_HSL_STATE,ESP_BLE_MESH_LIGHT_HSL_LIGHTNESS_STATE,ESP_BLE_MESH_LIGHT_HSL_HUE_STATE,ESP_BLE_MESH_LIGHT_HSL_SATURATION_STATE,ESP_BLE_MESH_LIGHT_XYL_LIGHTNESS_STATE,ESP_BLE_MESH_LIGHT_LC_LIGHT_ONOFF_STATE,ESP_BLE_MESH_SERVER_MODEL_STATE_MAX,}{ ... }esp_ble_mesh_server_state_type_t;/*!< This enum value is the event of undefined SIG models and vendor models */typedefenum{ESP_BLE_MESH_MODEL_OPERATION_EVT,/*!< User-defined models receive messages from peer devices (e.g. get, set, status, etc) event */ESP_BLE_MESH_MODEL_SEND_COMP_EVT,/*!< User-defined models send messages completion event */ESP_BLE_MESH_MODEL_PUBLISH_COMP_EVT,/*!< User-defined models publish messages completion event */ESP_BLE_MESH_CLIENT_MODEL_RECV_PUBLISH_MSG_EVT,/*!< User-defined client models receive publish messages event */ESP_BLE_MESH_CLIENT_MODEL_SEND_TIMEOUT_EVT,/*!< Timeout event for the user-defined client models that failed to receive response from peer server models */ESP_BLE_MESH_MODEL_PUBLISH_UPDATE_EVT,/*!< When a model is configured to publish messages periodically, this event will occur during every publish period */ESP_BLE_MESH_SERVER_MODEL_UPDATE_STATE_COMP_EVT,/*!< Server models update state value completion event */ESP_BLE_MESH_MODEL_EVT_MAX,}{ ... }esp_ble_mesh_model_cb_event_t;/** * @brief BLE Mesh model callback parameters union *//* ... */typedefunion{/** * @brief ESP_BLE_MESH_MODEL_OPERATION_EVT *//* ... */structble_mesh_model_operation_evt_param{uint32_topcode;/*!< Opcode of the received message */esp_ble_mesh_model_t*model;/*!< Pointer to the model which receives the message */esp_ble_mesh_msg_ctx_t*ctx;/*!< Pointer to the context of the received message */uint16_tlength;/*!< Length of the received message */uint8_t*msg;/*!< Value of the received message */}{ ... }model_operation;/*!< Event parameter of ESP_BLE_MESH_MODEL_OPERATION_EVT *//** * @brief ESP_BLE_MESH_MODEL_SEND_COMP_EVT *//* ... */structble_mesh_model_send_comp_param{interr_code;/*!< Indicate the result of sending a message */uint32_topcode;/*!< Opcode of the message */esp_ble_mesh_model_t*model;/*!< Pointer to the model which sends the message */esp_ble_mesh_msg_ctx_t*ctx;/*!< Context of the message */}{ ... }model_send_comp;/*!< Event parameter of ESP_BLE_MESH_MODEL_SEND_COMP_EVT *//** * @brief ESP_BLE_MESH_MODEL_PUBLISH_COMP_EVT *//* ... */structble_mesh_model_publish_comp_param{interr_code;/*!< Indicate the result of publishing a message */esp_ble_mesh_model_t*model;/*!< Pointer to the model which publishes the message */}{ ... }model_publish_comp;/*!< Event parameter of ESP_BLE_MESH_MODEL_PUBLISH_COMP_EVT *//** * @brief ESP_BLE_MESH_CLIENT_MODEL_RECV_PUBLISH_MSG_EVT *//* ... */structble_mesh_mod_recv_publish_msg_param{uint32_topcode;/*!< Opcode of the unsolicited received message */esp_ble_mesh_model_t*model;/*!< Pointer to the model which receives the message */esp_ble_mesh_msg_ctx_t*ctx;/*!< Pointer to the context of the message */uint16_tlength;/*!< Length of the received message */uint8_t*msg;/*!< Value of the received message */}{ ... }client_recv_publish_msg;/*!< Event parameter of ESP_BLE_MESH_CLIENT_MODEL_RECV_PUBLISH_MSG_EVT *//** * @brief ESP_BLE_MESH_CLIENT_MODEL_SEND_TIMEOUT_EVT *//* ... */structble_mesh_client_model_send_timeout_param{uint32_topcode;/*!< Opcode of the previously sent message */esp_ble_mesh_model_t*model;/*!< Pointer to the model which sends the previous message */esp_ble_mesh_msg_ctx_t*ctx;/*!< Pointer to the context of the previous message */}{ ... }client_send_timeout;/*!< Event parameter of ESP_BLE_MESH_CLIENT_MODEL_SEND_TIMEOUT_EVT *//** * @brief ESP_BLE_MESH_MODEL_PUBLISH_UPDATE_EVT *//* ... */structble_mesh_model_publish_update_evt_param{esp_ble_mesh_model_t*model;/*!< Pointer to the model which is going to update its publish message */}{ ... }model_publish_update;/*!< Event parameter of ESP_BLE_MESH_MODEL_PUBLISH_UPDATE_EVT *//** * @brief ESP_BLE_MESH_SERVER_MODEL_UPDATE_STATE_COMP_EVT *//* ... */structble_mesh_server_model_update_state_comp_param{interr_code;/*!< Indicate the result of updating server model state */esp_ble_mesh_model_t*model;/*!< Pointer to the server model which state value is updated */esp_ble_mesh_server_state_type_ttype;/*!< Type of the updated server state */}{ ... }server_model_update_state;/*!< Event parameter of ESP_BLE_MESH_SERVER_MODEL_UPDATE_STATE_COMP_EVT */}{ ... }esp_ble_mesh_model_cb_param_t;#ifdef__cplusplus}{...}#endif/* ... */#endif/* _ESP_BLE_MESH_DEFS_H_ */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.