14#if CONFIG_ENABLE_GEN_ONOFF_SERVER
32 meshx_on_off_srv_el_msg_t srv_onoff_param = {
33 .model = param->
model,
42 sizeof(meshx_on_off_srv_el_msg_t));
129 .onoff = on_off_state
151#if CONFIG_ENABLE_SERVER_COMMON
186meshx_err_t meshx_on_off_server_create(meshx_onoff_server_model_t **p_model,
void *p_sig_model)
188 if (!p_model || !p_sig_model)
193 *p_model = (meshx_onoff_server_model_t *)
MESHX_CALOC(1,
sizeof(meshx_onoff_server_model_t));
201 &((*p_model)->meshx_pub),
202 &((*p_model)->meshx_gen));
217meshx_err_t meshx_on_off_server_delete(meshx_onoff_server_model_t **p_model)
219 if (p_model == NULL || *p_model == NULL)
225 &((*p_model)->meshx_pub),
226 &((*p_model)->meshx_gen)
249meshx_err_t meshx_gen_on_off_srv_state_restore(
meshx_ptr_t p_model, meshx_on_off_srv_el_state_t onoff_state)
286 if (!p_model || !p_send_pack)
meshx_err_t meshx_is_group_subscribed(meshx_model_t *p_model, uint16_t addr)
Checks if a model is subscribed to a specific group address.
struct meshx_model meshx_model_t
struct meshx_ctx meshx_ctx_t
Structure to hold context information for BLE Mesh operations.
#define MESHX_ADDR_IS_GROUP(_addr)
#define MESHX_MODEL_OP_GEN_ONOFF_STATUS
#define MESHX_MODEL_OP_GEN_ONOFF_SET_UNACK
#define MESHX_MODEL_OP_GEN_ONOFF_GET
#define MESHX_MODEL_OP_GEN_ONOFF_SET
#define MESHX_MODEL_ID_GEN_ONOFF_SRV
#define MESHX_ADDR_IS_UNICAST(_addr)
#define MESHX_ADDR_BROADCAST(_addr)
meshx_err_t meshx_plat_gen_srv_delete(void **p_pub, void **p_srv)
Deletes the Generic OnOff Server model and its associated resources.
meshx_err_t meshx_plat_on_off_gen_srv_create(void *p_model, void **p_pub, void **p_onoff_srv)
Creates a Generic OnOff Server model and its publication context.
control_task_msg_handle_t meshx_server_cb
meshx_err_t meshx_plat_gen_on_off_srv_restore(void *p_model, uint8_t state)
Restores the state of the Generic OnOff Server model.
struct meshx_gen_srv_cb_param meshx_gen_srv_cb_param_t
struct dev_struct dev_struct_t
Structure representing the device composition and elements.
CONTROL_TASK_MSG_EVT_TO_BLE_SET_ON_OFF_SRV
uint32_t control_task_msg_evt_t
Type definition for control task message event.
CONTROL_TASK_MSG_EVT_EL_STATE_CH_SET_ON_OFF
@ CONTROL_TASK_MSG_CODE_EL_STATE_CH
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.
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_err_t meshx_gen_srv_send_msg_to_ble(control_task_msg_evt_to_ble_t evt, const meshx_gen_srv_cb_param_t *params)
Sends a message to the BLE subsystem via the control task.
meshx_err_t meshx_gen_srv_reg_cb(uint32_t model_id, meshx_server_cb cb)
Registers a callback function for a specific generic server model.
meshx_err_t meshx_gen_srv_init(void)
Initialize the meshxuction generic server.
meshx_err_t meshx_gen_srv_status_send(meshx_model_t *p_model, meshx_ctx_t *p_ctx, meshx_gen_srv_state_change_t state_change, size_t data_len)
Sends a status message for the Generic Server model.
static meshx_err_t meshx_state_change_notify(meshx_lighting_server_cb_param_t *param)
Perform hardware change for the light control server model.
#define MESHX_LOGE(module_id, format,...)
#define MESHX_LOGD(module_id, format,...)
Header file for the On/Off Server model in the BLE Mesh Node application.
meshx_gen_srv_state_change_t state_change
meshx_state_change_gen_onoff_set_t onoff_set