MeshX 0.4
This repository provides an implementation for Bluetooth Low Energy (BLE) Mesh network nodes. The project allows you to create BLE mesh nodes that can communicate with each other, enabling the development of smart home solutions or other IoT-based applications.
Loading...
Searching...
No Matches
meshx_base_model_sensor.hpp
Go to the documentation of this file.
1/**
2 * @file meshx_base_model_sensor.hpp
3 * @brief Header file for MeshX Sensor Server model declarations.
4 */
5
6#ifndef _MESHX_BASE_MODEL_SENSOR_H_
7#define _MESHX_BASE_MODEL_SENSOR_H_
8
10
11#define MESHX_BASE_SENSOR_SERVER_TEMPLATE_PROTO
12#define MESHX_BASE_SENSOR_SERVER_TEMPLATE_PARAMS
13
14#if CONFIG_ENABLE_SENSOR_SERVER
15
16/* Restore params for sensor server state restore */
17using meshx_sensor_server_restore_params_t = struct meshx_sensor_server_restore_params
18{
19 meshx_model_t *p_model; /**< Pointer to the server model. */
20 meshx_sensor_server_state_change_t state_change; /**< State change information. */
21};
22
23/* Send params for sensor server */
24using meshx_sensor_server_send_params_t = struct meshx_sensor_server_send_params
25{
26 meshx_model_t *model;
27 meshx_ctx_t *ctx;
29};
30
31
33class meshXBaseSensorServerModel : public meshXBaseServerModel<meshXBaseSensorServerModel, meshx_sensor_server_send_params_t, meshx_sensor_server_restore_params_t, meshx_sensor_server_cb_param_t>
34{
35public:
37 meshx_err_t plat_model_init(void) override;
38 meshx_err_t validate_server_status_opcode(uint16_t opcode) override;
39public:
43
45 ~meshXBaseSensorServerModel() override = default;
46};
47#endif /* CONFIG_ENABLE_SENSOR_SERVER */
48
49#endif /* _MESHX_BASE_MODEL_SENSOR_H_ */
meshx_err_t from_ble_reg_cb(void) const
Definition meshx_base_model_class.cpp:82
uint32_t model_id
Definition meshx_base_model_class.hpp:52
control_task_msg_handle_t from_ble_cb
Definition meshx_base_model_class.hpp:54
meshx_err_t server_state_restore(meshx_sensor_server_restore_params_t *param) override
Restores the state of the Sensor Server model.
Definition meshx_base_model_sensor.cpp:54
meshXBaseSensorServerModel(uint32_t model_id, meshx_ptr_t p_plat_model, const control_msg_cb &from_ble_cb)
Definition meshx_base_model_sensor.cpp:59
meshx_err_t validate_server_status_opcode(uint16_t opcode) override
Validate a sensor server status opcode.
Definition meshx_base_model_sensor.cpp:21
meshx_err_t plat_model_init(void) override
Initialization function for the Sensor Server model.
Definition meshx_base_model_sensor.cpp:13
meshx_err_t plat_send_msg(meshx_sensor_server_send_params_t *params) override
Sends a status message for the Sensor Server model.
Definition meshx_base_model_sensor.cpp:37
~meshXBaseSensorServerModel() override=default
This file declares the meshXBaseModel class and its derived Client and Server classes.
std::function< meshx_err_t(dev_struct_t *, control_task_msg_evt_t, meshx_ptr_t)> control_msg_cb
Definition meshx_base_model_class.hpp:32
struct meshx_sensor_server_restore_params { meshx_model_t *p_model; meshx_sensor_server_state_change_t state_change; } meshx_sensor_server_restore_params_t
Definition meshx_base_model_sensor.hpp:17
#define MESHX_BASE_SENSOR_SERVER_TEMPLATE_PROTO
Definition meshx_base_model_sensor.hpp:11
struct meshx_sensor_server_send_params { meshx_model_t *model; meshx_ctx_t *ctx; meshx_sensor_server_state_change_t state;} meshx_sensor_server_send_params_t
Definition meshx_base_model_sensor.hpp:24
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
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
uint8_t state
Definition meshx_serial.c:39
Sensor Server Model callback parameters.
Definition meshx_ble_mesh_sensor_srv.h:40
Definition meshx_ble_mesh_sensor_srv.h:33