blob: 2cfa6553f6951a2b611a0fb562b1f68d7ca8afca [file] [log] [blame]
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -08001/*
2 *
Vivien Nicolasec761ed2021-02-03 02:56:02 +01003 * Copyright (c) 2021 Project CHIP Authors
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -08004 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
Vivien Nicolasec761ed2021-02-03 02:56:02 +010018// THIS FILE IS GENERATED BY ZAP
19
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -080020// Prevent multiple inclusion
21#pragma once
22
23// Default values for the attributes longer than a pointer,
24// in a form of a binary blob
25// Separate block is generated for big-endian and little-endian cases.
26#if BIGENDIAN_CPU
27#define GENERATED_DEFAULTS \
28 { \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010029 /* 0 - Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */ \
30 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
31 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
32 \
33 /* 32 - Default for cluster: "Basic", attribute: "ProductName". side: server, big-endian */ \
34 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010035 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010036 \
37 /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010038 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010039 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
40 \
41 /* 96 - Default for cluster: "Basic", attribute: "Location". side: server, big-endian */ \
42 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
43 \
44 /* 112 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010045 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
47 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010048 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
49 \
50 /* 176 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, big-endian */ \
51 0x00, 0x00, 0x00, 0x00, \
52 \
53 /* 180 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010054 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
56 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010057 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
58 \
59 /* 244 - Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010060 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010061 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
62 \
63 /* 276 - Default for cluster: "Basic", attribute: "ProductName". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010064 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010065 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
66 \
67 /* 308 - Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010068 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010069 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
70 \
71 /* 340 - Default for cluster: "Basic", attribute: "Location". side: server, big-endian */ \
72 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
73 \
74 /* 356 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010075 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
76 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
77 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010078 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
79 \
80 /* 420 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, big-endian */ \
81 0x00, 0x00, 0x00, 0x00, \
82 \
83 /* 424 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, big-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010084 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
85 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
86 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010087 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -080088 }
89
90#else // !BIGENDIAN_CPU
91#define GENERATED_DEFAULTS \
92 { \
Vivien Nicolasa11d0542021-03-17 17:51:38 +010093 /* 0 - Default for cluster: "Basic", attribute: "VendorName". side: server, little-endian */ \
94 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
95 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
96 \
97 /* 32 - Default for cluster: "Basic", attribute: "ProductName". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +010098 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
99 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100100 \
101 /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100102 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100103 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100104 \
105 /* 96 - Default for cluster: "Basic", attribute: "Location". side: server, little-endian */ \
106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
107 \
108 /* 112 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
113 \
114 /* 176 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100115 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100116 \
117 /* 180 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */ \
118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
122 \
123 /* 244 - Default for cluster: "Basic", attribute: "VendorName". side: server, little-endian */ \
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
125 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
126 \
127 /* 276 - Default for cluster: "Basic", attribute: "ProductName". side: server, little-endian */ \
128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
130 \
131 /* 308 - Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */ \
132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
133 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
134 \
135 /* 340 - Default for cluster: "Basic", attribute: "Location". side: server, little-endian */ \
136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
137 \
138 /* 356 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, little-endian */ \
139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
141 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
142 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
143 \
144 /* 420 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100145 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100146 \
147 /* 424 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
150 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800152 }
153
154#endif // BIGENDIAN_CPU
155
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100156#define GENERATED_DEFAULTS_COUNT (14)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800157
158#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
159#define ZAP_LONG_DEFAULTS_INDEX(index) \
160 { \
161 (uint8_t *) (&generatedDefaults[index]) \
162 }
163#define ZAP_MIN_MAX_DEFAULTS_INDEX(index) \
164 { \
165 (uint8_t *) (&minMaxDefault[index]) \
166 }
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100167#define ZAP_EMPTY_DEFAULT() \
168 { \
169 (uint8_t *) 0 \
170 }
171#define ZAP_SIMPLE_DEFAULT(x) \
172 { \
173 (uint8_t *) x \
174 }
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800175
176// This is an array of EmberAfAttributeMinMaxValue structures.
177#define GENERATED_MIN_MAX_DEFAULT_COUNT 0
178#define GENERATED_MIN_MAX_DEFAULTS \
179 { \
180 }
181
182#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
183// This is an array of EmberAfAttributeMetadata structures.
Song Guo9a8655c2021-03-17 11:16:34 +0800184#define GENERATED_ATTRIBUTE_COUNT 51
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800185#define GENERATED_ATTRIBUTES \
186 { \
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100187 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* Network Commissioning (server): cluster revision */ \
188 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* On/off (server): cluster revision */ \
189 { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */ \
190 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* Level Control (server): cluster revision */ \
191 { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): current level */ \
192 { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
193 ZAP_SIMPLE_DEFAULT(3) }, /* Basic (server): cluster revision */ \
194 { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
195 ZAP_EMPTY_DEFAULT() }, /* Basic (server): InteractionModelVersion */ \
196 { 0x0001, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), \
197 ZAP_LONG_DEFAULTS_INDEX(0) }, /* Basic (server): VendorName */ \
198 { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): VendorID */ \
199 { 0x0003, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), \
200 ZAP_LONG_DEFAULTS_INDEX(32) }, /* Basic (server): ProductName */ \
201 { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): ProductID */ \
202 { 0x0005, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
203 ZAP_LONG_DEFAULTS_INDEX(64) }, /* Basic (server): UserLabel */ \
204 { 0x0006, ZAP_TYPE(CHAR_STRING), 16, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
205 ZAP_LONG_DEFAULTS_INDEX(96) }, /* Basic (server): Location */ \
206 { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
207 ZAP_SIMPLE_DEFAULT(0x00) }, /* Basic (server): HardwareVersion */ \
208 { 0x0008, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), \
209 ZAP_LONG_DEFAULTS_INDEX(112) }, /* Basic (server): HardwareVersionString */ \
210 { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), \
211 ZAP_LONG_DEFAULTS_INDEX(176) }, /* Basic (server): SoftwareVersion */ \
212 { 0x000A, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), \
213 ZAP_LONG_DEFAULTS_INDEX(180) }, /* Basic (server): SoftwareVersionString */ \
214 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* On/off (server): cluster revision */ \
215 { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */ \
216 { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
217 ZAP_EMPTY_DEFAULT() }, /* On/off (server): start up on off */ \
218 { 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* On/off (server): global scene control */ \
219 { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
220 ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): on time */ \
221 { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
222 ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): off wait time */ \
223 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* Level Control (server): cluster revision */ \
224 { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): current level */ \
225 { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* Level Control (server): remaining time */ \
226 { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
227 ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): options */ \
228 { 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
229 ZAP_EMPTY_DEFAULT() }, /* Level Control (server): start up current level */ \
230 { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
231 ZAP_SIMPLE_DEFAULT(3) }, /* Basic (server): cluster revision */ \
232 { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
233 ZAP_EMPTY_DEFAULT() }, /* Basic (server): InteractionModelVersion */ \
234 { 0x0001, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), \
235 ZAP_LONG_DEFAULTS_INDEX(244) }, /* Basic (server): VendorName */ \
236 { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): VendorID */ \
237 { 0x0003, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), \
238 ZAP_LONG_DEFAULTS_INDEX(276) }, /* Basic (server): ProductName */ \
239 { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): ProductID */ \
240 { 0x0005, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
241 ZAP_LONG_DEFAULTS_INDEX(308) }, /* Basic (server): UserLabel */ \
242 { 0x0006, ZAP_TYPE(CHAR_STRING), 16, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
243 ZAP_LONG_DEFAULTS_INDEX(340) }, /* Basic (server): Location */ \
244 { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), \
245 ZAP_SIMPLE_DEFAULT(0x00) }, /* Basic (server): HardwareVersion */ \
246 { 0x0008, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), \
247 ZAP_LONG_DEFAULTS_INDEX(356) }, /* Basic (server): HardwareVersionString */ \
248 { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), \
249 ZAP_LONG_DEFAULTS_INDEX(420) }, /* Basic (server): SoftwareVersion */ \
250 { 0x000A, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), \
251 ZAP_LONG_DEFAULTS_INDEX(424) }, /* Basic (server): SoftwareVersionString */ \
252 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* On/off (server): cluster revision */ \
253 { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */ \
254 { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
255 ZAP_EMPTY_DEFAULT() }, /* On/off (server): start up on off */ \
256 { 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* On/off (server): global scene control */ \
257 { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
258 ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): on time */ \
259 { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
260 ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): off wait time */ \
261 { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* Level Control (server): cluster revision */ \
262 { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): current level */ \
263 { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* Level Control (server): remaining time */ \
264 { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
265 ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): options */ \
266 { 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), \
267 ZAP_EMPTY_DEFAULT() }, /* Level Control (server): start up current level */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800268 }
269
270// This is an array of EmberAfCluster structures.
271#define ZAP_ATTRIBUTE_INDEX(index) ((EmberAfAttributeMetadata *) (&generatedAttributes[index]))
272
273// Cluster function static arrays
274#define GENERATED_FUNCTION_ARRAYS \
275 const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = { \
276 (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback, \
277 }; \
278 const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = { \
279 (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback, \
280 };
281
282#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
Song Guo9a8655c2021-03-17 11:16:34 +0800283#define GENERATED_CLUSTER_COUNT 9
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800284#define GENERATED_CLUSTERS \
285 { \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100286 { \
Song Guo9a8655c2021-03-17 11:16:34 +0800287 0x0031, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
288 }, /* Endpoint: 0, Cluster: Network Commissioning (server) */ \
289 { 0x0006, \
290 ZAP_ATTRIBUTE_INDEX(1), \
291 2, \
292 3, \
293 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
294 chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/off (server) */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800295 { 0x0008, \
Song Guo9a8655c2021-03-17 11:16:34 +0800296 ZAP_ATTRIBUTE_INDEX(3), \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800297 2, \
298 3, \
299 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
300 chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100301 { \
Song Guo9a8655c2021-03-17 11:16:34 +0800302 0x0028, ZAP_ATTRIBUTE_INDEX(5), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100303 }, /* Endpoint: 1, Cluster: Basic (server) */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800304 { 0x0006, \
Song Guo9a8655c2021-03-17 11:16:34 +0800305 ZAP_ATTRIBUTE_INDEX(17), \
Vivien Nicolase3f02d02021-01-26 18:24:55 +0100306 6, \
307 9, \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800308 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
309 chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/off (server) */ \
310 { 0x0008, \
Song Guo9a8655c2021-03-17 11:16:34 +0800311 ZAP_ATTRIBUTE_INDEX(23), \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800312 5, \
313 7, \
314 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
315 chipFuncArrayLevelControlServer }, /* Endpoint: 2, Cluster: Level Control (server) */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100316 { \
Song Guo9a8655c2021-03-17 11:16:34 +0800317 0x0028, ZAP_ATTRIBUTE_INDEX(28), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100318 }, /* Endpoint: 2, Cluster: Basic (server) */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800319 { 0x0006, \
Song Guo9a8655c2021-03-17 11:16:34 +0800320 ZAP_ATTRIBUTE_INDEX(40), \
Vivien Nicolase3f02d02021-01-26 18:24:55 +0100321 6, \
322 9, \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800323 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
324 chipFuncArrayOnOffServer }, /* Endpoint: 3, Cluster: On/off (server) */ \
325 { 0x0008, \
Song Guo9a8655c2021-03-17 11:16:34 +0800326 ZAP_ATTRIBUTE_INDEX(46), \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800327 5, \
328 7, \
329 ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
330 chipFuncArrayLevelControlServer }, /* Endpoint: 3, Cluster: Level Control (server) */ \
331 }
332
333#define ZAP_CLUSTER_INDEX(index) ((EmberAfCluster *) (&generatedClusters[index]))
334
335// This is an array of EmberAfEndpointType structures.
336#define GENERATED_ENDPOINT_TYPES \
337 { \
Song Guo9a8655c2021-03-17 11:16:34 +0800338 { ZAP_CLUSTER_INDEX(0), 1, 2 }, { ZAP_CLUSTER_INDEX(1), 3, 260 }, { ZAP_CLUSTER_INDEX(4), 3, 270 }, \
339 { ZAP_CLUSTER_INDEX(7), 2, 16 }, \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800340 }
341
342// Largest attribute size is needed for various buffers
Vivien Nicolasa11d0542021-03-17 17:51:38 +0100343#define ATTRIBUTE_LARGEST (65)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800344
345// Total size of singleton attributes
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100346#define ATTRIBUTE_SINGLETONS_SIZE (508)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800347
348// Total size of attribute storage
Song Guo9a8655c2021-03-17 11:16:34 +0800349#define ATTRIBUTE_MAX_SIZE (548)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800350
351// Number of fixed endpoints
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800352#define FIXED_ENDPOINT_COUNT (4)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800353
354// Array of endpoints that are supported, the data inside
355// the array is the endpoint number.
356#define FIXED_ENDPOINT_ARRAY \
357 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800358 0x0000, 0x0001, 0x0002, 0x0003 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800359 }
360
361// Array of profile ids
362#define FIXED_PROFILE_IDS \
363 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800364 0xABCD, 0x0104, 0x0104, 0x0104 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800365 }
366
367// Array of device ids
368#define FIXED_DEVICE_IDS \
369 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800370 0, 0, 0, 0 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800371 }
372
373// Array of device versions
374#define FIXED_DEVICE_VERSIONS \
375 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800376 1, 1, 1, 1 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800377 }
378
379// Array of endpoint types supported on each endpoint
380#define FIXED_ENDPOINT_TYPES \
381 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800382 0, 1, 2, 3 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800383 }
384
385// Array of networks supported on each endpoint
386#define FIXED_NETWORKS \
387 { \
Arun Bharadwaj589eb1b2021-02-12 11:24:11 -0800388 0, 0, 0, 0 \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800389 }
390
391// Array of EmberAfCommandMetadata structs.
392#define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
Song Guo9a8655c2021-03-17 11:16:34 +0800393#define EMBER_AF_GENERATED_COMMAND_COUNT (62)
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800394#define GENERATED_COMMANDS \
395 { \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100396 { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800397 { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */ \
398 { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */ \
399 { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */ \
400 { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */ \
401 { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */ \
402 { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */ \
403 { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */ \
404 { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */ \
Vivien Nicolas139e71d2021-02-16 19:12:41 +0100405 { 0x0006, 0x40, 0 }, /* On/off (server): OffWithEffect */ \
Vivien Nicolasc486c912021-02-24 02:27:55 +0100406 { 0x0006, 0x40, 0 }, /* On/off (server): OffWithEffect */ \
Vivien Nicolas139e71d2021-02-16 19:12:41 +0100407 { 0x0006, 0x41, 0 }, /* On/off (server): OnWithRecallGlobalScene */ \
Vivien Nicolasc486c912021-02-24 02:27:55 +0100408 { 0x0006, 0x41, 0 }, /* On/off (server): OnWithRecallGlobalScene */ \
Vivien Nicolas139e71d2021-02-16 19:12:41 +0100409 { 0x0006, 0x42, 0 }, /* On/off (server): OnWithTimedOff */ \
Vivien Nicolasc486c912021-02-24 02:27:55 +0100410 { 0x0006, 0x42, 0 }, /* On/off (server): OnWithTimedOff */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800411 { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */ \
412 { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */ \
413 { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */ \
414 { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */ \
415 { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */ \
416 { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */ \
417 { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */ \
418 { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */ \
419 { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */ \
420 { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */ \
421 { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */ \
422 { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */ \
423 { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */ \
424 { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */ \
425 { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */ \
426 { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */ \
427 { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */ \
428 { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */ \
429 { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */ \
430 { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */ \
431 { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */ \
432 { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */ \
433 { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */ \
434 { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */ \
Vivien Nicolasa4a10202021-03-11 21:25:21 +0100435 { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): StartUp */ \
436 { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): StartUp */ \
437 { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): ShutDown */ \
438 { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): ShutDown */ \
439 { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): Leave */ \
440 { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): Leave */ \
Song Guo9a8655c2021-03-17 11:16:34 +0800441 { 0x0031, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): ScanNetworks */ \
442 { 0x0031, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): ScanNetworksResponse */ \
443 { 0x0031, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddWiFiNetwork */ \
444 { 0x0031, 0x03, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddWiFiNetworkResponse */ \
445 { 0x0031, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetwork */ \
446 { 0x0031, 0x05, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetworkResponse */ \
447 { 0x0031, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddThreadNetwork */ \
448 { 0x0031, 0x07, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddThreadNetworkResponse */ \
449 { 0x0031, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetwork */ \
450 { 0x0031, 0x09, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetworkResponse */ \
451 { 0x0031, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): RemoveNetwork */ \
452 { 0x0031, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): RemoveNetworkResponse */ \
453 { 0x0031, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): EnableNetwork */ \
454 { 0x0031, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): EnableNetworkResponse */ \
455 { 0x0031, 0x0E, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): DisableNetwork */ \
456 { 0x0031, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): DisableNetworkResponse */ \
457 { 0x0031, 0x10, \
458 ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): GetLastNetworkCommissioningResult */ \
Arun Bharadwaj5dcbd402021-01-25 15:39:27 -0800459 }
460
461// Array of EmberAfManufacturerCodeEntry structures for commands.
462#define GENERATED_COMMAND_MANUFACTURER_CODE_COUNT (0)
463#define GENERATED_COMMAND_MANUFACTURER_CODES \
464 { \
465 { \
466 0x00, 0x00 \
467 } \
468 }
469
470// This is an array of EmberAfManufacturerCodeEntry structures for clusters.
471#define GENERATED_CLUSTER_MANUFACTURER_CODE_COUNT (0)
472#define GENERATED_CLUSTER_MANUFACTURER_CODES \
473 { \
474 { \
475 0x00, 0x00 \
476 } \
477 }
478
479// This is an array of EmberAfManufacturerCodeEntry structures for attributes.
480#define GENERATED_ATTRIBUTE_MANUFACTURER_CODE_COUNT (0)
481#define GENERATED_ATTRIBUTE_MANUFACTURER_CODES \
482 { \
483 { \
484 0x00, 0x00 \
485 } \
486 }
487
488// Array of EmberAfPluginReportingEntry structures.
489#define ZRD(x) EMBER_ZCL_REPORTING_DIRECTION_##x
490#define ZAP_REPORT_DIRECTION(x) ZRD(x)
491
492// Use this macro to check if Reporting plugin is included
493#define EMBER_AF_PLUGIN_REPORTING
494// User options for plugin Reporting
495#define EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE (2)
496#define EMBER_AF_PLUGIN_REPORTING_ENABLE_GROUP_BOUND_REPORTS
497
498#define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE (2)
499#define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS \
500 { \
501 { \
502 ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0006, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } } \
503 }, /* Reporting for cluster: "On/off", attribute: "on/off". side: server */ \
504 { \
505 ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0008, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } } \
506 }, /* Reporting for cluster: "Level Control", attribute: "current level". side: server */ \
507 }