19#if CONFIG_ENABLE_GEN_CLIENT
20#define MESHX_CLIENT_INIT_MAGIC_NO 0x1121
380 err = reg_cb->
cb(pdev, model_id, param);
428 if (!params || !params->
model || !params->
state)
441 .addr = params->
addr,
442 .model = params->
model,
#define MESHX_MODEL_OP_GEN_USER_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_USER_PROPERTY_SET_UNACK
#define MESHX_MODEL_ID_GEN_POWER_ONOFF_CLI
#define MESHX_MODEL_OP_GEN_BATTERY_GET
#define MESHX_MODEL_OP_GEN_CLIENT_PROPERTIES_GET
#define MESHX_MODEL_ID_GEN_BATTERY_CLI
#define MESHX_MODEL_OP_GEN_LOC_LOCAL_GET
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTY_SET_UNACK
#define MESHX_MODEL_ID_GEN_ONOFF_CLI
#define MESHX_MODEL_ID_GEN_LEVEL_CLI
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTY_GET
#define MESHX_MODEL_OP_GEN_ONOFF_SET_UNACK
#define MESHX_MODEL_ID_GEN_POWER_LEVEL_CLI
#define MESHX_MODEL_OP_GEN_POWER_LEVEL_GET
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTY_SET_UNACK
#define MESHX_MODEL_OP_GEN_LEVEL_SET_UNACK
#define MESHX_MODEL_OP_GEN_POWER_LEVEL_SET_UNACK
#define MESHX_MODEL_OP_GEN_LEVEL_GET
#define MESHX_MODEL_OP_GEN_USER_PROPERTY_GET
#define MESHX_ADDR_UNASSIGNED
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_ONOFF_GET
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTY_GET
#define MESHX_MODEL_OP_GEN_LOC_GLOBAL_GET
#define MESHX_MODEL_OP_GEN_LOC_LOCAL_SET_UNACK
#define MESHX_MODEL_OP_GEN_ONPOWERUP_GET
#define MESHX_MODEL_ID_GEN_LOCATION_CLI
#define MESHX_ADDR_IS_UNICAST(_addr)
#define MESHX_MODEL_OP_GEN_ONPOWERUP_SET_UNACK
#define MESHX_MODEL_OP_GEN_LOC_GLOBAL_SET_UNACK
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...
control_task_msg_handle_t meshx_gen_client_cb_t
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_gen_cli_init(void)
Initialize the meshxuction generic client.
struct dev_struct dev_struct_t
Structure representing the device composition and elements.
uint32_t control_task_msg_evt_t
Type definition for control task message event.
meshx_err_t(* control_task_msg_handle_t)(dev_struct_t *pdev, control_task_msg_evt_t evt, void *params)
Function pointer type for control task message handler.
@ CONTROL_TASK_MSG_CODE_FRM_BLE
meshx_err_t control_task_msg_subscribe(control_task_msg_code_t msg_code, control_task_msg_evt_t evt_bmap, control_task_msg_handle_t callback)
Subscribe to a control task message.
meshx_err_t
MeshX Error Codes.
meshx_err_t meshx_gen_client_from_ble_reg_cb(uint32_t model_id, meshx_gen_client_cb_t cb)
Registers a callback function for a specific generic server model.
struct meshx_gen_cli_cb_reg meshx_gen_cli_cb_reg_t
static meshx_err_t meshx_gen_cli_handle_resend(uint16_t model_id, const meshx_gen_cli_cb_param_t *param)
Handles resend request for generic client messages.
struct meshx_gen_client_msg_ctx meshx_gen_client_msg_ctx_t
static meshx_err_t meshx_gen_cli_handle_ack(uint16_t src_addr)
Handles ack request for generic client messages.
#define MESHX_CLIENT_INIT_MAGIC_NO
meshx_err_t meshx_gen_cli_send_msg(meshx_gen_client_send_params_t *params)
Sends a Generic Client message over BLE Mesh.
static meshx_err_t meshx_is_gen_cli_model(uint32_t model_id)
Checks if the given model ID corresponds to a Generic Client model.
static meshx_err_t meshx_handle_gen_onoff_msg(dev_struct_t *pdev, control_task_msg_evt_t model_id, meshx_gen_cli_cb_param_t *param)
Handle the Generic OnOff Client messages.
meshx_gen_cli_cb_reg_node_t * cli_cb_reg_head
static meshx_err_t meshx_is_unack_opcode(uint32_t opcode)
Checks if the given opcode corresponds to an unacknowledged (unack) message.
static meshx_err_t meshx_handle_txcm_msg(dev_struct_t *pdev, control_task_msg_evt_t evt, meshx_gen_cli_resend_ctx *param)
Handles a control task message for a generic client model.
struct meshx_gen_cli_cb_reg_node meshx_gen_cli_cb_reg_node_t
static meshx_err_t meshx_is_gen_cli_get_opcode(uint16_t opcode)
Checks if the given opcode corresponds to a GET request in the Generic Client group.
static meshx_err_t meshx_gen_client_txcm_fn_model_send(meshx_gen_client_msg_ctx_t *msg_param, size_t msg_param_len)
Transmit callback handler for sending Generic Client model messages.
meshx_err_t meshx_gen_client_init(void)
Initialize the mesh fuction generic client.
static meshx_err_t meshx_gen_cli_cb_reg_add(meshx_gen_cli_cb_reg_t reg)
Adds a new callback registration to the linked list of registered callbacks.
Implementation of the MeshX generic client model for BLE mesh nodes. This file contains functions for...
struct meshx_gen_client_send_params meshx_gen_client_send_params_t
Generic Client Model send parameters. This structure is used to pass parameters to the Generic Client...
#define MESHX_LOGE(module_id, format,...)
#define MESHX_LOGD(module_id, format,...)
MeshX Tx Control Module This header file contains the definitions and function prototypes for the Mes...
meshx_err_t meshx_txcm_request_send(meshx_txcm_sig_t request_type, uint16_t dest_addr, meshx_cptr_t msg_param, uint16_t msg_param_len, meshx_txcm_fn_model_send_t send_fn)
Sends a request to the Tx Control module.
control_task_msg_handle_t meshx_txcm_cb_t
meshx_txcm_sig_t
Enumeration of signal types for the Tx Control Module.
@ MESHX_TXCM_SIG_ENQ_SEND
@ MESHX_TXCM_SIG_DIRECT_SEND
meshx_err_t(* meshx_txcm_fn_model_send_t)(meshx_cptr_t msg_param, size_t msg_param_len)
Function pointer the Model client layer needs to provide for the msg to be sent for both MESHX_TXCM_S...
meshx_err_t meshx_txcm_event_cb_reg(meshx_txcm_cb_t event_cb)
Registers a callback function for handling Tx Control module events.
Structure containing control variables for the generic client model.
Structure containing a node in the linked list of registered callbacks.
struct meshx_gen_cli_cb_reg_node * next
meshx_gen_cli_cb_reg_t reg
Structure containing the model ID and callback function for generic client model registrations.
Structure containing the model ID and parameter for generic client model message re-sending.
meshx_gen_cli_cb_param_t param
Structure containing the message context for generic client model messages.
meshx_gen_cli_set_t state
meshx_gen_cli_set_t * state
Generic Client Model set message union.