19#ifndef _MESHX_MODEL_LIGHTNESS_HPP_
20#define _MESHX_MODEL_LIGHTNESS_HPP_
25#define MESHX_LIGHT_LIGHTNESS_CLIENT_MODEL_TEMPLATE_PROTO
26#define MESHX_LIGHT_LIGHTNESS_CLIENT_MODEL_TEMPLATE_PARAMS
28#define MESHX_LIGHT_LIGHTNESS_SERVER_MODEL_TEMPLATE_PROTO
29#define MESHX_LIGHT_LIGHTNESS_SERVER_MODEL_TEMPLATE_PARAMS
59#if CONFIG_ENABLE_LIGHT_LIGHTNESS_CLIENT
64struct meshx_light_lightness_cli_el_msg
70using meshx_light_lightness_cli_el_msg_t =
struct meshx_light_lightness_cli_el_msg;
83 :
public meshXClientModel<meshXBaseLightClientModel, meshx_light_lightness_send_params_t>
99 meshx_err_t request_lightness (uint16_t lightness, uint8_t tid);
101 meshXLightLightnessClientModel(
102 meshXElementIF *parent_element =
nullptr,
104 uint16_t model_func_id = 0
106 ~meshXLightLightnessClientModel() =
default;
112#if CONFIG_ENABLE_LIGHT_LIGHTNESS_SERVER
117struct meshx_light_lightness_srv_el_msg
123using meshx_light_lightness_srv_el_msg_t =
struct meshx_light_lightness_srv_el_msg;
136 :
public meshXServerModel<meshXBaseLightServerModel, meshx_light_lightness_send_params_t>
149 meshx_err_t request_status (uint16_t dst_addr = 0);
151 meshXLightLightnessServerModel(
152 meshXElementIF *parent_element =
nullptr,
154 uint16_t model_func_id = 0
156 ~meshXLightLightnessServerModel() =
default;
Base class for all client models in the mesh network.
Definition meshx_model_class.hpp:429
virtual meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr)=0
Create logical model instance.
virtual meshx_err_t plat_model_delete(void)=0
Delete logical model instance.
virtual meshx_err_t element_state_change_handle(void)=0
Handle state change request from element.
virtual meshx_err_t model_from_ble_cb(dev_struct_t *dev, control_task_msg_evt_t evt, meshx_ptr_t data)=0
virtual meshx_err_t model_send(meshx_send_packet_params_t *params)=0
Base class for all server models in MeshX.
Definition meshx_model_class.hpp:366
Header file for MeshX Light Client model declarations.
struct meshx_model meshx_model_t
struct meshx_ctx meshx_ctx_t
Structure to hold context information for BLE Mesh operations.
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
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...
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.
Definition meshx_control_task.h:81
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
Template declarations for MeshX model wrapper classes.
struct meshx_cli_model_send_param_header meshx_cli_model_send_param_header_t
Definition meshx_model_class.hpp:417
struct meshx_srv_model_send_param_header meshx_srv_model_send_param_header_t
Definition meshx_model_class.hpp:354
struct meshx_light_lightness_model_state meshx_light_lightness_model_state_t
Definition meshx_model_lightness.hpp:44
#define MESHX_LIGHT_LIGHTNESS_SERVER_MODEL_TEMPLATE_PARAMS
Definition meshx_model_lightness.hpp:29
#define MESHX_LIGHT_LIGHTNESS_CLIENT_MODEL_TEMPLATE_PARAMS
Definition meshx_model_lightness.hpp:26
#define MESHX_LIGHT_LIGHTNESS_CLIENT_MODEL_TEMPLATE_PROTO
Definition meshx_model_lightness.hpp:25
#define MESHX_LIGHT_LIGHTNESS_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_lightness.hpp:28
struct meshx_light_lightness_send_params meshx_light_lightness_send_params_t
Definition meshx_model_lightness.hpp:57
uint8_t state
Definition meshx_serial.c:39
Structure to hold the Light Lightness model state.
Definition meshx_model_lightness.hpp:35
uint16_t lightness_last
Definition meshx_model_lightness.hpp:38
uint16_t range_min
Definition meshx_model_lightness.hpp:40
uint16_t target_lightness
Definition meshx_model_lightness.hpp:37
uint16_t lightness_default
Definition meshx_model_lightness.hpp:39
uint16_t present_lightness
Definition meshx_model_lightness.hpp:36
uint16_t range_max
Definition meshx_model_lightness.hpp:41
Structure to hold the parameters for sending a Light Lightness message.
Definition meshx_model_lightness.hpp:50
uint8_t tid
Definition meshx_model_lightness.hpp:53
meshx_light_lightness_model_state_t state
Definition meshx_model_lightness.hpp:54
meshx_ctx_t * ctx
Definition meshx_model_lightness.hpp:52
meshx_model_t * model
Definition meshx_model_lightness.hpp:51