16#define LIGHT_CTL_CLIENT_INIT_MAGIC 0x8932
18#if CONFIG_LIGHT_CTL_CLIENT_COUNT > 0
159 if (!p_model || !p_sig_model)
172 &((*p_model)->meshx_pub),
173 &((*p_model)->meshx_gen));
190 if (p_model == NULL || *p_model == NULL)
196 &((*p_model)->meshx_pub),
197 &((*p_model)->meshx_gen)
226 .addr = params->
addr,
273 .addr = params->
addr,
321 .addr = params->
addr,
363 if (!p_ctl_prev_state || !param || !p_ctl_next_state)
368 bool state_change =
false;
#define MESHX_MODEL_ID_LIGHT_CTL_CLI
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_STATUS
#define MESHX_MODEL_OP_LIGHT_CTL_SET
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_GET
#define MESHX_MODEL_OP_LIGHT_CTL_STATUS
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_SET_UNACK
#define MESHX_MODEL_OP_LIGHT_CTL_DEFAULT_STATUS
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_STATUS
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_SET
#define MESHX_MODEL_OP_LIGHT_CTL_SET_UNACK
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_GET
#define MESHX_MODEL_OP_LIGHT_CTL_GET
#define MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SET
meshx_err_t meshx_plat_light_client_delete(meshx_ptr_t *p_pub, meshx_ptr_t *p_cli)
Deletes the Light client instance and its associated publication context.
struct meshx_gen_light_cli_cb_param meshx_gen_light_cli_cb_param_t
Callback parameters for Generic Light Client Model events. This structure is used to pass information...
control_task_msg_handle_t meshx_gen_light_client_cb_t
@ MESHX_GEN_LIGHT_CLI_TIMEOUT
meshx_err_t meshx_plat_light_ctl_client_create(meshx_ptr_t p_model, meshx_ptr_t *p_pub, meshx_ptr_t *p_light_ctl_cli)
Creates and initializes a Light CTL (Color Temperature Light) client model instance.
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.
@ CONTROL_TASK_MSG_CODE_EL_STATE_CH
CONTROL_TASK_MSG_EVT_EL_STATE_CH_SET_CTL
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_light_msg(dev_struct_t *pdev, control_task_msg_evt_t model_id, meshx_gen_light_cli_cb_param_t *param)
Handle the Generic Light Client messages.
meshx_err_t meshx_gen_light_send_msg(const meshx_gen_light_client_send_params_t *params)
Send a message using the generic client model.
meshx_err_t meshx_gen_light_client_from_ble_reg_cb(uint16_t model_id, meshx_gen_light_client_cb_t cb)
Registers a callback function for getting Generic Light Client messages from BLE.
struct meshx_gen_light_client_send_params meshx_gen_light_client_send_params_t
Generic Light Client Model send parameters. This structure is used to pass parameters to the Generic ...
meshx_err_t meshx_gen_light_cli_init(void)
Initialize the meshxuction generic client.
meshx_err_t meshx_light_ctl_client_delete(meshx_light_ctl_client_model_t **p_model)
Delete the Light client model instance.
static meshx_err_t meshx_handle_gen_light_msg(const dev_struct_t *pdev, control_task_msg_evt_t model_id, const meshx_gen_light_cli_cb_param_t *param)
Handles generic light model messages for the Light CTL client.
meshx_err_t meshx_light_ctl_state_change_handle(const meshx_ctl_cli_el_msg_t *param, meshx_ctl_el_state_t *p_ctl_prev_state, const meshx_ctl_el_state_t *p_ctl_next_state)
Handles state changes for the Light CTL client element.
static meshx_err_t meshx_ctl_state_change_notify(const meshx_gen_light_cli_cb_param_t *param, uint8_t status)
Notifies about a change in the CTL (Color Temperature Lightness) state.
meshx_err_t meshx_light_ctl_client_create(meshx_light_ctl_client_model_t **p_model, void *p_sig_model)
Creates and initializes a Generic Light Client model instance.
meshx_err_t meshx_light_ctl_temperature_client_send_msg(meshx_gen_ctl_send_params_t *params)
Sends a Light CTL Temperature message from the client model.
meshx_err_t meshx_light_ctl_client_init()
Initialize the Light CTL Client model.
#define LIGHT_CTL_CLIENT_INIT_MAGIC
meshx_err_t meshx_light_ctl_temp_range_client_send_msg(meshx_gen_ctl_send_params_t *params)
Sends a Light CTL Temperature Range message from the client model.
meshx_err_t meshx_light_ctl_client_send_msg(meshx_gen_ctl_send_params_t *params)
Sends a Light CTL (Color Temperature Lightness) message from the Light CTL Client model.
static uint16_t light_ctl_client_init_flag
Header file for the Light CTL (Color Temperature Light) Client model.
struct meshx_ctl_el_state meshx_ctl_el_state_t
Structure to hold arguments for sending Light CTL messages.
struct meshx_ctl_cli_el_msg meshx_ctl_cli_el_msg_t
Structure to hold the On/Off Server to element message.
struct meshx_gen_ctl_send_params meshx_gen_ctl_send_params_t
Structure to hold the parameters for sending a Generic Ctl message.
meshx_model_interface_t meshx_light_ctl_client_model_t
Structure representing the Light CTL (Color Temperature Lightness) client model in MeshX.
#define MESHX_LOGE(module_id, format,...)
#define MESHX_LOGD(module_id, format,...)
meshx_ctl_el_state_t ctl_state
meshx_light_ctl_client_model_t * model
meshx_gen_light_cli_evt_t evt
meshx_gen_light_client_status_cb_t status
uint16_t present_ctl_temperature
uint16_t present_ctl_lightness
uint16_t present_ctl_delta_uv
uint16_t present_ctl_temperature
meshx_light_ctl_temperature_range_status_cb_t ctl_temperature_range_status
meshx_light_ctl_status_cb_t ctl_status
meshx_light_ctl_temperature_status_cb_t ctl_temperature_status
meshx_light_ctl_default_status_cb_t ctl_default_status
Lighting Client Model set message union.
meshx_light_ctl_set_t ctl_set
meshx_light_ctl_temperature_range_set_t ctl_temperature_range_set
meshx_light_ctl_temperature_set_t ctl_temperature_set