Z-Wave Protocol Controller Reference
zwave_command_class_association_internals.h
Go to the documentation of this file.
1/******************************************************************************
2 * # License
3 * <b>Copyright 2021 Silicon Laboratories Inc. www.silabs.com</b>
4 ******************************************************************************
5 * The licensor of this software is Silicon Laboratories Inc. Your use of this
6 * software is governed by the terms of Silicon Labs Master Software License
7 * Agreement (MSLA) available at
8 * www.silabs.com/about-us/legal/master-software-license-agreement. This
9 * software is distributed to you in Source Code format and is governed by the
10 * sections of the MSLA applicable to Source Code.
11 *
12 *****************************************************************************/
13
23#ifndef ZWAVE_COMMAND_CLASS_ASSOCIATION_INTERNALS_H
24#define ZWAVE_COMMAND_CLASS_ASSOCIATION_INTERNALS_H
25
26#include "sl_status.h"
27#include "zwave_utils.h" // For zwave_node_id_t
28#include "zwave_controller_types.h" // For zwave_endpoint_id_t
30#include "attribute_store.h"
31
32// First index of the frame containing association data for (Multi Channel) Association Reports
33#define REPORT_ASSOCIATION_BYTES_INDEX 5
34#define ASSOCIATION_REPORTS_REPORTS_TO_FOLLOW 4
35
36
39#define MAX_GROUP_CONTENT_SIZE ATTRIBUTE_STORE_MAXIMUM_VALUE_LENGTH
40
41// Frame defines
45 uint8_t command;
51
53typedef struct association_set_frame {
55 uint8_t command;
59
61typedef struct association_get_frame {
63 uint8_t command;
66
70 uint8_t command;
73
74#ifdef __cplusplus
75extern "C" {
76#endif
77
87 attribute_store_node_t updated_node, attribute_store_change_t change);
88
89#ifdef __cplusplus
90}
91#endif
92
93#endif //ZWAVE_COMMAND_CLASS_ASSOCIATION_INTERNALS_H
#define MAX_GROUP_CONTENT_SIZE
Definition: zwave_command_class_association_internals.h:39
struct association_grouping_report_frame association_grouping_report_frame_t
‍Grouping Report frame. Can be shared between Multi Channel Association and Association.
struct association_report_frame association_report_frame_t
‍Report frame. Can be shared between Multi Channel Association and Association.
struct association_get_frame association_get_frame_t
‍Get frames. Can be shared between Multi Channel Association and Association.
void zwave_command_class_association_on_supported_groupings_update(attribute_store_node_t updated_node, attribute_store_change_t change)
Listens to SUPPORTED_GROUPINGS value updates and create all the supported association groups based on...
struct association_set_frame association_set_frame_t
‍Set/Remove frames. Can be shared between Multi Channel Association and Association.
SL Status Codes.
‍Get frames. Can be shared between Multi Channel Association and Association.
Definition: zwave_command_class_association_internals.h:61
uint8_t command_class
Definition: zwave_command_class_association_internals.h:62
uint8_t grouping_identifier
Definition: zwave_command_class_association_internals.h:64
uint8_t command
Definition: zwave_command_class_association_internals.h:63
‍Grouping Report frame. Can be shared between Multi Channel Association and Association.
Definition: zwave_command_class_association_internals.h:68
uint8_t command_class
Definition: zwave_command_class_association_internals.h:69
uint8_t supported_groupings
Definition: zwave_command_class_association_internals.h:71
uint8_t command
Definition: zwave_command_class_association_internals.h:70
‍Report frame. Can be shared between Multi Channel Association and Association.
Definition: zwave_command_class_association_internals.h:43
uint8_t reports_to_follow
Definition: zwave_command_class_association_internals.h:48
uint8_t command_class
Definition: zwave_command_class_association_internals.h:44
uint8_t group_content[MAX_GROUP_CONTENT_SIZE]
Definition: zwave_command_class_association_internals.h:49
uint8_t command
Definition: zwave_command_class_association_internals.h:45
uint8_t grouping_identifier
Definition: zwave_command_class_association_internals.h:46
uint8_t max_nodes_supported
Definition: zwave_command_class_association_internals.h:47
‍Set/Remove frames. Can be shared between Multi Channel Association and Association.
Definition: zwave_command_class_association_internals.h:53
uint8_t group_content[MAX_GROUP_CONTENT_SIZE]
Definition: zwave_command_class_association_internals.h:57
uint8_t grouping_identifier
Definition: zwave_command_class_association_internals.h:56
uint8_t command_class
Definition: zwave_command_class_association_internals.h:54
uint8_t command
Definition: zwave_command_class_association_internals.h:55
Various Z-Wave related utilities.