Apply Upstream code (2021-03-15)
[platform/upstream/connectedhomeip.git] / examples / lighting-app / lighting-common / gen / endpoint_config.h
1 /*
2  *
3  *    Copyright (c) 2021 Project CHIP Authors
4  *
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
18 // THIS FILE IS GENERATED BY ZAP
19
20 // 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     {                                                                                                                              \
29         /* 0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  \
30             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
31             /* Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */ /* 32 */ 0x00, 0x00, 0x00, 0x00, \
32             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
33             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                  \
34             /* Default for cluster: "Basic", attribute: "ProductName". side: server, big-endian */ /* 64 */ 0x00, 0x00, 0x00,      \
35             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
36             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                            \
37             /* Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */ /* 96 */ 0x00, 0x00, 0x00, 0x00,  \
38             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                \
39             /* Default for cluster: "Basic", attribute: "Location". side: server, big-endian */ /* 112 */ 0x00, 0x00, 0x00, 0x00,  \
40             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
41             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
42             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
43             0x00, 0x00, 0x00,                                                                                                      \
44             /* Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, big-endian */ /* 176 */ 0x00, 0x00, \
45             0x00, 0x00, /* Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, big-endian */ /* 180 */ 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,      \
48             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
49             0x00, 0x00, 0x00, 0x00, 0x00,                                                                                          \
50             0x00, /* Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, big-endian */                 \
51     }
52
53 #else // !BIGENDIAN_CPU
54 #define GENERATED_DEFAULTS                                                                                                         \
55     {                                                                                                                              \
56         /* 0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  \
57             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
58             /* Default for cluster: "Basic", attribute: "VendorName". side: server, little-endian */ /* 32 */ 0x00, 0x00, 0x00,    \
59             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
60             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                            \
61             /* Default for cluster: "Basic", attribute: "ProductName". side: server, little-endian */ /* 64 */ 0x00, 0x00, 0x00,   \
62             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
63             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                            \
64             /* Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */ /* 96 */ 0x00, 0x00, 0x00,     \
65             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
66             /* Default for cluster: "Basic", attribute: "Location". side: server, little-endian */ /* 112 */ 0x00, 0x00, 0x00,     \
67             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
68             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
69             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
70             0x00, 0x00, 0x00, 0x00,                                                                                                \
71             /* Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, little-endian */ /* 176 */          \
72             0x00, 0x00, 0x00, 0x00,                                                                                                \
73             /* Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */ /* 180 */ 0x00, 0x00,    \
74             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
75             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,                                                                                                \
78             0x00, /* Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */              \
79     }
80
81 #endif // BIGENDIAN_CPU
82
83 #define GENERATED_DEFAULTS_COUNT (7)
84
85 #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
86 #define ZAP_LONG_DEFAULTS_INDEX(index)                                                                                             \
87     {                                                                                                                              \
88         (uint8_t *) (&generatedDefaults[index])                                                                                    \
89     }
90 #define ZAP_MIN_MAX_DEFAULTS_INDEX(index)                                                                                          \
91     {                                                                                                                              \
92         (uint8_t *) (&minMaxDefault[index])                                                                                        \
93     }
94
95 // This is an array of EmberAfAttributeMinMaxValue structures.
96 #define GENERATED_MIN_MAX_DEFAULT_COUNT 0
97 #define GENERATED_MIN_MAX_DEFAULTS                                                                                                 \
98     {                                                                                                                              \
99     }
100
101 #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
102 // This is an array of EmberAfAttributeMetadata structures.
103 #define GENERATED_ATTRIBUTE_COUNT 17
104 #define GENERATED_ATTRIBUTES                                                                                                       \
105     {                                                                                                                              \
106         { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 2 } },         /* On/off (server): cluster revision */                     \
107             { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, { (uint8_t *) 0x00 } }, /* On/off (server): on/off */                               \
108             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 3 } },     /* Level Control (server): cluster revision */              \
109             { 0x0000, ZAP_TYPE(INT8U), 1, 0, { (uint8_t *) 0x00 } },   /* Level Control (server): current level */                 \
110             {                                                                                                                      \
111                 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 3 }                                      \
112             }, /* Basic (server): cluster revision */                                                                              \
113             {                                                                                                                      \
114                 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 0 }                                      \
115             }, /* Basic (server): InteractionModelVersion */                                                                       \
116             {                                                                                                                      \
117                 0x0001, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(0) }       \
118             },                                                                                 /* Basic (server): VendorName */    \
119             { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 0 } }, /* Basic (server): VendorID */      \
120             {                                                                                                                      \
121                 0x0003, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(32) }      \
122             },                                                                                 /* Basic (server): ProductName */   \
123             { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 0 } }, /* Basic (server): ProductID */     \
124             { 0x0005,                                                                                                              \
125               ZAP_TYPE(CHAR_STRING),                                                                                               \
126               32,                                                                                                                  \
127               ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                                                        \
128               { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(64) } }, /* Basic (server): UserLabel */                                       \
129             { 0x0006,                                                                                                              \
130               ZAP_TYPE(CHAR_STRING),                                                                                               \
131               16,                                                                                                                  \
132               ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                                                        \
133               { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(96) } }, /* Basic (server): Location */                                        \
134             {                                                                                                                      \
135                 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) 0x00 }                                   \
136             }, /* Basic (server): HardwareVersion */                                                                               \
137             {                                                                                                                      \
138                 0x0008, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(112) }     \
139             }, /* Basic (server): HardwareVersionString */                                                                         \
140             {                                                                                                                      \
141                 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(176) }           \
142             }, /* Basic (server): SoftwareVersion */                                                                               \
143             {                                                                                                                      \
144                 0x000A, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON), { (uint8_t *) ZAP_LONG_DEFAULTS_INDEX(180) }     \
145             },                                                          /* Basic (server): SoftwareVersionString */                \
146             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, { (uint8_t *) 0x0001 } }, /* Network Commissioning (server): cluster revision */     \
147     }
148
149 // This is an array of EmberAfCluster structures.
150 #define ZAP_ATTRIBUTE_INDEX(index) ((EmberAfAttributeMetadata *) (&generatedAttributes[index]))
151
152 // Cluster function static arrays
153 #define GENERATED_FUNCTION_ARRAYS                                                                                                  \
154     const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = {                                                             \
155         (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback,                                                     \
156     };                                                                                                                             \
157     const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = {                                                      \
158         (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback,                                              \
159     };
160
161 #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
162 #define GENERATED_CLUSTER_COUNT 4
163 #define GENERATED_CLUSTERS                                                                                                         \
164     {                                                                                                                              \
165         {                                                                                                                          \
166             0x0006,                                                                                                                \
167             ZAP_ATTRIBUTE_INDEX(0),                                                                                                \
168             2,                                                                                                                     \
169             3,                                                                                                                     \
170             ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                            \
171             chipFuncArrayOnOffServer                                                                                               \
172         }, /* Endpoint: 1, Cluster: On/off (server) */                                                                             \
173             { 0x0008,                                                                                                              \
174               ZAP_ATTRIBUTE_INDEX(2),                                                                                              \
175               2,                                                                                                                   \
176               3,                                                                                                                   \
177               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
178               chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */                                \
179             {                                                                                                                      \
180                 0x0028, ZAP_ATTRIBUTE_INDEX(4), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL                                            \
181             }, /* Endpoint: 1, Cluster: Basic (server) */                                                                          \
182             {                                                                                                                      \
183                 0xAAAA, ZAP_ATTRIBUTE_INDEX(16), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL                                              \
184             }, /* Endpoint: 1, Cluster: Network Commissioning (server) */                                                          \
185     }
186
187 #define ZAP_CLUSTER_INDEX(index) ((EmberAfCluster *) (&generatedClusters[index]))
188
189 // This is an array of EmberAfEndpointType structures.
190 #define GENERATED_ENDPOINT_TYPES                                                                                                   \
191     {                                                                                                                              \
192         { ZAP_CLUSTER_INDEX(0), 4, 262 },                                                                                          \
193     }
194
195 // Largest attribute size is needed for various buffers
196 #define ATTRIBUTE_LARGEST (64)
197
198 // Total size of singleton attributes
199 #define ATTRIBUTE_SINGLETONS_SIZE (254)
200
201 // Total size of attribute storage
202 #define ATTRIBUTE_MAX_SIZE (262)
203
204 // Number of fixed endpoints
205 #define FIXED_ENDPOINT_COUNT (1)
206
207 // Array of endpoints that are supported, the data inside
208 // the array is the endpoint number.
209 #define FIXED_ENDPOINT_ARRAY                                                                                                       \
210     {                                                                                                                              \
211         0x0001                                                                                                                     \
212     }
213
214 // Array of profile ids
215 #define FIXED_PROFILE_IDS                                                                                                          \
216     {                                                                                                                              \
217         0x0104                                                                                                                     \
218     }
219
220 // Array of device ids
221 #define FIXED_DEVICE_IDS                                                                                                           \
222     {                                                                                                                              \
223         0                                                                                                                          \
224     }
225
226 // Array of device versions
227 #define FIXED_DEVICE_VERSIONS                                                                                                      \
228     {                                                                                                                              \
229         1                                                                                                                          \
230     }
231
232 // Array of endpoint types supported on each endpoint
233 #define FIXED_ENDPOINT_TYPES                                                                                                       \
234     {                                                                                                                              \
235         0                                                                                                                          \
236     }
237
238 // Array of networks supported on each endpoint
239 #define FIXED_NETWORKS                                                                                                             \
240     {                                                                                                                              \
241         0                                                                                                                          \
242     }
243
244 // Array of EmberAfCommandMetadata structs.
245 #define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
246 #define EMBER_AF_GENERATED_COMMAND_COUNT (31)
247 #define GENERATED_COMMANDS                                                                                                         \
248     {                                                                                                                              \
249         { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) },     /* On/off (server): Off */                                        \
250             { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */                                         \
251             { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */                                     \
252             { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */                         \
253             { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */                                \
254             { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */                                \
255             { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */                                \
256             { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */                \
257             { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */                       \
258             { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */                       \
259             { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */                       \
260             { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): StartUp */                                     \
261             { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): ShutDown */                                    \
262             { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): Leave */                                       \
263             { 0xAAAA, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): ScanNetworks */                \
264             { 0xAAAA, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): ScanNetworksResponse */        \
265             { 0xAAAA, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddWiFiNetwork */              \
266             { 0xAAAA, 0x03, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddWiFiNetworkResponse */      \
267             { 0xAAAA, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetwork */           \
268             { 0xAAAA, 0x05, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetworkResponse */   \
269             { 0xAAAA, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddThreadNetwork */            \
270             { 0xAAAA, 0x07, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddThreadNetworkResponse */    \
271             { 0xAAAA, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetwork */         \
272             { 0xAAAA, 0x09, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetworkResponse */ \
273             { 0xAAAA, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): RemoveNetwork */               \
274             { 0xAAAA, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): RemoveNetworkResponse */       \
275             { 0xAAAA, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): EnableNetwork */               \
276             { 0xAAAA, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): EnableNetworkResponse */       \
277             { 0xAAAA, 0x0E, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): DisableNetwork */              \
278             { 0xAAAA, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): DisableNetworkResponse */      \
279             { 0xAAAA, 0x10,                                                                                                        \
280               ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): GetLastNetworkCommissioningResult */         \
281     }
282
283 // Array of EmberAfManufacturerCodeEntry structures for commands.
284 #define GENERATED_COMMAND_MANUFACTURER_CODE_COUNT (0)
285 #define GENERATED_COMMAND_MANUFACTURER_CODES                                                                                       \
286     {                                                                                                                              \
287         {                                                                                                                          \
288             0x00, 0x00                                                                                                             \
289         }                                                                                                                          \
290     }
291
292 // This is an array of EmberAfManufacturerCodeEntry structures for clusters.
293 #define GENERATED_CLUSTER_MANUFACTURER_CODE_COUNT (0)
294 #define GENERATED_CLUSTER_MANUFACTURER_CODES                                                                                       \
295     {                                                                                                                              \
296         {                                                                                                                          \
297             0x00, 0x00                                                                                                             \
298         }                                                                                                                          \
299     }
300
301 // This is an array of EmberAfManufacturerCodeEntry structures for attributes.
302 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODE_COUNT (0)
303 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODES                                                                                     \
304     {                                                                                                                              \
305         {                                                                                                                          \
306             0x00, 0x00                                                                                                             \
307         }                                                                                                                          \
308     }
309
310 // Array of EmberAfPluginReportingEntry structures.
311 #define ZRD(x) EMBER_ZCL_REPORTING_DIRECTION_##x
312 #define ZAP_REPORT_DIRECTION(x) ZRD(x)
313
314 // Use this macro to check if Reporting plugin is included
315 #define EMBER_AF_PLUGIN_REPORTING
316 // User options for plugin Reporting
317 #define EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE (2)
318 #define EMBER_AF_PLUGIN_REPORTING_ENABLE_GROUP_BOUND_REPORTS
319
320 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE (2)
321 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS                                                                               \
322     {                                                                                                                              \
323         {                                                                                                                          \
324             ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0006, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } }          \
325         }, /* Reporting for cluster: "On/off", attribute: "on/off". side: server */                                                \
326             {                                                                                                                      \
327                 ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0008, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } }      \
328             }, /* Reporting for cluster: "Level Control", attribute: "current level". side: server */                              \
329     }