Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 1 | /* |
| 2 | * |
Vivien Nicolas | ec761ed | 2021-02-03 02:56:02 +0100 | [diff] [blame] | 3 | * Copyright (c) 2021 Project CHIP Authors |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 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 | |
Vivien Nicolas | ec761ed | 2021-02-03 02:56:02 +0100 | [diff] [blame] | 18 | // THIS FILE IS GENERATED BY ZAP |
| 19 | |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 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 | { \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 29 | /* 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 36 | \ |
| 37 | /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 39 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 45 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 48 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 54 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 58 | \ |
| 59 | /* 244 - Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 60 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 61 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 65 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 68 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 69 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 78 | 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 84 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 87 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 88 | } |
| 89 | |
| 90 | #else // !BIGENDIAN_CPU |
| 91 | #define GENERATED_DEFAULTS \ |
| 92 | { \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 93 | /* 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 98 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 100 | \ |
| 101 | /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 102 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 103 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 104 | \ |
| 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 109 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 112 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
| 113 | \ |
| 114 | /* 176 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 115 | 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 116 | \ |
| 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 145 | 0x00, 0x00, 0x00, 0x00, \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 146 | \ |
| 147 | /* 424 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 148 | 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 151 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 152 | } |
| 153 | |
| 154 | #endif // BIGENDIAN_CPU |
| 155 | |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 156 | #define GENERATED_DEFAULTS_COUNT (14) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 157 | |
| 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 Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 167 | #define ZAP_EMPTY_DEFAULT() \ |
| 168 | { \ |
| 169 | (uint8_t *) 0 \ |
| 170 | } |
| 171 | #define ZAP_SIMPLE_DEFAULT(x) \ |
| 172 | { \ |
| 173 | (uint8_t *) x \ |
| 174 | } |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 175 | |
| 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 Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 184 | #define GENERATED_ATTRIBUTE_COUNT 51 |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 185 | #define GENERATED_ATTRIBUTES \ |
| 186 | { \ |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 187 | { 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 Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 268 | } |
| 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 Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 283 | #define GENERATED_CLUSTER_COUNT 9 |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 284 | #define GENERATED_CLUSTERS \ |
| 285 | { \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 286 | { \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 287 | 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 Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 295 | { 0x0008, \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 296 | ZAP_ATTRIBUTE_INDEX(3), \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 297 | 2, \ |
| 298 | 3, \ |
| 299 | ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ |
| 300 | chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 301 | { \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 302 | 0x0028, ZAP_ATTRIBUTE_INDEX(5), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 303 | }, /* Endpoint: 1, Cluster: Basic (server) */ \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 304 | { 0x0006, \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 305 | ZAP_ATTRIBUTE_INDEX(17), \ |
Vivien Nicolas | e3f02d0 | 2021-01-26 18:24:55 +0100 | [diff] [blame] | 306 | 6, \ |
| 307 | 9, \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 308 | ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ |
| 309 | chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/off (server) */ \ |
| 310 | { 0x0008, \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 311 | ZAP_ATTRIBUTE_INDEX(23), \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 312 | 5, \ |
| 313 | 7, \ |
| 314 | ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ |
| 315 | chipFuncArrayLevelControlServer }, /* Endpoint: 2, Cluster: Level Control (server) */ \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 316 | { \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 317 | 0x0028, ZAP_ATTRIBUTE_INDEX(28), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 318 | }, /* Endpoint: 2, Cluster: Basic (server) */ \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 319 | { 0x0006, \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 320 | ZAP_ATTRIBUTE_INDEX(40), \ |
Vivien Nicolas | e3f02d0 | 2021-01-26 18:24:55 +0100 | [diff] [blame] | 321 | 6, \ |
| 322 | 9, \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 323 | ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \ |
| 324 | chipFuncArrayOnOffServer }, /* Endpoint: 3, Cluster: On/off (server) */ \ |
| 325 | { 0x0008, \ |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 326 | ZAP_ATTRIBUTE_INDEX(46), \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 327 | 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 Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 338 | { 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 Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 340 | } |
| 341 | |
| 342 | // Largest attribute size is needed for various buffers |
Vivien Nicolas | a11d054 | 2021-03-17 17:51:38 +0100 | [diff] [blame^] | 343 | #define ATTRIBUTE_LARGEST (65) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 344 | |
| 345 | // Total size of singleton attributes |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 346 | #define ATTRIBUTE_SINGLETONS_SIZE (508) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 347 | |
| 348 | // Total size of attribute storage |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 349 | #define ATTRIBUTE_MAX_SIZE (548) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 350 | |
| 351 | // Number of fixed endpoints |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 352 | #define FIXED_ENDPOINT_COUNT (4) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 353 | |
| 354 | // Array of endpoints that are supported, the data inside |
| 355 | // the array is the endpoint number. |
| 356 | #define FIXED_ENDPOINT_ARRAY \ |
| 357 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 358 | 0x0000, 0x0001, 0x0002, 0x0003 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 359 | } |
| 360 | |
| 361 | // Array of profile ids |
| 362 | #define FIXED_PROFILE_IDS \ |
| 363 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 364 | 0xABCD, 0x0104, 0x0104, 0x0104 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 365 | } |
| 366 | |
| 367 | // Array of device ids |
| 368 | #define FIXED_DEVICE_IDS \ |
| 369 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 370 | 0, 0, 0, 0 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 371 | } |
| 372 | |
| 373 | // Array of device versions |
| 374 | #define FIXED_DEVICE_VERSIONS \ |
| 375 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 376 | 1, 1, 1, 1 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 377 | } |
| 378 | |
| 379 | // Array of endpoint types supported on each endpoint |
| 380 | #define FIXED_ENDPOINT_TYPES \ |
| 381 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 382 | 0, 1, 2, 3 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 383 | } |
| 384 | |
| 385 | // Array of networks supported on each endpoint |
| 386 | #define FIXED_NETWORKS \ |
| 387 | { \ |
Arun Bharadwaj | 589eb1b | 2021-02-12 11:24:11 -0800 | [diff] [blame] | 388 | 0, 0, 0, 0 \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 389 | } |
| 390 | |
| 391 | // Array of EmberAfCommandMetadata structs. |
| 392 | #define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask |
Song Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 393 | #define EMBER_AF_GENERATED_COMMAND_COUNT (62) |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 394 | #define GENERATED_COMMANDS \ |
| 395 | { \ |
Vivien Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 396 | { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */ \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 397 | { 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 Nicolas | 139e71d | 2021-02-16 19:12:41 +0100 | [diff] [blame] | 405 | { 0x0006, 0x40, 0 }, /* On/off (server): OffWithEffect */ \ |
Vivien Nicolas | c486c91 | 2021-02-24 02:27:55 +0100 | [diff] [blame] | 406 | { 0x0006, 0x40, 0 }, /* On/off (server): OffWithEffect */ \ |
Vivien Nicolas | 139e71d | 2021-02-16 19:12:41 +0100 | [diff] [blame] | 407 | { 0x0006, 0x41, 0 }, /* On/off (server): OnWithRecallGlobalScene */ \ |
Vivien Nicolas | c486c91 | 2021-02-24 02:27:55 +0100 | [diff] [blame] | 408 | { 0x0006, 0x41, 0 }, /* On/off (server): OnWithRecallGlobalScene */ \ |
Vivien Nicolas | 139e71d | 2021-02-16 19:12:41 +0100 | [diff] [blame] | 409 | { 0x0006, 0x42, 0 }, /* On/off (server): OnWithTimedOff */ \ |
Vivien Nicolas | c486c91 | 2021-02-24 02:27:55 +0100 | [diff] [blame] | 410 | { 0x0006, 0x42, 0 }, /* On/off (server): OnWithTimedOff */ \ |
Arun Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 411 | { 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 Nicolas | a4a1020 | 2021-03-11 21:25:21 +0100 | [diff] [blame] | 435 | { 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 Guo | 9a8655c | 2021-03-17 11:16:34 +0800 | [diff] [blame] | 441 | { 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 Bharadwaj | 5dcbd40 | 2021-01-25 15:39:27 -0800 | [diff] [blame] | 459 | } |
| 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 | } |