MeshX 0.3
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_gen_client.c File Reference

Implementation of the MeshX generic client model for BLE mesh nodes. This file contains functions for registering, deregistering, and initializing the generic client model. More...

#include "stdlib.h"
#include "meshx_txcm.h"
#include "meshx_gen_client.h"
Include dependency graph for meshx_gen_client.c:

Go to the source code of this file.

Data Structures

struct  meshx_gen_cli_cb_reg
 Structure containing the model ID and callback function for generic client model registrations. More...
 
struct  meshx_gen_cli_resend_ctx
 Structure containing the model ID and parameter for generic client model message re-sending. More...
 
struct  meshx_gen_client_msg_ctx
 Structure containing the message context for generic client model messages. More...
 
struct  meshx_gen_cli_cb_reg_node
 Structure containing a node in the linked list of registered callbacks. More...
 

Macros

#define MESHX_CLIENT_INIT_MAGIC_NO   0x1121
 

Typedefs

typedef struct meshx_gen_cli_cb_reg meshx_gen_cli_cb_reg_t
 
typedef struct meshx_gen_cli_resend_ctx meshx_gen_cli_resend_ctx
 
typedef struct meshx_gen_client_msg_ctx meshx_gen_client_msg_ctx_t
 
typedef struct meshx_gen_cli_cb_reg_node meshx_gen_cli_cb_reg_node_t
 

Functions

static meshx_err_t meshx_gen_cli_cb_reg_add (meshx_gen_cli_cb_reg_t reg)
 Adds a new callback registration to the linked list of registered callbacks.
 
static meshx_err_t meshx_is_gen_cli_get_opcode (uint16_t opcode)
 Checks if the given opcode corresponds to a GET request in the Generic Client group.
 
static meshx_err_t meshx_is_gen_cli_model (uint32_t model_id)
 Checks if the given model ID corresponds to a Generic Client model.
 
static meshx_err_t meshx_is_unack_opcode (uint32_t opcode)
 Checks if the given opcode corresponds to an unacknowledged (unack) message.
 
static meshx_err_t meshx_gen_client_txcm_fn_model_send (meshx_gen_client_msg_ctx_t *msg_param, size_t msg_param_len)
 Transmit callback handler for sending Generic Client model messages.
 
static meshx_err_t meshx_handle_txcm_msg (dev_struct_t *pdev, control_task_msg_evt_t evt, meshx_gen_cli_resend_ctx *param)
 Handles a control task message for a generic client model.
 
static meshx_err_t meshx_gen_cli_handle_ack (uint16_t src_addr)
 Handles ack request for generic client messages.
 
static meshx_err_t meshx_gen_cli_handle_resend (uint16_t model_id, const meshx_gen_cli_cb_param_t *param)
 Handles resend request for generic client messages.
 
static meshx_err_t meshx_handle_gen_onoff_msg (dev_struct_t *pdev, control_task_msg_evt_t model_id, meshx_gen_cli_cb_param_t *param)
 Handle the Generic OnOff Client messages.
 
meshx_err_t meshx_gen_client_init (void)
 Initialize the mesh fuction generic client.
 
meshx_err_t meshx_gen_cli_send_msg (meshx_gen_client_send_params_t *params)
 Sends a Generic Client message over BLE Mesh.
 
meshx_err_t meshx_gen_client_from_ble_reg_cb (uint32_t model_id, meshx_gen_client_cb_t cb)
 Registers a callback function for a specific generic server model.
 

Variables

struct { 
 
   uint16_t   client_init 
 
   meshx_gen_cli_cb_reg_node_t *   cli_cb_reg_head 
 
g_meshx_client_control 
 

Detailed Description

Implementation of the MeshX generic client model for BLE mesh nodes. This file contains functions for registering, deregistering, and initializing the generic client model.

Copyright (c) 2024 - 2025 MeshX

The MeshX generic client model provides an interface for handling BLE mesh client operations, including callback registration and initialization.

Author
Pranjal Chanda

Definition in file meshx_gen_client.c.

Macro Definition Documentation

◆ MESHX_CLIENT_INIT_MAGIC_NO

#define MESHX_CLIENT_INIT_MAGIC_NO   0x1121

Definition at line 20 of file meshx_gen_client.c.

Typedef Documentation

◆ meshx_gen_cli_cb_reg_node_t

◆ meshx_gen_cli_cb_reg_t

◆ meshx_gen_cli_resend_ctx

typedef struct meshx_gen_cli_resend_ctx meshx_gen_cli_resend_ctx

◆ meshx_gen_client_msg_ctx_t

Function Documentation

◆ meshx_gen_cli_cb_reg_add()

static meshx_err_t meshx_gen_cli_cb_reg_add ( meshx_gen_cli_cb_reg_t reg)
static

Adds a new callback registration to the linked list of registered callbacks.

This function allocates a new node in the linked list of registered callbacks and initializes it with the provided registration information.

Parameters
[in]regThe structure containing the model ID and callback function to add to the linked list.

Definition at line 91 of file meshx_gen_client.c.

92{
94 if (!node)
95 return MESHX_NO_MEM;
96
97 node->reg = reg;
98 node->next = g_meshx_client_control.cli_cb_reg_head;
99 g_meshx_client_control.cli_cb_reg_head = node;
100
101 return MESHX_SUCCESS;
102}
@ MESHX_SUCCESS
Definition meshx_err.h:40
@ MESHX_NO_MEM
Definition meshx_err.h:44
#define MESHX_MALLOC
Definition meshx_err.h:24
struct meshx_gen_cli_cb_reg_node meshx_gen_cli_cb_reg_node_t
Structure containing control variables for the generic client model.
struct meshx_gen_cli_cb_reg_node * next
meshx_gen_cli_cb_reg_t reg
Here is the caller graph for this function:

◆ meshx_gen_cli_handle_ack()

static meshx_err_t meshx_gen_cli_handle_ack ( uint16_t src_addr)
static

Handles ack request for generic client messages.

This function requests the TXCM module to clear the last message by sending a ACK signal with null parameters.

Parameters
[in]src_addrThe Source address of the message.
Returns
meshx_err_t Returns the error code from meshx_txcm_request_send().

Definition at line 293 of file meshx_gen_client.c.

294{
296 err = meshx_txcm_request_send(MESHX_TXCM_SIG_ACK, src_addr, NULL, 0, NULL);
297 return err;
298}
meshx_err_t
MeshX Error Codes.
Definition meshx_err.h:39
meshx_err_t meshx_txcm_request_send(meshx_txcm_sig_t request_type, uint16_t dest_addr, meshx_cptr_t msg_param, uint16_t msg_param_len, meshx_txcm_fn_model_send_t send_fn)
Sends a request to the Tx Control module.
@ MESHX_TXCM_SIG_ACK
Definition meshx_txcm.h:61
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshx_gen_cli_handle_resend()

static meshx_err_t meshx_gen_cli_handle_resend ( uint16_t model_id,
const meshx_gen_cli_cb_param_t * param )
static

Handles resend request for generic client messages.

This function requests the TXCM module to resend the last message by sending a RESEND signal with null parameters.

Returns
meshx_err_t Returns the error code from meshx_txcm_request_send().

Definition at line 308 of file meshx_gen_client.c.

309{
311 .model_id = model_id
312 };
313 memcpy(&ctx.param, param, sizeof(meshx_gen_cli_cb_param_t));
314
318 &ctx,
320 NULL);
321}
#define MESHX_ADDR_UNASSIGNED
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...
@ MESHX_TXCM_SIG_RESEND
Definition meshx_txcm.h:60
Structure containing the model ID and parameter for generic client model message re-sending.
meshx_gen_cli_cb_param_t param
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshx_gen_cli_send_msg()

meshx_err_t meshx_gen_cli_send_msg ( meshx_gen_client_send_params_t * params)

Sends a Generic Client message over BLE Mesh.

This function sends a message from a Generic Client model to a specified address within the BLE Mesh network, using the provided opcode and parameters.

Parameters
[in]paramsPointer to the structure containing the message parameters to set.
Returns
meshx_err_t Result of the operation. Returns MESHX_OK on success or an error code on failure.

Definition at line 426 of file meshx_gen_client.c.

427{
428 if (!params || !params->model || !params->state)
429 {
430 return MESHX_INVALID_ARG;
431 }
432
434 bool is_unack = meshx_is_unack_opcode(params->opcode) == MESHX_SUCCESS;
435 /* Broadcast / Multicast will not be sending an ACK. Hence, it is not required to queue */
436 meshx_txcm_sig_t req_type = (is_unack || (MESHX_ADDR_IS_UNICAST(params->addr) == false)) ?
438
440 {
441 .addr = params->addr,
442 .model = params->model,
443 .opcode = params->opcode,
444 .app_idx = params->app_idx,
445 .net_idx = params->net_idx,
446 };
447 memcpy(&send_msg.state, params->state, sizeof(send_msg.state));
448
450 req_type,
451 send_msg.addr,
452 &send_msg,
453 sizeof(send_msg),
455 );
456 if(err)
457 {
458 MESHX_LOGE(MODULE_ID_MODEL_CLIENT, "Failed to send message: %p", (meshx_ptr_t) err);
459 }
460 return err;
461}
void * meshx_ptr_t
#define MESHX_ADDR_IS_UNICAST(_addr)
@ MESHX_INVALID_ARG
Definition meshx_err.h:42
struct meshx_gen_client_msg_ctx meshx_gen_client_msg_ctx_t
static meshx_err_t meshx_is_unack_opcode(uint32_t opcode)
Checks if the given opcode corresponds to an unacknowledged (unack) message.
static meshx_err_t meshx_gen_client_txcm_fn_model_send(meshx_gen_client_msg_ctx_t *msg_param, size_t msg_param_len)
Transmit callback handler for sending Generic Client model messages.
#define MESHX_LOGE(module_id, format,...)
Definition meshx_log.h:73
meshx_txcm_sig_t
Enumeration of signal types for the Tx Control Module.
Definition meshx_txcm.h:57
@ MESHX_TXCM_SIG_ENQ_SEND
Definition meshx_txcm.h:58
@ MESHX_TXCM_SIG_DIRECT_SEND
Definition meshx_txcm.h:59
meshx_err_t(* meshx_txcm_fn_model_send_t)(meshx_cptr_t msg_param, size_t msg_param_len)
Function pointer the Model client layer needs to provide for the msg to be sent for both MESHX_TXCM_S...
Definition meshx_txcm.h:94
@ MODULE_ID_MODEL_CLIENT
Definition module_id.h:31
meshx_gen_cli_set_t state
meshx_gen_cli_set_t * state
Here is the call graph for this function:

◆ meshx_gen_client_from_ble_reg_cb()

meshx_err_t meshx_gen_client_from_ble_reg_cb ( uint32_t model_id,
meshx_gen_client_cb_t cb )

Registers a callback function for a specific generic server model.

This function associates a callback with the given model ID, allowing the server to handle events or messages related to that model.

Parameters
[in]model_idThe unique identifier of the generic server model.
[in]cbThe callback function to be registered for the model.
Returns
meshx_err_t Returns an error code indicating the result of the registration. Possible values include success or specific error codes.

Definition at line 475 of file meshx_gen_client.c.

476{
477 if (!cb || meshx_is_gen_cli_model(model_id) != MESHX_SUCCESS)
478 {
479 return MESHX_INVALID_ARG;
480 }
481
483 meshx_gen_cli_cb_reg_t reg = { .model_id = (uint16_t)model_id, .cb = cb };
484
485 err = meshx_gen_cli_cb_reg_add(reg);
486 if (err != MESHX_SUCCESS)
487 {
488 return err;
489 }
490
493 model_id,
495 );
496}
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.
@ CONTROL_TASK_MSG_CODE_FRM_BLE
meshx_err_t control_task_msg_subscribe(control_task_msg_code_t msg_code, control_task_msg_evt_t evt_bmap, control_task_msg_handle_t callback)
Subscribe to a control task message.
struct meshx_gen_cli_cb_reg meshx_gen_cli_cb_reg_t
static meshx_err_t meshx_is_gen_cli_model(uint32_t model_id)
Checks if the given model ID corresponds to a Generic Client model.
static meshx_err_t meshx_handle_gen_onoff_msg(dev_struct_t *pdev, control_task_msg_evt_t model_id, meshx_gen_cli_cb_param_t *param)
Handle the Generic OnOff Client messages.
static meshx_err_t meshx_gen_cli_cb_reg_add(meshx_gen_cli_cb_reg_t reg)
Adds a new callback registration to the linked list of registered callbacks.
Here is the call graph for this function:

◆ meshx_gen_client_init()

meshx_err_t meshx_gen_client_init ( void )

Initialize the mesh fuction generic client.

Initialize the meshxuction generic client.

This function sets up the necessary configurations and initializes the meshxuction generic client for the BLE mesh node.

Returns
  • MESHX_SUCCESS: Success
  • MESHX_FAIL: Failed to initialize the client

Definition at line 404 of file meshx_gen_client.c.

405{
407 return MESHX_SUCCESS;
409
411 if(err != MESHX_SUCCESS)
412 return err;
414}
meshx_err_t meshx_plat_gen_cli_init(void)
Initialize the meshxuction generic client.
#define MESHX_CLIENT_INIT_MAGIC_NO
static meshx_err_t meshx_handle_txcm_msg(dev_struct_t *pdev, control_task_msg_evt_t evt, meshx_gen_cli_resend_ctx *param)
Handles a control task message for a generic client model.
control_task_msg_handle_t meshx_txcm_cb_t
Definition meshx_txcm.h:49
meshx_err_t meshx_txcm_event_cb_reg(meshx_txcm_cb_t event_cb)
Registers a callback function for handling Tx Control module events.
Here is the call graph for this function:

◆ meshx_gen_client_txcm_fn_model_send()

static meshx_err_t meshx_gen_client_txcm_fn_model_send ( meshx_gen_client_msg_ctx_t * msg_param,
size_t msg_param_len )
static

Transmit callback handler for sending Generic Client model messages.

This function processes the generic client message context and forwards it to the platform-specific BLE Mesh generic client send function for transmission. It validates the input parameters before invoking the core send function.

Parameters
[in]msg_paramPointer to the message context structure (meshx_gen_client_msg_ctx_t). Must not be NULL.
[in]msg_param_lenLength of the message parameter data in bytes. Must equal sizeof(meshx_gen_client_msg_ctx_t).
Returns
  • MESHX_SUCCESS: Message sent successfully.
  • MESHX_INVALID_ARG: Invalid argument.
  • MESHX_FAIL: Failed to send message.

Definition at line 216 of file meshx_gen_client.c.

217{
218 if(msg_param == NULL || msg_param_len != sizeof(meshx_gen_client_msg_ctx_t))
219 {
220 return MESHX_INVALID_ARG;
221 }
222
224 msg_param->model,
225 &msg_param->state,
226 msg_param->opcode,
227 msg_param->addr,
228 msg_param->net_idx,
229 msg_param->app_idx,
231 );
232}
meshx_err_t meshx_plat_gen_cli_send_msg(meshx_ptr_t p_model, meshx_gen_cli_set_t *p_set, uint16_t opcode, uint16_t addr, uint16_t net_idx, uint16_t app_idx, bool is_get_opcode)
Sends a Generic Client message over BLE Mesh.
static meshx_err_t meshx_is_gen_cli_get_opcode(uint16_t opcode)
Checks if the given opcode corresponds to a GET request in the Generic Client group.
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshx_handle_gen_onoff_msg()

static meshx_err_t meshx_handle_gen_onoff_msg ( dev_struct_t * pdev,
control_task_msg_evt_t model_id,
meshx_gen_cli_cb_param_t * param )
static

Handle the Generic OnOff Client messages.

This function processes the incoming messages for the Generic OnOff Client and performs the necessary actions based on the message event and parameters.

Parameters
[in]pdevPointer to the device structure containing device-specific information.
[in]model_idThe model ID of the received message.
[in]paramPointer to the Generic Client callback parameter structure.
Returns
MESHX_SUCCESS on success, or an error code on failure.

Definition at line 335 of file meshx_gen_client.c.

340{
341 if(!param || !pdev)
342 {
343 MESHX_LOGE(MODULE_ID_MODEL_CLIENT, "Invalid parameters");
344 return MESHX_INVALID_ARG;
345 }
346 meshx_gen_cli_cb_reg_t const * reg_cb = NULL;
348
350
351 while (node)
352 {
353 if (model_id == node->reg.model_id)
354 {
355 MESHX_LOGD(MODULE_ID_MODEL_CLIENT, "op|src|dst:%04" PRIx32 "|%04x|%04x",
356 param->ctx.opcode, param->ctx.src_addr, param->ctx.dst_addr);
357 reg_cb = &node->reg;
358 if (param->evt == MESHX_GEN_CLI_TIMEOUT || param->err_code != MESHX_SUCCESS)
359 {
360 MESHX_LOGD(MODULE_ID_MODEL_CLIENT, "Retrying to send the message");
361 err = meshx_gen_cli_handle_resend((uint16_t)model_id, param);
362 if(err != MESHX_SUCCESS)
363 {
364 MESHX_LOGE(MODULE_ID_MODEL_CLIENT, "Resend failed: %d", err);
365 }
366 else
367 {
368 /* As the retry would callback shall be triggered by the TXCM */
370 }
371 }
372 else
373 {
374 /* We need to notify if the ack is from the same source as that of dest */
376 if(err != MESHX_SUCCESS)
377 {
378 MESHX_LOGE(MODULE_ID_MODEL_CLIENT, "Ack failed: %d", err);
379 }
380 err = reg_cb->cb(pdev, model_id, param);
381 }
382 }
383 node = node->next;
384 }
385
386 if(reg_cb == NULL)
387 {
388 return MESHX_SUCCESS;
389 }
390
391 return err;
392}
@ MESHX_GEN_CLI_TIMEOUT
#define MESHX_DO_NOTHING
Definition meshx_err.h:17
static meshx_err_t meshx_gen_cli_handle_resend(uint16_t model_id, const meshx_gen_cli_cb_param_t *param)
Handles resend request for generic client messages.
static meshx_err_t meshx_gen_cli_handle_ack(uint16_t src_addr)
Handles ack request for generic client messages.
#define MESHX_LOGD(module_id, format,...)
Definition meshx_log.h:113
uint16_t src_addr
uint16_t dst_addr
meshx_gen_client_cb_t cb
Here is the call graph for this function:
Here is the caller graph for this function:

◆ meshx_handle_txcm_msg()

static meshx_err_t meshx_handle_txcm_msg ( dev_struct_t * pdev,
control_task_msg_evt_t evt,
meshx_gen_cli_resend_ctx * param )
static

Handles a control task message for a generic client model.

This function processes a control task message received from the control task module for a generic client model. It is responsible for handling messages such as Tx Control Module signals, and is called by the control task module when a control task message is received.

Parameters
[in]pdevPointer to the device structure associated with the BLE Mesh node.
[in]evtControl task message event type, which represents the model ID of the generic client model associated with the message.
[in]paramPointer to a structure containing the control task message parameters. Must not be NULL.
Returns
meshx_err_t Error code from the control task message handling. Returns MESHX_SUCCESS on successful handling.

Definition at line 250 of file meshx_gen_client.c.

255{
256 MESHX_UNUSED(evt);
258 meshx_gen_cli_cb_reg_t const * reg_cb = NULL;
259 const meshx_gen_cli_cb_reg_node_t *node = g_meshx_client_control.cli_cb_reg_head;
260
261 MESHX_LOGE(MODULE_ID_MODEL_CLIENT, "TXCM Timeout for model 0x%x", param->model_id);
262
263 while (node)
264 {
265 if (param->model_id == node->reg.model_id)
266 {
267 reg_cb = &node->reg;
270 err = reg_cb->cb(pdev, param->model_id, &param->param);
271 }
272 node = node->next;
273 }
274
275 if(reg_cb == NULL)
276 {
277 return MESHX_SUCCESS;
278 }
279
280 return err;
281}
#define MESHX_UNUSED(x)
Definition meshx_err.h:15
@ MESHX_TIMEOUT
Definition meshx_err.h:48
Here is the caller graph for this function:

◆ meshx_is_gen_cli_get_opcode()

static meshx_err_t meshx_is_gen_cli_get_opcode ( uint16_t opcode)
static

Checks if the given opcode corresponds to a GET request in the Generic Client group.

This function determines whether the provided opcode is part of the set of GET requests defined for the Generic Client group in the MeshX protocol.

Parameters
[in]opcodeThe opcode to check.
Returns
meshx_err_t Returns an error code indicating whether the opcode is a GET request in the Generic Client group.

Definition at line 113 of file meshx_gen_client.c.

114{
115 switch(opcode)
116 {
131 return MESHX_SUCCESS;
132 default:
133 return MESHX_FAIL;
134 }
135}
#define MESHX_MODEL_OP_GEN_USER_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_BATTERY_GET
#define MESHX_MODEL_OP_GEN_CLIENT_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_LOC_LOCAL_GET
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTY_GET
#define MESHX_MODEL_OP_GEN_POWER_LEVEL_GET
#define MESHX_MODEL_OP_GEN_LEVEL_GET
#define MESHX_MODEL_OP_GEN_USER_PROPERTY_GET
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTIES_GET
#define MESHX_MODEL_OP_GEN_ONOFF_GET
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTY_GET
#define MESHX_MODEL_OP_GEN_LOC_GLOBAL_GET
#define MESHX_MODEL_OP_GEN_ONPOWERUP_GET
@ MESHX_FAIL
Definition meshx_err.h:41
Here is the caller graph for this function:

◆ meshx_is_gen_cli_model()

static meshx_err_t meshx_is_gen_cli_model ( uint32_t model_id)
static

Checks if the given model ID corresponds to a Generic Client model.

This function determines whether the specified model ID is associated with a Generic Client model in the MeshX framework.

Parameters
[in]model_idThe model ID to be checked.
Returns
meshx_err_t Returns an error code indicating whether the model ID is a Generic Client model.

Definition at line 145 of file meshx_gen_client.c.

146{
147 switch (model_id)
148 {
155 return MESHX_SUCCESS;
156 default:
157 return MESHX_FAIL;
158 }
159}
#define MESHX_MODEL_ID_GEN_POWER_ONOFF_CLI
#define MESHX_MODEL_ID_GEN_BATTERY_CLI
#define MESHX_MODEL_ID_GEN_ONOFF_CLI
#define MESHX_MODEL_ID_GEN_LEVEL_CLI
#define MESHX_MODEL_ID_GEN_POWER_LEVEL_CLI
#define MESHX_MODEL_ID_GEN_LOCATION_CLI
Here is the caller graph for this function:

◆ meshx_is_unack_opcode()

static meshx_err_t meshx_is_unack_opcode ( uint32_t opcode)
static

Checks if the given opcode corresponds to an unacknowledged (unack) message.

This function determines whether the provided opcode represents a SET_UNACK operation for various Generic models in the BLE Mesh specification. It returns success if the opcode matches one of the defined unacknowledged set opcodes.

Parameters
[in]opcodeThe mesh model opcode to check (uint32_t).
Returns
MESHX_SUCCESS if the opcode is a recognized unacknowledged set opcode (e.g., Generic OnOff Set Unack, Generic Level Set Unack, etc.).
MESHX_FAIL if the opcode does not match any unacknowledged set opcode.
Note
This utility function is used internally for handling reliable vs. non-reliable messaging in Generic Client models. Unacknowledged messages do not expect a response from the server.
Aligns with Bluetooth SIG Mesh Generic models opcodes (e.g., 0x8201 for Generic OnOff Set Unacknowledged).

Definition at line 180 of file meshx_gen_client.c.

181{
182 switch(opcode)
183 {
193 return MESHX_SUCCESS;
194 default:
195 return MESHX_FAIL;
196 }
197}
#define MESHX_MODEL_OP_GEN_USER_PROPERTY_SET_UNACK
#define MESHX_MODEL_OP_GEN_ADMIN_PROPERTY_SET_UNACK
#define MESHX_MODEL_OP_GEN_ONOFF_SET_UNACK
#define MESHX_MODEL_OP_GEN_MANUFACTURER_PROPERTY_SET_UNACK
#define MESHX_MODEL_OP_GEN_LEVEL_SET_UNACK
#define MESHX_MODEL_OP_GEN_POWER_LEVEL_SET_UNACK
#define MESHX_MODEL_OP_GEN_LOC_LOCAL_SET_UNACK
#define MESHX_MODEL_OP_GEN_ONPOWERUP_SET_UNACK
#define MESHX_MODEL_OP_GEN_LOC_GLOBAL_SET_UNACK
Here is the caller graph for this function:

Variable Documentation

◆ cli_cb_reg_head

meshx_gen_cli_cb_reg_node_t* cli_cb_reg_head

Pointer to the head of the linked list of registered callbacks.

Definition at line 80 of file meshx_gen_client.c.

◆ client_init

uint16_t client_init

Flag indicating whether the mesh client has been initialized.

Definition at line 79 of file meshx_gen_client.c.

◆ [struct]

struct { ... } g_meshx_client_control