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_ble_mesh_light_cli.h
Go to the documentation of this file.
1/**
2 * Copyright (c) 2024 - 2025 MeshX
3 *
4 * @file meshx_ble_mesh_light_cli.h
5 * @brief Header file for BLE Mesh Light Client functionality in the MeshX framework.
6 * This file contains declarations and includes required for implementing
7 * BLE Mesh Light Client operations.
8 *
9 * @author Pranjal Chanda
10 */
11
12#ifndef MESHX_BLE_MESH_LIGHT_CLI_H
13#define MESHX_BLE_MESH_LIGHT_CLI_H
14
16#include "meshx_control_task.h"
17
19
32
33/**
34 * @brief Bluetooth Mesh Light Lightness Client Model Get and Set parameters structure.
35 */
36
37/** Parameters of Light Lightness Set */
38typedef struct {
39 bool op_en; /*!< Indicate if optional parameters are included */
40 uint16_t lightness; /*!< Target value of light lightness actual state */
41 uint8_t tid; /*!< Transaction ID */
42 uint8_t trans_time; /*!< Time to complete state transition (optional) */
43 uint8_t delay; /*!< Indicate message execution delay (C.1) */
45
46/** Parameters of Light Lightness Linear Set */
47typedef struct {
48 bool op_en; /*!< Indicate if optional parameters are included */
49 uint16_t lightness; /*!< Target value of light lightness linear state */
50 uint8_t tid; /*!< Transaction ID */
51 uint8_t trans_time; /*!< Time to complete state transition (optional) */
52 uint8_t delay; /*!< Indicate message execution delay (C.1) */
54
55/** Parameter of Light Lightness Default Set */
56typedef struct {
57 uint16_t lightness; /*!< The value of the Light Lightness Default state */
59
60/** Parameters of Light Lightness Range Set */
61typedef struct {
62 uint16_t range_min; /*!< Value of range min field of light lightness range state */
63 uint16_t range_max; /*!< Value of range max field of light lightness range state */
65
66/** Parameters of Light CTL Set */
67typedef struct {
68 bool op_en; /*!< Indicate if optional parameters are included */
69 uint16_t ctl_lightness; /*!< Target value of light ctl lightness state */
70 uint16_t ctl_temperature; /*!< Target value of light ctl temperature state */
71 int16_t ctl_delta_uv; /*!< Target value of light ctl delta UV state */
72 uint8_t tid; /*!< Transaction ID */
73 uint8_t trans_time; /*!< Time to complete state transition (optional) */
74 uint8_t delay; /*!< Indicate message execution delay (C.1) */
76
77/** Parameters of Light CTL Temperature Set */
78typedef struct {
79 bool op_en; /*!< Indicate if optional parameters are included */
80 uint16_t ctl_temperature; /*!< Target value of light ctl temperature state */
81 int16_t ctl_delta_uv; /*!< Target value of light ctl delta UV state */
82 uint8_t tid; /*!< Transaction ID */
83 uint8_t trans_time; /*!< Time to complete state transition (optional) */
84 uint8_t delay; /*!< Indicate message execution delay (C.1) */
86
87/** Parameters of Light CTL Temperature Range Set */
88typedef struct {
89 uint16_t range_min; /*!< Value of temperature range min field of light ctl temperature range state */
90 uint16_t range_max; /*!< Value of temperature range max field of light ctl temperature range state */
92
93/** Parameters of Light CTL Default Set */
94typedef struct {
95 uint16_t lightness; /*!< Value of light lightness default state */
96 uint16_t temperature; /*!< Value of light temperature default state */
97 int16_t delta_uv; /*!< Value of light delta UV default state */
99
100/** Parameters of Light HSL Set */
101typedef struct {
102 bool op_en; /*!< Indicate if optional parameters are included */
103 uint16_t hsl_lightness; /*!< Target value of light hsl lightness state */
104 uint16_t hsl_hue; /*!< Target value of light hsl hue state */
105 uint16_t hsl_saturation; /*!< Target value of light hsl saturation state */
106 uint8_t tid; /*!< Transaction ID */
107 uint8_t trans_time; /*!< Time to complete state transition (optional) */
108 uint8_t delay; /*!< Indicate message execution delay (C.1) */
110
111/** Parameters of Light HSL Hue Set */
112typedef struct {
113 bool op_en; /*!< Indicate if optional parameters are included */
114 uint16_t hue; /*!< Target value of light hsl hue state */
115 uint8_t tid; /*!< Transaction ID */
116 uint8_t trans_time; /*!< Time to complete state transition (optional) */
117 uint8_t delay; /*!< Indicate message execution delay (C.1) */
119
120/** Parameters of Light HSL Saturation Set */
121typedef struct {
122 bool op_en; /*!< Indicate if optional parameters are included */
123 uint16_t saturation; /*!< Target value of light hsl hue state */
124 uint8_t tid; /*!< Transaction ID */
125 uint8_t trans_time; /*!< Time to complete state transition (optional) */
126 uint8_t delay; /*!< Indicate message execution delay (C.1) */
128
129/** Parameters of Light HSL Default Set */
130typedef struct {
131 uint16_t lightness; /*!< Value of light lightness default state */
132 uint16_t hue; /*!< Value of light hue default state */
133 uint16_t saturation; /*!< Value of light saturation default state */
135
136/** Parameters of Light HSL Range Set */
137typedef struct {
138 uint16_t hue_range_min; /*!< Value of hue range min field of light hsl hue range state */
139 uint16_t hue_range_max; /*!< Value of hue range max field of light hsl hue range state */
140 uint16_t saturation_range_min; /*!< Value of saturation range min field of light hsl saturation range state */
141 uint16_t saturation_range_max; /*!< Value of saturation range max field of light hsl saturation range state */
143
144/** Parameters of Light xyL Set */
145typedef struct {
146 bool op_en; /*!< Indicate whether optional parameters included */
147 uint16_t xyl_lightness; /*!< The target value of the Light xyL Lightness state */
148 uint16_t xyl_x; /*!< The target value of the Light xyL x state */
149 uint16_t xyl_y; /*!< The target value of the Light xyL y state */
150 uint8_t tid; /*!< Transaction Identifier */
151 uint8_t trans_time; /*!< Time to complete state transition (optional) */
152 uint8_t delay; /*!< Indicate message execution delay (C.1) */
154
155/** Parameters of Light xyL Default Set */
156typedef struct {
157 uint16_t lightness; /*!< The value of the Light Lightness Default state */
158 uint16_t xyl_x; /*!< The value of the Light xyL x Default state */
159 uint16_t xyl_y; /*!< The value of the Light xyL y Default state */
161
162/** Parameters of Light xyL Range Set */
163typedef struct {
164 uint16_t xyl_x_range_min; /*!< The value of the xyL x Range Min field of the Light xyL x Range state */
165 uint16_t xyl_x_range_max; /*!< The value of the xyL x Range Max field of the Light xyL x Range state */
166 uint16_t xyl_y_range_min; /*!< The value of the xyL y Range Min field of the Light xyL y Range state */
167 uint16_t xyl_y_range_max; /*!< The value of the xyL y Range Max field of the Light xyL y Range state */
169
170/** Parameter of Light LC Mode Set */
171typedef struct {
172 uint8_t mode; /*!< The target value of the Light LC Mode state */
174
175/** Parameter of Light LC OM Set */
176typedef struct {
177 uint8_t mode; /*!< The target value of the Light LC Occupancy Mode state */
179
180/** Parameters of Light LC Light OnOff Set */
181typedef struct {
182 bool op_en; /*!< Indicate whether optional parameters included */
183 uint8_t light_onoff; /*!< The target value of the Light LC Light OnOff state */
184 uint8_t tid; /*!< Transaction Identifier */
185 uint8_t trans_time; /*!< Time to complete state transition (optional) */
186 uint8_t delay; /*!< Indicate message execution delay (C.1) */
188
189/** Parameter of Light LC Property Get */
190typedef struct {
191 uint16_t property_id; /*!< Property ID identifying a Light LC Property */
193
194/** Parameters of Light LC Property Set */
195typedef struct {
196 uint16_t property_id; /*!< Property ID identifying a Light LC Property */
197 struct net_buf_simple *property_value; /*!< Raw value for the Light LC Property */
199
200/**
201 * @brief Lighting Client Model get message union
202 */
203typedef union {
204 meshx_light_lc_property_get_t lc_property_get; /*!< For MESHX_MODEL_OP_LIGHT_LC_PROPERTY_GET */
206
207/**
208 * @brief Lighting Client Model set message union
209 */
210typedef union {
211 meshx_light_lightness_set_t lightness_set; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_SET & MESHX_MODEL_OP_LIGHT_LIGHTNESS_SET_UNACK */
212 meshx_light_lightness_linear_set_t lightness_linear_set; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_SET & MESHX_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_SET_UNACK */
213 meshx_light_lightness_default_set_t lightness_default_set; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_SET & MESHX_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_SET_UNACK */
214 meshx_light_lightness_range_set_t lightness_range_set; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_RANGE_SET & MESHX_MODEL_OP_LIGHT_LIGHTNESS_RANGE_SET_UNACK */
215 meshx_light_ctl_set_t ctl_set; /*!< For MESHX_MODEL_OP_LIGHT_CTL_SET & MESHX_MODEL_OP_LIGHT_CTL_SET_UNACK */
216 meshx_light_ctl_temperature_set_t ctl_temperature_set; /*!< For MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_SET & MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_SET_UNACK */
217 meshx_light_ctl_temperature_range_set_t ctl_temperature_range_set; /*!< For MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SET & MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_SET_UNACK */
218 meshx_light_ctl_default_set_t ctl_default_set; /*!< For MESHX_MODEL_OP_LIGHT_CTL_DEFAULT_SET & MESHX_MODEL_OP_LIGHT_CTL_DEFAULT_SET_UNACK */
219 meshx_light_hsl_set_t hsl_set; /*!< For MESHX_MODEL_OP_LIGHT_HSL_SET & MESHX_MODEL_OP_LIGHT_HSL_SET_UNACK */
220 meshx_light_hsl_hue_set_t hsl_hue_set; /*!< For MESHX_MODEL_OP_LIGHT_HSL_HUE_SET & MESHX_MODEL_OP_LIGHT_HSL_HUE_SET_UNACK */
221 meshx_light_hsl_saturation_set_t hsl_saturation_set; /*!< For MESHX_MODEL_OP_LIGHT_HSL_SATURATION_SET & MESHX_MODEL_OP_LIGHT_HSL_SATURATION_SET_UNACK */
222 meshx_light_hsl_default_set_t hsl_default_set; /*!< For MESHX_MODEL_OP_LIGHT_HSL_DEFAULT_SET & MESHX_MODEL_OP_LIGHT_HSL_DEFAULT_SET_UNACK */
223 meshx_light_hsl_range_set_t hsl_range_set; /*!< For MESHX_MODEL_OP_LIGHT_HSL_RANGE_SET & MESHX_MODEL_OP_LIGHT_HSL_RANGE_SET_UNACK */
224 meshx_light_xyl_set_t xyl_set; /*!< For MESHX_MODEL_OP_LIGHT_XYL_SET & MESHX_MODEL_OP_LIGHT_XYL_SET_UNACK */
225 meshx_light_xyl_default_set_t xyl_default_set; /*!< For MESHX_MODEL_OP_LIGHT_XYL_DEFAULT_SET & MESHX_MODEL_OP_LIGHT_XYL_DEFAULT_SET_UNACK */
226 meshx_light_xyl_range_set_t xyl_range_set; /*!< For MESHX_MODEL_OP_LIGHT_XYL_RANGE_SET & MESHX_MODEL_OP_LIGHT_XYL_RANGE_SET_UNACK */
227 meshx_light_lc_mode_set_t lc_mode_set; /*!< For MESHX_MODEL_OP_LIGHT_LC_MODE_SET & MESHX_MODEL_OP_LIGHT_LC_MODE_SET_UNACK */
228 meshx_light_lc_om_set_t lc_om_set; /*!< For MESHX_MODEL_OP_LIGHT_LC_OM_SET & MESHX_MODEL_OP_LIGHT_LC_OM_SET_UNACK */
229 meshx_light_lc_light_onoff_set_t lc_light_onoff_set; /*!< For MESHX_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_SET & MESHX_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_SET_UNACK */
230 meshx_light_lc_property_set_t lc_property_set; /*!< For MESHX_MODEL_OP_LIGHT_LC_PROPERTY_SET & MESHX_MODEL_OP_LIGHT_LC_PROPERTY_SET_UNACK */
232
233/**
234 * @brief Bluetooth Mesh Light Lightness Client Model Get and Set callback parameters structure.
235 */
236
237/** Parameters of Light Lightness Status */
238typedef struct {
239 bool op_en; /*!< Indicate if optional parameters are included */
240 uint16_t present_lightness; /*!< Current value of light lightness actual state */
241 uint16_t target_lightness; /*!< Target value of light lightness actual state (optional) */
242 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
244
245/** Parameters of Light Lightness Linear Status */
246typedef struct {
247 bool op_en; /*!< Indicate if optional parameters are included */
248 uint16_t present_lightness; /*!< Current value of light lightness linear state */
249 uint16_t target_lightness; /*!< Target value of light lightness linear state (optional) */
250 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
252
253/** Parameter of Light Lightness Last Status */
254typedef struct {
255 uint16_t lightness; /*!< The value of the Light Lightness Last state */
257
258/** Parameter of Light Lightness Default Status */
259typedef struct {
260 uint16_t lightness; /*!< The value of the Light Lightness default State */
262
263/** Parameters of Light Lightness Range Status */
264typedef struct {
265 uint8_t status_code; /*!< Status Code for the request message */
266 uint16_t range_min; /*!< Value of range min field of light lightness range state */
267 uint16_t range_max; /*!< Value of range max field of light lightness range state */
269
270/** Parameters of Light CTL Status */
271typedef struct {
272 bool op_en; /*!< Indicate if optional parameters are included */
273 uint16_t present_ctl_lightness; /*!< Current value of light ctl lightness state */
274 uint16_t present_ctl_temperature; /*!< Current value of light ctl temperature state */
275 uint16_t target_ctl_lightness; /*!< Target value of light ctl lightness state (optional) */
276 uint16_t target_ctl_temperature; /*!< Target value of light ctl temperature state (C.1) */
277 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
279
280/** Parameters of Light CTL Temperature Status */
281typedef struct {
282 bool op_en; /*!< Indicate if optional parameters are included */
283 uint16_t present_ctl_temperature; /*!< Current value of light ctl temperature state */
284 uint16_t present_ctl_delta_uv; /*!< Current value of light ctl delta UV state */
285 uint16_t target_ctl_temperature; /*!< Target value of light ctl temperature state (optional) */
286 uint16_t target_ctl_delta_uv; /*!< Target value of light ctl delta UV state (C.1) */
287 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
289
290/** Parameters of Light CTL Temperature Range Status */
291typedef struct {
292 uint8_t status_code; /*!< Status code for the request message */
293 uint16_t range_min; /*!< Value of temperature range min field of light ctl temperature range state */
294 uint16_t range_max; /*!< Value of temperature range max field of light ctl temperature range state */
296
297/** Parameters of Light CTL Default Status */
298typedef struct {
299 uint16_t lightness; /*!< Value of light lightness default state */
300 uint16_t temperature; /*!< Value of light temperature default state */
301 int16_t delta_uv; /*!< Value of light delta UV default state */
303
304/** Parameters of Light HSL Status */
305typedef struct {
306 bool op_en; /*!< Indicate if optional parameters are included */
307 uint16_t hsl_lightness; /*!< Current value of light hsl lightness state */
308 uint16_t hsl_hue; /*!< Current value of light hsl hue state */
309 uint16_t hsl_saturation; /*!< Current value of light hsl saturation state */
310 uint8_t remain_time; /*!< Time to complete state transition (optional) */
312
313/** Parameters of Light HSL Target Status */
314typedef struct {
315 bool op_en; /*!< Indicate if optional parameters are included */
316 uint16_t hsl_lightness_target; /*!< Target value of light hsl lightness state */
317 uint16_t hsl_hue_target; /*!< Target value of light hsl hue state */
318 uint16_t hsl_saturation_target; /*!< Target value of light hsl saturation state */
319 uint8_t remain_time; /*!< Time to complete state transition (optional) */
321
322/** Parameters of Light HSL Hue Status */
323typedef struct {
324 bool op_en; /*!< Indicate if optional parameters are included */
325 uint16_t present_hue; /*!< Current value of light hsl hue state */
326 uint16_t target_hue; /*!< Target value of light hsl hue state (optional) */
327 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
329
330/** Parameters of Light HSL Saturation Status */
331typedef struct {
332 bool op_en; /*!< Indicate if optional parameters are included */
333 uint16_t present_saturation; /*!< Current value of light hsl saturation state */
334 uint16_t target_saturation; /*!< Target value of light hsl saturation state (optional) */
335 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
337
338/** Parameters of Light HSL Default Status */
339typedef struct {
340 uint16_t lightness; /*!< Value of light lightness default state */
341 uint16_t hue; /*!< Value of light hue default state */
342 uint16_t saturation; /*!< Value of light saturation default state */
344
345/** Parameters of Light HSL Range Status */
346typedef struct {
347 uint8_t status_code; /*!< Status code for the request message */
348 uint16_t hue_range_min; /*!< Value of hue range min field of light hsl hue range state */
349 uint16_t hue_range_max; /*!< Value of hue range max field of light hsl hue range state */
350 uint16_t saturation_range_min; /*!< Value of saturation range min field of light hsl saturation range state */
351 uint16_t saturation_range_max; /*!< Value of saturation range max field of light hsl saturation range state */
353
354/** Parameters of Light xyL Status */
355typedef struct {
356 bool op_en; /*!< Indicate whether optional parameters included */
357 uint16_t xyl_lightness; /*!< The present value of the Light xyL Lightness state */
358 uint16_t xyl_x; /*!< The present value of the Light xyL x state */
359 uint16_t xyl_y; /*!< The present value of the Light xyL y state */
360 uint8_t remain_time; /*!< Time to complete state transition (optional) */
362
363/** Parameters of Light xyL Target Status */
364typedef struct {
365 bool op_en; /*!< Indicate whether optional parameters included */
366 uint16_t target_xyl_lightness; /*!< The target value of the Light xyL Lightness state */
367 uint16_t target_xyl_x; /*!< The target value of the Light xyL x state */
368 uint16_t target_xyl_y; /*!< The target value of the Light xyL y state */
369 uint8_t remain_time; /*!< Time to complete state transition (optional) */
371
372/** Parameters of Light xyL Default Status */
373typedef struct {
374 uint16_t lightness; /*!< The value of the Light Lightness Default state */
375 uint16_t xyl_x; /*!< The value of the Light xyL x Default state */
376 uint16_t xyl_y; /*!< The value of the Light xyL y Default state */
378
379/** Parameters of Light xyL Range Status */
380typedef struct {
381 uint8_t status_code; /*!< Status Code for the requesting message */
382 uint16_t xyl_x_range_min; /*!< The value of the xyL x Range Min field of the Light xyL x Range state */
383 uint16_t xyl_x_range_max; /*!< The value of the xyL x Range Max field of the Light xyL x Range state */
384 uint16_t xyl_y_range_min; /*!< The value of the xyL y Range Min field of the Light xyL y Range state */
385 uint16_t xyl_y_range_max; /*!< The value of the xyL y Range Max field of the Light xyL y Range state */
387
388/** Parameter of Light LC Mode Status */
389typedef struct {
390 uint8_t mode; /*!< The present value of the Light LC Mode state */
392
393/** Parameter of Light LC OM Status */
394typedef struct {
395 uint8_t mode; /*!< The present value of the Light LC Occupancy Mode state */
397
398/** Parameters of Light LC Light OnOff Status */
399typedef struct {
400 bool op_en; /*!< Indicate whether optional parameters included */
401 uint8_t present_light_onoff; /*!< The present value of the Light LC Light OnOff state */
402 uint8_t target_light_onoff; /*!< The target value of the Light LC Light OnOff state (Optional) */
403 uint8_t remain_time; /*!< Time to complete state transition (C.1) */
405
406/** Parameters of Light LC Property Status */
407typedef struct {
408 uint16_t property_id; /*!< Property ID identifying a Light LC Property */
409 struct net_buf_simple *property_value; /*!< Raw value for the Light LC Property */
411
412typedef union
413{
414 meshx_light_lightness_status_cb_t lightness_status; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_STATUS */
415 meshx_light_lightness_linear_status_cb_t lightness_linear_status; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_LINEAR_STATUS */
416 meshx_light_lightness_last_status_cb_t lightness_last_status; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_LAST_STATUS */
417 meshx_light_lightness_default_status_cb_t lightness_default_status; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_DEFAULT_STATUS */
418 meshx_light_lightness_range_status_cb_t lightness_range_status; /*!< For MESHX_MODEL_OP_LIGHT_LIGHTNESS_RANGE_STATUS */
419 meshx_light_ctl_status_cb_t ctl_status; /*!< For MESHX_MODEL_OP_LIGHT_CTL_STATUS */
420 meshx_light_ctl_temperature_status_cb_t ctl_temperature_status; /*!< For MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_STATUS */
421 meshx_light_ctl_temperature_range_status_cb_t ctl_temperature_range_status; /*!< For MESHX_MODEL_OP_LIGHT_CTL_TEMPERATURE_RANGE_STATUS */
422 meshx_light_ctl_default_status_cb_t ctl_default_status; /*!< For MESHX_MODEL_OP_LIGHT_CTL_DEFAULT_STATUS */
423 meshx_light_hsl_status_cb_t hsl_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_STATUS */
424 meshx_light_hsl_target_status_cb_t hsl_target_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_TARGET_STATUS */
425 meshx_light_hsl_hue_status_cb_t hsl_hue_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_HUE_STATUS */
426 meshx_light_hsl_saturation_status_cb_t hsl_saturation_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_SATURATION_STATUS */
427 meshx_light_hsl_default_status_cb_t hsl_default_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_DEFAULT_STATUS */
428 meshx_light_hsl_range_status_cb_t hsl_range_status; /*!< For MESHX_MODEL_OP_LIGHT_HSL_RANGE_STATUS */
429 meshx_light_xyl_status_cb_t xyl_status; /*!< For MESHX_MODEL_OP_LIGHT_XYL_STATUS */
430 meshx_light_xyl_target_status_cb_t xyl_target_status; /*!< For MESHX_MODEL_OP_LIGHT_XYL_TARGET_STATUS */
431 meshx_light_xyl_default_status_cb_t xyl_default_status; /*!< For MESHX_MODEL_OP_LIGHT_XYL_DEFAULT_STATUS */
432 meshx_light_xyl_range_status_cb_t xyl_range_status; /*!< For MESHX_MODEL_OP_LIGHT_XYL_RANGE_STATUS */
433 meshx_light_lc_mode_status_cb_t lc_mode_status; /*!< For MESHX_MODEL_OP_LIGHT_LC_MODE_STATUS */
434 meshx_light_lc_om_status_cb_t lc_om_status; /*!< For MESHX_MODEL_OP_LIGHT_LC_OM_STATUS */
435 meshx_light_lc_light_onoff_status_cb_t lc_light_onoff_status; /*!< For MESHX_MODEL_OP_LIGHT_LC_LIGHT_ONOFF_STATUS */
436 meshx_light_lc_property_status_cb_t lc_property_status; /*!< For MESHX_MODEL_OP_LIGHT_LC_PROPERTY_STATUS */
438
439/**
440 * @brief Callback parameters for Generic Light Client Model events.
441 * This structure is used to pass information about the received
442 * messages and their context to the application.
443 * It includes the context, model pointer, event type, and status values.
444 * The status values are encapsulated in a union to handle different
445 * types of status messages that the Generic Light Client Model can receive.
446 * Each status type corresponds to a specific operation code (opcode) defined in the BLE Mesh
447 * specification, allowing the application to handle them appropriately.
448 */
450{
451 int err_code; /*!< Error code */
452 meshx_ctx_t ctx; /**< Context of the received messages */
453 meshx_model_t model; /**< Pointer to Generic Light Client Models */
454 meshx_gen_light_cli_evt_t evt; /**< Event type of the received message */
455 meshx_gen_light_client_status_cb_t status; /**< Value of the received Generic Messages */
457
458/**
459 * @brief Initialize the Generic Light Client Model.
460 * This function sets up the necessary parameters and resources
461 * for the Generic Light Client Model to operate correctly.
462 *
463 * @return meshx_err_t Returns MESHX_SUCCESS on successful initialization,
464 * or an appropriate error code on failure.
465 */
467
468/**
469 * @brief Creates and initializes a Light CTL (Color Temperature Light) client model instance.
470 *
471 * This function sets up the Light CTL client model for use in the BLE Mesh network.
472 * It associates the client model with the provided model pointer and optionally sets up
473 * publication and client context pointers.
474 *
475 * @param[in] p_model Pointer to the mesh model structure to associate with the Light CTL client.
476 * @param[out] p_pub Pointer to a publication context pointer to be initialized (can be NULL if not used).
477 * @param[out] p_light_ctl_cli Pointer to a Light CTL client context pointer to be initialized.
478 *
479 * @return meshx_err_t Returns MESHX_OK on success, or an appropriate error code on failure.
480 */
482
483/**
484 * @brief Deletes the Light client instance and its associated publication context.
485 *
486 * This function is responsible for cleaning up and freeing resources associated with the Light client model,
487 * including its publication context.
488 *
489 * @param[in] p_pub Pointer to the publication context to be deleted.
490 * @param[in] p_cli Pointer to the client instance to be deleted.
491 *
492 * @return meshx_err_t Returns an error code indicating the result of the delete operation.
493 */
495
496/**
497 * @brief Sends a Light Client message over BLE Mesh.
498 *
499 * This function constructs and sends a Light Client message using the specified model,
500 * set state parameters, opcode, destination address, network index, and application index.
501 *
502 * @param[in] p_model Pointer to the BLE Mesh model instance.
503 * @param[in] p_set Pointer to the structure containing the light client set state parameters.
504 * @param[in] opcode Opcode of the message to be sent.
505 * @param[in] addr Destination address for the message.
506 * @param[in] net_idx Network index to be used for sending the message.
507 * @param[in] app_idx Application index to be used for sending the message.
508 * @param[in] is_get_opcode Indicates whether the opcode is a GET type (true) or SET type (false).
509 *
510 * @return meshx_err_t Result of the message send operation.
511 */
514 uint16_t opcode, uint16_t addr,
515 uint16_t net_idx, uint16_t app_idx,
516 bool is_get_opcode
517);
518
519#if CONFIG_ENABLE_LIGHT_CLIENT
520/**
521 * @brief Generic Light Client Model send parameters.
522 */
524{
525 meshx_ptr_t model; /**< Model context associated with the message. */
526 uint16_t opcode; /**< Opcode associated with the message. */
527 uint16_t addr; /**< Destination address associated with the message. */
528 uint16_t net_idx; /**< Network index associated with the message. */
529 uint16_t app_idx; /**< Application key index associated with the message. */
530 meshx_light_client_set_state_t *state; /**< State parameters associated with the message. */
532#endif /* CONFIG_ENABLE_LIGHT_CLIENT */
533
534#endif /* MESHX_BLE_MESH_LIGHT_CLI_H */
Common BLE Mesh interface definitions and utility functions.
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
#define MESHX_BIT(nr)
Definition meshx_ble_mesh_cmn_def.h:22
meshx_err_t meshx_plat_light_client_send_msg(meshx_ptr_t p_model, meshx_light_client_set_state_t *p_set, uint16_t opcode, uint16_t addr, uint16_t net_idx, uint16_t app_idx, bool is_get_opcode)
Sends a Light Client message over BLE Mesh.
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...
struct meshx_gen_light_client_send_params meshx_gen_light_client_send_params_t
Generic Light Client Model send parameters.
control_task_msg_handle_t meshx_gen_light_client_cb_t
Definition meshx_ble_mesh_light_cli.h:18
meshx_gen_light_cli_evt_t
Definition meshx_ble_mesh_light_cli.h:21
@ MESHX_GEN_LIGHT_CLI_PUBLISH
Definition meshx_ble_mesh_light_cli.h:24
@ MESHX_GEN_LIGHT_CLI_EVT_ALL
Definition meshx_ble_mesh_light_cli.h:26
@ MESHX_GEN_LIGHT_CLI_EVT_GET
Definition meshx_ble_mesh_light_cli.h:22
@ MESHX_GEN_LIGHT_CLI_EVT_SET
Definition meshx_ble_mesh_light_cli.h:23
@ MESHX_GEN_LIGHT_CLI_TIMEOUT
Definition meshx_ble_mesh_light_cli.h:25
meshx_err_t meshx_plat_gen_light_client_init(void)
Initialize the Generic Light Client Model. This function sets up the necessary parameters and resourc...
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.
Header file for the control task in the BLE mesh node application.
meshx_err_t(* control_task_msg_handle_t)(dev_struct_t *pdev, control_task_msg_evt_t evt, void *params)
Function pointer type for control task message handler.
Definition meshx_control_task.h:188
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:43
Callback parameters for Generic Light Client Model events. This structure is used to pass information...
Definition meshx_ble_mesh_light_cli.h:450
meshx_gen_light_cli_evt_t evt
Definition meshx_ble_mesh_light_cli.h:454
int err_code
Definition meshx_ble_mesh_light_cli.h:451
meshx_gen_light_client_status_cb_t status
Definition meshx_ble_mesh_light_cli.h:455
meshx_model_t model
Definition meshx_ble_mesh_light_cli.h:453
meshx_ctx_t ctx
Definition meshx_ble_mesh_light_cli.h:452
Generic Light Client Model send parameters.
Definition meshx_ble_mesh_light_cli.h:524
uint16_t addr
Definition meshx_ble_mesh_light_cli.h:527
meshx_ptr_t model
Definition meshx_ble_mesh_light_cli.h:525
uint16_t net_idx
Definition meshx_ble_mesh_light_cli.h:528
uint16_t app_idx
Definition meshx_ble_mesh_light_cli.h:529
uint16_t opcode
Definition meshx_ble_mesh_light_cli.h:526
meshx_light_client_set_state_t * state
Definition meshx_ble_mesh_light_cli.h:530
Definition meshx_ble_mesh_light_cli.h:94
uint16_t temperature
Definition meshx_ble_mesh_light_cli.h:96
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:95
int16_t delta_uv
Definition meshx_ble_mesh_light_cli.h:97
Definition meshx_ble_mesh_light_cli.h:298
uint16_t temperature
Definition meshx_ble_mesh_light_cli.h:300
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:299
int16_t delta_uv
Definition meshx_ble_mesh_light_cli.h:301
Definition meshx_ble_mesh_light_cli.h:67
int16_t ctl_delta_uv
Definition meshx_ble_mesh_light_cli.h:71
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:74
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:73
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:72
uint16_t ctl_lightness
Definition meshx_ble_mesh_light_cli.h:69
bool op_en
Definition meshx_ble_mesh_light_cli.h:68
uint16_t ctl_temperature
Definition meshx_ble_mesh_light_cli.h:70
Definition meshx_ble_mesh_light_cli.h:271
uint16_t present_ctl_temperature
Definition meshx_ble_mesh_light_cli.h:274
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:277
uint16_t present_ctl_lightness
Definition meshx_ble_mesh_light_cli.h:273
uint16_t target_ctl_temperature
Definition meshx_ble_mesh_light_cli.h:276
bool op_en
Definition meshx_ble_mesh_light_cli.h:272
uint16_t target_ctl_lightness
Definition meshx_ble_mesh_light_cli.h:275
Definition meshx_ble_mesh_light_cli.h:88
uint16_t range_max
Definition meshx_ble_mesh_light_cli.h:90
uint16_t range_min
Definition meshx_ble_mesh_light_cli.h:89
Definition meshx_ble_mesh_light_cli.h:291
uint8_t status_code
Definition meshx_ble_mesh_light_cli.h:292
uint16_t range_min
Definition meshx_ble_mesh_light_cli.h:293
uint16_t range_max
Definition meshx_ble_mesh_light_cli.h:294
Definition meshx_ble_mesh_light_cli.h:78
int16_t ctl_delta_uv
Definition meshx_ble_mesh_light_cli.h:81
bool op_en
Definition meshx_ble_mesh_light_cli.h:79
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:82
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:84
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:83
uint16_t ctl_temperature
Definition meshx_ble_mesh_light_cli.h:80
Definition meshx_ble_mesh_light_cli.h:281
uint16_t present_ctl_delta_uv
Definition meshx_ble_mesh_light_cli.h:284
bool op_en
Definition meshx_ble_mesh_light_cli.h:282
uint16_t target_ctl_temperature
Definition meshx_ble_mesh_light_cli.h:285
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:287
uint16_t target_ctl_delta_uv
Definition meshx_ble_mesh_light_cli.h:286
uint16_t present_ctl_temperature
Definition meshx_ble_mesh_light_cli.h:283
Definition meshx_ble_mesh_light_cli.h:130
uint16_t hue
Definition meshx_ble_mesh_light_cli.h:132
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:131
uint16_t saturation
Definition meshx_ble_mesh_light_cli.h:133
Definition meshx_ble_mesh_light_cli.h:339
uint16_t hue
Definition meshx_ble_mesh_light_cli.h:341
uint16_t saturation
Definition meshx_ble_mesh_light_cli.h:342
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:340
Definition meshx_ble_mesh_light_cli.h:112
bool op_en
Definition meshx_ble_mesh_light_cli.h:113
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:115
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:116
uint16_t hue
Definition meshx_ble_mesh_light_cli.h:114
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:117
Definition meshx_ble_mesh_light_cli.h:323
bool op_en
Definition meshx_ble_mesh_light_cli.h:324
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:327
uint16_t target_hue
Definition meshx_ble_mesh_light_cli.h:326
uint16_t present_hue
Definition meshx_ble_mesh_light_cli.h:325
Definition meshx_ble_mesh_light_cli.h:137
uint16_t saturation_range_max
Definition meshx_ble_mesh_light_cli.h:141
uint16_t hue_range_max
Definition meshx_ble_mesh_light_cli.h:139
uint16_t hue_range_min
Definition meshx_ble_mesh_light_cli.h:138
uint16_t saturation_range_min
Definition meshx_ble_mesh_light_cli.h:140
Definition meshx_ble_mesh_light_cli.h:346
uint16_t hue_range_min
Definition meshx_ble_mesh_light_cli.h:348
uint16_t hue_range_max
Definition meshx_ble_mesh_light_cli.h:349
uint8_t status_code
Definition meshx_ble_mesh_light_cli.h:347
uint16_t saturation_range_max
Definition meshx_ble_mesh_light_cli.h:351
uint16_t saturation_range_min
Definition meshx_ble_mesh_light_cli.h:350
Definition meshx_ble_mesh_light_cli.h:121
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:124
bool op_en
Definition meshx_ble_mesh_light_cli.h:122
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:126
uint16_t saturation
Definition meshx_ble_mesh_light_cli.h:123
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:125
Definition meshx_ble_mesh_light_cli.h:331
bool op_en
Definition meshx_ble_mesh_light_cli.h:332
uint16_t present_saturation
Definition meshx_ble_mesh_light_cli.h:333
uint16_t target_saturation
Definition meshx_ble_mesh_light_cli.h:334
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:335
Definition meshx_ble_mesh_light_cli.h:101
uint16_t hsl_lightness
Definition meshx_ble_mesh_light_cli.h:103
uint16_t hsl_saturation
Definition meshx_ble_mesh_light_cli.h:105
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:107
uint16_t hsl_hue
Definition meshx_ble_mesh_light_cli.h:104
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:108
bool op_en
Definition meshx_ble_mesh_light_cli.h:102
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:106
Definition meshx_ble_mesh_light_cli.h:305
bool op_en
Definition meshx_ble_mesh_light_cli.h:306
uint16_t hsl_hue
Definition meshx_ble_mesh_light_cli.h:308
uint16_t hsl_saturation
Definition meshx_ble_mesh_light_cli.h:309
uint16_t hsl_lightness
Definition meshx_ble_mesh_light_cli.h:307
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:310
Definition meshx_ble_mesh_light_cli.h:314
uint16_t hsl_saturation_target
Definition meshx_ble_mesh_light_cli.h:318
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:319
uint16_t hsl_lightness_target
Definition meshx_ble_mesh_light_cli.h:316
bool op_en
Definition meshx_ble_mesh_light_cli.h:315
uint16_t hsl_hue_target
Definition meshx_ble_mesh_light_cli.h:317
Definition meshx_ble_mesh_light_cli.h:181
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:185
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:184
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:186
bool op_en
Definition meshx_ble_mesh_light_cli.h:182
uint8_t light_onoff
Definition meshx_ble_mesh_light_cli.h:183
Definition meshx_ble_mesh_light_cli.h:399
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:403
uint8_t present_light_onoff
Definition meshx_ble_mesh_light_cli.h:401
bool op_en
Definition meshx_ble_mesh_light_cli.h:400
uint8_t target_light_onoff
Definition meshx_ble_mesh_light_cli.h:402
Definition meshx_ble_mesh_light_cli.h:171
uint8_t mode
Definition meshx_ble_mesh_light_cli.h:172
Definition meshx_ble_mesh_light_cli.h:389
uint8_t mode
Definition meshx_ble_mesh_light_cli.h:390
Definition meshx_ble_mesh_light_cli.h:176
uint8_t mode
Definition meshx_ble_mesh_light_cli.h:177
Definition meshx_ble_mesh_light_cli.h:394
uint8_t mode
Definition meshx_ble_mesh_light_cli.h:395
Definition meshx_ble_mesh_light_cli.h:190
uint16_t property_id
Definition meshx_ble_mesh_light_cli.h:191
Definition meshx_ble_mesh_light_cli.h:195
uint16_t property_id
Definition meshx_ble_mesh_light_cli.h:196
struct net_buf_simple * property_value
Definition meshx_ble_mesh_light_cli.h:197
Definition meshx_ble_mesh_light_cli.h:407
uint16_t property_id
Definition meshx_ble_mesh_light_cli.h:408
struct net_buf_simple * property_value
Definition meshx_ble_mesh_light_cli.h:409
Definition meshx_ble_mesh_light_cli.h:56
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:57
Definition meshx_ble_mesh_light_cli.h:259
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:260
Definition meshx_ble_mesh_light_cli.h:254
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:255
Definition meshx_ble_mesh_light_cli.h:47
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:51
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:50
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:49
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:52
bool op_en
Definition meshx_ble_mesh_light_cli.h:48
Definition meshx_ble_mesh_light_cli.h:246
bool op_en
Definition meshx_ble_mesh_light_cli.h:247
uint16_t target_lightness
Definition meshx_ble_mesh_light_cli.h:249
uint16_t present_lightness
Definition meshx_ble_mesh_light_cli.h:248
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:250
Definition meshx_ble_mesh_light_cli.h:61
uint16_t range_max
Definition meshx_ble_mesh_light_cli.h:63
uint16_t range_min
Definition meshx_ble_mesh_light_cli.h:62
Definition meshx_ble_mesh_light_cli.h:264
uint16_t range_min
Definition meshx_ble_mesh_light_cli.h:266
uint8_t status_code
Definition meshx_ble_mesh_light_cli.h:265
uint16_t range_max
Definition meshx_ble_mesh_light_cli.h:267
Bluetooth Mesh Light Lightness Client Model Get and Set parameters structure.
Definition meshx_ble_mesh_light_cli.h:38
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:42
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:43
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:41
bool op_en
Definition meshx_ble_mesh_light_cli.h:39
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:40
Bluetooth Mesh Light Lightness Client Model Get and Set callback parameters structure.
Definition meshx_ble_mesh_light_cli.h:238
bool op_en
Definition meshx_ble_mesh_light_cli.h:239
uint16_t target_lightness
Definition meshx_ble_mesh_light_cli.h:241
uint16_t present_lightness
Definition meshx_ble_mesh_light_cli.h:240
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:242
Definition meshx_ble_mesh_light_cli.h:156
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:157
uint16_t xyl_y
Definition meshx_ble_mesh_light_cli.h:159
uint16_t xyl_x
Definition meshx_ble_mesh_light_cli.h:158
Definition meshx_ble_mesh_light_cli.h:373
uint16_t lightness
Definition meshx_ble_mesh_light_cli.h:374
uint16_t xyl_y
Definition meshx_ble_mesh_light_cli.h:376
uint16_t xyl_x
Definition meshx_ble_mesh_light_cli.h:375
Definition meshx_ble_mesh_light_cli.h:163
uint16_t xyl_x_range_min
Definition meshx_ble_mesh_light_cli.h:164
uint16_t xyl_y_range_min
Definition meshx_ble_mesh_light_cli.h:166
uint16_t xyl_x_range_max
Definition meshx_ble_mesh_light_cli.h:165
uint16_t xyl_y_range_max
Definition meshx_ble_mesh_light_cli.h:167
Definition meshx_ble_mesh_light_cli.h:380
uint16_t xyl_y_range_min
Definition meshx_ble_mesh_light_cli.h:384
uint16_t xyl_x_range_min
Definition meshx_ble_mesh_light_cli.h:382
uint16_t xyl_x_range_max
Definition meshx_ble_mesh_light_cli.h:383
uint16_t xyl_y_range_max
Definition meshx_ble_mesh_light_cli.h:385
uint8_t status_code
Definition meshx_ble_mesh_light_cli.h:381
Definition meshx_ble_mesh_light_cli.h:145
uint8_t delay
Definition meshx_ble_mesh_light_cli.h:152
uint16_t xyl_y
Definition meshx_ble_mesh_light_cli.h:149
bool op_en
Definition meshx_ble_mesh_light_cli.h:146
uint8_t trans_time
Definition meshx_ble_mesh_light_cli.h:151
uint8_t tid
Definition meshx_ble_mesh_light_cli.h:150
uint16_t xyl_x
Definition meshx_ble_mesh_light_cli.h:148
uint16_t xyl_lightness
Definition meshx_ble_mesh_light_cli.h:147
Definition meshx_ble_mesh_light_cli.h:355
uint16_t xyl_y
Definition meshx_ble_mesh_light_cli.h:359
bool op_en
Definition meshx_ble_mesh_light_cli.h:356
uint16_t xyl_lightness
Definition meshx_ble_mesh_light_cli.h:357
uint16_t xyl_x
Definition meshx_ble_mesh_light_cli.h:358
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:360
Definition meshx_ble_mesh_light_cli.h:364
uint16_t target_xyl_lightness
Definition meshx_ble_mesh_light_cli.h:366
uint8_t remain_time
Definition meshx_ble_mesh_light_cli.h:369
uint16_t target_xyl_x
Definition meshx_ble_mesh_light_cli.h:367
uint16_t target_xyl_y
Definition meshx_ble_mesh_light_cli.h:368
bool op_en
Definition meshx_ble_mesh_light_cli.h:365
Definition meshx_ble_mesh_light_cli.h:413
meshx_light_ctl_temperature_range_status_cb_t ctl_temperature_range_status
Definition meshx_ble_mesh_light_cli.h:421
meshx_light_lc_mode_status_cb_t lc_mode_status
Definition meshx_ble_mesh_light_cli.h:433
meshx_light_lightness_last_status_cb_t lightness_last_status
Definition meshx_ble_mesh_light_cli.h:416
meshx_light_ctl_status_cb_t ctl_status
Definition meshx_ble_mesh_light_cli.h:419
meshx_light_xyl_default_status_cb_t xyl_default_status
Definition meshx_ble_mesh_light_cli.h:431
meshx_light_lightness_range_status_cb_t lightness_range_status
Definition meshx_ble_mesh_light_cli.h:418
meshx_light_xyl_status_cb_t xyl_status
Definition meshx_ble_mesh_light_cli.h:429
meshx_light_lightness_status_cb_t lightness_status
Definition meshx_ble_mesh_light_cli.h:414
meshx_light_xyl_range_status_cb_t xyl_range_status
Definition meshx_ble_mesh_light_cli.h:432
meshx_light_xyl_target_status_cb_t xyl_target_status
Definition meshx_ble_mesh_light_cli.h:430
meshx_light_lightness_default_status_cb_t lightness_default_status
Definition meshx_ble_mesh_light_cli.h:417
meshx_light_hsl_hue_status_cb_t hsl_hue_status
Definition meshx_ble_mesh_light_cli.h:425
meshx_light_hsl_default_status_cb_t hsl_default_status
Definition meshx_ble_mesh_light_cli.h:427
meshx_light_lc_property_status_cb_t lc_property_status
Definition meshx_ble_mesh_light_cli.h:436
meshx_light_lc_om_status_cb_t lc_om_status
Definition meshx_ble_mesh_light_cli.h:434
meshx_light_ctl_temperature_status_cb_t ctl_temperature_status
Definition meshx_ble_mesh_light_cli.h:420
meshx_light_lc_light_onoff_status_cb_t lc_light_onoff_status
Definition meshx_ble_mesh_light_cli.h:435
meshx_light_hsl_range_status_cb_t hsl_range_status
Definition meshx_ble_mesh_light_cli.h:428
meshx_light_hsl_saturation_status_cb_t hsl_saturation_status
Definition meshx_ble_mesh_light_cli.h:426
meshx_light_ctl_default_status_cb_t ctl_default_status
Definition meshx_ble_mesh_light_cli.h:422
meshx_light_hsl_status_cb_t hsl_status
Definition meshx_ble_mesh_light_cli.h:423
meshx_light_lightness_linear_status_cb_t lightness_linear_status
Definition meshx_ble_mesh_light_cli.h:415
meshx_light_hsl_target_status_cb_t hsl_target_status
Definition meshx_ble_mesh_light_cli.h:424
Lighting Client Model get message union.
Definition meshx_ble_mesh_light_cli.h:203
meshx_light_lc_property_get_t lc_property_get
Definition meshx_ble_mesh_light_cli.h:204
Lighting Client Model set message union.
Definition meshx_ble_mesh_light_cli.h:210
meshx_light_lightness_set_t lightness_set
Definition meshx_ble_mesh_light_cli.h:211
meshx_light_ctl_set_t ctl_set
Definition meshx_ble_mesh_light_cli.h:215
meshx_light_hsl_range_set_t hsl_range_set
Definition meshx_ble_mesh_light_cli.h:223
meshx_light_xyl_default_set_t xyl_default_set
Definition meshx_ble_mesh_light_cli.h:225
meshx_light_xyl_set_t xyl_set
Definition meshx_ble_mesh_light_cli.h:224
meshx_light_hsl_set_t hsl_set
Definition meshx_ble_mesh_light_cli.h:219
meshx_light_lc_property_set_t lc_property_set
Definition meshx_ble_mesh_light_cli.h:230
meshx_light_lc_mode_set_t lc_mode_set
Definition meshx_ble_mesh_light_cli.h:227
meshx_light_lc_om_set_t lc_om_set
Definition meshx_ble_mesh_light_cli.h:228
meshx_light_hsl_saturation_set_t hsl_saturation_set
Definition meshx_ble_mesh_light_cli.h:221
meshx_light_hsl_default_set_t hsl_default_set
Definition meshx_ble_mesh_light_cli.h:222
meshx_light_lightness_range_set_t lightness_range_set
Definition meshx_ble_mesh_light_cli.h:214
meshx_light_xyl_range_set_t xyl_range_set
Definition meshx_ble_mesh_light_cli.h:226
meshx_light_hsl_hue_set_t hsl_hue_set
Definition meshx_ble_mesh_light_cli.h:220
meshx_light_lightness_default_set_t lightness_default_set
Definition meshx_ble_mesh_light_cli.h:213
meshx_light_lc_light_onoff_set_t lc_light_onoff_set
Definition meshx_ble_mesh_light_cli.h:229
meshx_light_ctl_temperature_range_set_t ctl_temperature_range_set
Definition meshx_ble_mesh_light_cli.h:217
meshx_light_ctl_temperature_set_t ctl_temperature_set
Definition meshx_ble_mesh_light_cli.h:216
meshx_light_lightness_linear_set_t lightness_linear_set
Definition meshx_ble_mesh_light_cli.h:212
meshx_light_ctl_default_set_t ctl_default_set
Definition meshx_ble_mesh_light_cli.h:218