18#ifndef _MESHX_MODEL_POWER_LEVEL_HPP_
19#define _MESHX_MODEL_POWER_LEVEL_HPP_
24#define MESHX_GEN_POWER_LEVEL_CLIENT_MODEL_TEMPLATE_PROTO
25#define MESHX_GEN_POWER_LEVEL_CLIENT_MODEL_TEMPLATE_PARAMS
27#define MESHX_GEN_POWER_LEVEL_SERVER_MODEL_TEMPLATE_PROTO
28#define MESHX_GEN_POWER_LEVEL_SERVER_MODEL_TEMPLATE_PARAMS
30#define MESHX_GEN_POWER_LEVEL_SETUP_SERVER_MODEL_TEMPLATE_PROTO
31#define MESHX_GEN_POWER_LEVEL_SETUP_SERVER_MODEL_TEMPLATE_PARAMS
66#if CONFIG_ENABLE_GEN_POWER_LEVEL_CLIENT
116#if CONFIG_ENABLE_GEN_POWER_LEVEL_SERVER
173#if CONFIG_ENABLE_GEN_POWER_LEVEL_SETUP_SERVER
Interface class for MeshX elements.
Definition meshx_fwd_decl.hpp:82
meshx_gen_power_level_model_state_t model_state
Definition meshx_model_power_level.hpp:93
meshx_power_level_cli_el_msg_t element_msg
Definition meshx_model_power_level.hpp:96
meshx_err_t model_send(meshx_gen_power_level_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_power_level.cpp:168
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_power_level.cpp:99
meshXGenericPowerLevelClientModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
A template class for creating Generic Power Level Client models.
Definition meshx_model_power_level.cpp:253
~meshXGenericPowerLevelClientModel()=default
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Creates a meshXGenericPowerLevelClientModel instance based on a BLE device.
Definition meshx_model_power_level.cpp:135
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_power_level.cpp:72
meshx_err_t meshx_state_change_notify(const meshx_gen_cli_cb_param_t *param, uint8_t status)
Handle Generic Power Level state change notifications from the MeshX stack.
Definition meshx_model_power_level.cpp:38
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_power_level.cpp:359
meshx_gen_power_level_model_state_t model_state
Definition meshx_model_power_level.hpp:145
meshx_err_t model_send(meshx_gen_power_level_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_power_level.cpp:276
meshx_err_t plat_model_delete(void) override
Deletes the Generic Power Level Server model and its associated resources.
Definition meshx_model_power_level.cpp:482
meshx_err_t plat_model_create(MESHX_MODEL *p_plat_model_ptr=nullptr) override
Creates and initializes a server model instance for Generic Power Level Server.
Definition meshx_model_power_level.cpp:447
meshx_power_level_srv_el_msg_t element_msg
Definition meshx_model_power_level.hpp:148
meshx_err_t element_state_change_handle(void) override
Handle state change request from element.
Definition meshx_model_power_level.cpp:390
~meshXGenericPowerLevelServerModel()=default
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic Power Level Server Model.
Definition meshx_model_power_level.cpp:312
bool element_msg_prepared
Definition meshx_model_power_level.hpp:151
meshXGenericPowerLevelServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic Power Level Server Model.
Definition meshx_model_power_level.cpp:424
bool element_msg_prepared
Definition meshx_model_power_level.hpp:190
meshx_err_t prepare_element_msg(meshx_ptr_t *msg_ptr, size_t *msg_size) override
Prepare message for element notification.
Definition meshx_model_power_level.cpp:610
meshx_err_t model_from_ble_cb(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t) override
Callback function for handling BLE mesh events for Generic Power Level Setup Server Model.
Definition meshx_model_power_level.cpp:563
meshXGenericPowerLevelSetupServerModel(meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Constructor for Generic Power Level Setup Server Model.
Definition meshx_model_power_level.cpp:511
~meshXGenericPowerLevelSetupServerModel()=default
meshx_err_t model_send(meshx_gen_power_level_send_params_t *params) override
Send a packet to the MeshX stack based on the given parameters.
Definition meshx_model_power_level.cpp:530
meshx_power_level_srv_el_msg_t element_msg
Definition meshx_model_power_level.hpp:187
meshXElementIF * parent_element
Definition meshx_model_class.hpp:42
meshx_err_t status
Definition meshx_model_class.hpp:179
uint16_t model_func_id
Definition meshx_model_class.hpp:181
meshXClientModel(MESHX_MODEL *p_plat_model, uint32_t model_id, meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Definition meshx_model_class.cpp:216
meshXServerModel(MESHX_MODEL *p_plat_model, uint32_t model_id, meshXElementIF *parent_element=nullptr, meshx_ptr_t parent_element_state=nullptr, uint16_t model_func_id=0)
Definition meshx_model_class.cpp:200
Header file for MeshX Generic Client and Server 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_cli_cb_param meshx_gen_cli_cb_param_t
Callback parameters for Generic Client Model events. This structure is used to pass information about...
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_gen_power_level_send_params meshx_gen_power_level_send_params_t
Definition meshx_model_power_level.hpp:64
struct meshx_power_level_cli_el_msg meshx_power_level_cli_el_msg_t
Definition meshx_model_power_level.hpp:78
struct meshx_gen_power_level_model_state meshx_gen_power_level_model_state_t
Definition meshx_model_power_level.hpp:49
#define MESHX_GEN_POWER_LEVEL_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_power_level.hpp:27
#define MESHX_GEN_POWER_LEVEL_CLIENT_MODEL_TEMPLATE_PROTO
Definition meshx_model_power_level.hpp:24
#define MESHX_GEN_POWER_LEVEL_SETUP_SERVER_MODEL_TEMPLATE_PROTO
Definition meshx_model_power_level.hpp:30
struct meshx_power_level_srv_el_msg meshx_power_level_srv_el_msg_t
Definition meshx_model_power_level.hpp:129
Structure to hold the Power Level model state.
Definition meshx_model_power_level.hpp:37
uint16_t present_power
Definition meshx_model_power_level.hpp:38
struct meshx_gen_power_level_model_state::@050173321264060024351136101134302133204105226056 range
uint8_t remain_time
Definition meshx_model_power_level.hpp:40
uint16_t range_max
Definition meshx_model_power_level.hpp:45
uint16_t range_min
Definition meshx_model_power_level.hpp:44
uint16_t power_default
Definition meshx_model_power_level.hpp:41
uint16_t target_power
Definition meshx_model_power_level.hpp:39
Structure to hold the parameters for sending a Generic Power Level message.
Definition meshx_model_power_level.hpp:55
uint8_t tid
Definition meshx_model_power_level.hpp:58
uint8_t transition_time
Definition meshx_model_power_level.hpp:59
uint8_t delay
Definition meshx_model_power_level.hpp:60
meshx_ctx_t * ctx
Definition meshx_model_power_level.hpp:57
meshx_gen_power_level_model_state_t state
Definition meshx_model_power_level.hpp:61
meshx_model_t * model
Definition meshx_model_power_level.hpp:56
Structure to hold the Power Level Server to parent element message. The structure is used by the on_m...
Definition meshx_model_power_level.hpp:73
meshx_cli_model_send_param_header_t header
Definition meshx_model_power_level.hpp:74
meshx_gen_power_level_model_state_t state
Definition meshx_model_power_level.hpp:75
Structure to hold the Power Level Server to parent element message. The structure is used by the on_m...
Definition meshx_model_power_level.hpp:124
meshx_gen_power_level_model_state_t state
Definition meshx_model_power_level.hpp:126
meshx_srv_model_send_param_header_t header
Definition meshx_model_power_level.hpp:125