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_light.hpp File Reference

Header file for MeshX Light Client model declarations. More...

Go to the source code of this file.

Data Structures

class  meshXBaseLightClientModel
 Template specialization of meshXBaseClientModel for Light BLE mesh models. More...
class  meshXBaseLightServerModel
 Implementation of meshXBaseServerModel for Light BLE mesh models. More...

Macros

#define MESHX_BASE_LIGHT_SERVER_TEMPLATE_PROTO
#define MESHX_BASE_LIGHT_SERVER_TEMPLATE_PARAMS
#define MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PROTO
#define MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PARAMS

Typedefs

using meshx_light_cli_resend_ctx_t
using meshx_light_client_msg_ctx_t
using meshx_light_server_restore_params_t

Detailed Description

Header file for MeshX Light Client model declarations.

This header file contains the declarations for Light BLE mesh model classes that extend the template-based meshXBaseClientModel. It defines the specific implementation for Light models including message contexts, callback structures, and the main Light Client model class.

Key Components:

  • Light Client message context structures for TXCM integration
  • Resend context for timeout and retry mechanisms
  • meshXBaseLightClientModel class with Light-specific functionality
  • Platform-specific message sending and handling interfaces
  • Opcode validation for Light model operations

Template Specialization: This file provides concrete implementations of the template-based base classes specifically tailored for Light BLE mesh models, ensuring type safety and optimal performance for Light Lightness, CTL, HSL, XYL, and LC models.

Author
Pranjal Chanda
Date
2024-2025

Macro Definition Documentation

◆ MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PARAMS

#define MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PARAMS

◆ MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PROTO

#define MESHX_BASE_LIGHT_CLIENT_TEMPLATE_PROTO

◆ MESHX_BASE_LIGHT_SERVER_TEMPLATE_PARAMS

#define MESHX_BASE_LIGHT_SERVER_TEMPLATE_PARAMS

◆ MESHX_BASE_LIGHT_SERVER_TEMPLATE_PROTO

#define MESHX_BASE_LIGHT_SERVER_TEMPLATE_PROTO

Typedef Documentation

◆ meshx_light_cli_resend_ctx_t

Initial value:
{
uint16_t model_id;
}
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...
Structure containing the model ID and parameter for light client model message re-sending.
48{
49 uint16_t model_id; /**< Model ID associated with the re-sending. */
50 meshx_gen_light_cli_cb_param_t param; /**< Parameter associated with the re-sending. */
51};

◆ meshx_light_client_msg_ctx_t

Initial value:
{
meshx_ptr_t model;
uint16_t opcode;
uint16_t addr;
uint16_t net_idx;
uint16_t app_idx;
}
void * meshx_ptr_t
Definition meshx_ble_mesh_cmn_def.h:636
uint8_t state
Definition meshx_serial.c:39
Structure containing the message context for light client model messages.
Lighting Client Model set message union.
Definition meshx_ble_mesh_light_cli.h:210
60{
61 meshx_ptr_t model; /**< Model context associated with the message. */
62 uint16_t opcode; /**< Opcode associated with the message. */
63 uint16_t addr; /**< Destination address associated with the message. */
64 uint16_t net_idx; /**< Network index associated with the message. */
65 uint16_t app_idx; /**< Application key index associated with the message. */
66 meshx_light_client_set_state_t state; /**< State parameters associated with the message. */
67};

◆ meshx_light_server_restore_params_t

Initial value:
struct meshx_light_server_restore_params
{
meshx_model_t *p_model;
}
struct meshx_model meshx_model_t
struct meshx_lighting_server_state meshx_lighting_server_state_t
Lighting Server Model state Used to set/restore the model state values internally.
162{
163 meshx_model_t *p_model; /**< Pointer to the server model. */
164 meshx_lighting_server_state_t state_change; /**< State change information. Platform Interface. */
165};