27#define MESHX_CLIENT_INIT_MAGIC_NO 0x8709
39 [ESP_BLE_MESH_GENERIC_CLIENT_PUBLISH_EVT] =
"PUBLISH_EVT",
40 [ESP_BLE_MESH_GENERIC_CLIENT_TIMEOUT_EVT] =
"TIMEOUT_EVT",
41 [ESP_BLE_MESH_GENERIC_CLIENT_GET_STATE_EVT] =
"GET_STATE_EVT",
42 [ESP_BLE_MESH_GENERIC_CLIENT_SET_STATE_EVT] =
"SET_STATE_EVT",
77 param->params->ctx.recv_op, param->params->ctx.addr, param->params->ctx.recv_dst);
81 .net_idx = param->params->ctx.net_idx,
82 .app_idx = param->params->ctx.app_idx,
83 .dst_addr = param->params->ctx.recv_dst,
84 .src_addr = param->params->ctx.addr,
85 .opcode = param->params->ctx.recv_op,
86 .p_ctx = ¶m->params->ctx
89 .pub_addr = param->params->model->pub->publish_addr,
90 .model_id = param->params->model->model_id,
91 .el_id = param->params->model->element_idx,
92 .p_model = param->params->model
95 .err_code = param->error_code,
136 esp_err_t esp_err = esp_ble_mesh_register_generic_client_callback(
138 if (esp_err != ESP_OK)
162 if (!p_model || !p_pub || !p_onoff_cli)
167 uint16_t model_id = ESP_BLE_MESH_MODEL_ID_GEN_ONOFF_CLI;
216 uint16_t opcode, uint16_t addr,
217 uint16_t net_idx, uint16_t app_idx,
221 if (!p_model || !p_set)
226 esp_ble_mesh_client_common_param_t common = {0};
227 common.model = p_model;
228 common.opcode = opcode;
229 common.ctx.addr = addr;
230 common.ctx.net_idx = net_idx;
231 common.ctx.app_idx = app_idx;
232 common.ctx.send_ttl = BLE_MESH_TTL_DEFAULT;
233 common.msg_timeout = 0;
235 esp_err_t err = ESP_OK;
244 err = esp_ble_mesh_generic_client_set_state(
246 (esp_ble_mesh_generic_client_set_state_t *)p_set
256 err = esp_ble_mesh_generic_client_get_state(
258 (esp_ble_mesh_generic_client_get_state_t *)p_set
static void esp_ble_mesh_generic_client_cb(MESHX_GEN_CLI_CB_EVT event, MESHX_GEN_CLI_CB_PARAM *param)
Callback function for handling BLE Mesh Generic Client events.
meshx_err_t meshx_plat_gen_cli_delete(meshx_ptr_t *p_pub, meshx_ptr_t *p_cli)
Deletes the Generic OnOff Client model and its associated resources.
meshx_err_t meshx_plat_gen_cli_send_msg(meshx_ptr_t p_model, meshx_gen_cli_set_t *p_set, uint16_t opcode, uint16_t addr, uint16_t net_idx, uint16_t app_idx, bool is_get_opcode)
Sends a Generic Client message over BLE Mesh.
meshx_err_t meshx_plat_on_off_gen_cli_create(meshx_ptr_t p_model, meshx_ptr_t *p_pub, meshx_ptr_t *p_onoff_cli)
Creates a Generic OnOff client model and its publication context.
meshx_err_t meshx_plat_gen_cli_init(void)
Initialize the meshxuction generic client.
static const char * client_state_str[]
Mapping of BLE Mesh client state events to string representations.
meshx_err_t meshx_plat_del_model_pub(meshx_ptr_t *p_pub)
Deletes the model and publication objects.
meshx_err_t meshx_plat_client_create(meshx_ptr_t p_model, meshx_ptr_t *p_pub, meshx_ptr_t *p_cli)
Creates and initializes a generic client model for BLE Mesh.
Header file for BLE Mesh Generic Client functionality in the MeshX framework. This file contains decl...
struct meshx_gen_cli_cb_param meshx_gen_cli_cb_param_t
Callback parameters for Generic Client Model events. This structure is used to pass information about...
Header file for the control task in the BLE mesh node application.
@ CONTROL_TASK_MSG_CODE_FRM_BLE
meshx_err_t control_task_msg_publish(control_task_msg_code_t msg_code, control_task_msg_evt_t msg_evt, const void *msg_evt_params, size_t sizeof_msg_evt_params)
Publish a control task message.
meshx_err_t
MeshX Error Codes.
#define MESHX_CLIENT_INIT_MAGIC_NO
uint16_t meshx_client_init
#define MESHX_LOGE(module_id, format,...)
#define MESHX_LOGD(module_id, format,...)
meshx_gen_client_status_cb_t status
Generic Client Model set message union.
meshx_gen_onoff_set_t onoff_set
Generic Client Model received message union.