Merge branch 'update_chip_repo_to_te5' into 'main'

Matter: Update connectedhomeip submodule to test_event_5 branch

See merge request app-frameworks/esp-matter!39
This commit is contained in:
Shu Chen
2021-09-14 09:04:38 +00:00
35 changed files with 1721 additions and 1069 deletions
+4 -1
View File
@@ -1,11 +1,14 @@
set(SRC_DIRS_LIST "${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/gen"
"${CMAKE_CURRENT_LIST_DIR}/zap-generated"
"${MATTER_SDK_PATH}/src/app/common/gen/attributes"
"${MATTER_SDK_PATH}/src/app/server"
"${MATTER_SDK_PATH}/src/app/util"
"${MATTER_SDK_PATH}/src/app/reporting"
"${MATTER_SDK_PATH}/src/app/clusters/basic"
"${MATTER_SDK_PATH}/src/app/clusters/administrator-commissioning-server"
"${MATTER_SDK_PATH}/src/app/clusters/general-commissioning-server"
"${MATTER_SDK_PATH}/src/app/clusters/network-commissioning"
"${MATTER_SDK_PATH}/src/app/clusters/wifi_network_diagnostics_server"
"${MATTER_SDK_PATH}/src/app/clusters/on-off-server"
"${MATTER_SDK_PATH}/src/app/clusters/operational-credentials-server"
"${MATTER_SDK_PATH}/src/app/clusters/level-control"
+164 -64
View File
@@ -1,5 +1,5 @@
{
"featureLevel": 39,
"featureLevel": 45,
"creator": "zap",
"keyValuePairs": [
{
@@ -18,13 +18,13 @@
"package": [
{
"pathRelativity": "relativeToZap",
"path": "../../../../connectedhomeip/src/app/zap-templates/zcl/zcl.json",
"path": "../../../connectedhomeip/connectedhomeip/src/app/zap-templates/zcl/zcl.json",
"version": "ZCL Test Data",
"type": "zcl-properties"
},
{
"pathRelativity": "relativeToZap",
"path": "../../../../connectedhomeip/src/app/zap-templates/app-templates.json",
"path": "../../../connectedhomeip/connectedhomeip/src/app/zap-templates/app-templates.json",
"version": "chip-v1",
"type": "gen-templates-json"
}
@@ -63,7 +63,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -113,7 +113,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -139,7 +139,7 @@
"commands": [],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -460,7 +460,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -511,7 +511,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -562,7 +562,7 @@
],
"attributes": [
{
"name": "FabricId",
"name": "Breadcrumb",
"code": 0,
"mfgCode": null,
"side": "server",
@@ -570,14 +570,14 @@
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "o",
"defaultValue": "0x0000000000000000",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "Breadcrumb",
"name": "BasicCommissioningInfoList",
"code": 1,
"mfgCode": null,
"side": "server",
@@ -592,7 +592,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -691,7 +691,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -782,7 +782,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -805,10 +805,19 @@
"define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER",
"side": "client",
"enabled": 0,
"commands": [],
"commands": [
{
"name": "ResetCounts",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
}
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -909,7 +918,84 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0001",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
}
]
},
{
"name": "AdministratorCommissioning",
"code": 60,
"mfgCode": null,
"define": "ADMINISTRATOR_COMMISSIONING_CLUSTER",
"side": "client",
"enabled": 0,
"commands": [
{
"name": "OpenCommissioningWindow",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpenBasicCommissioningWindow",
"code": 1,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "RevokeCommissioning",
"code": 2,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
}
],
"attributes": [
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0001",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
}
]
},
{
"name": "AdministratorCommissioning",
"code": 60,
"mfgCode": null,
"define": "ADMINISTRATOR_COMMISSIONING_CLUSTER",
"side": "server",
"enabled": 1,
"commands": [],
"attributes": [
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -933,14 +1019,6 @@
"side": "client",
"enabled": 0,
"commands": [
{
"name": "SetFabric",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpCSRRequest",
"code": 4,
@@ -950,13 +1028,21 @@
"outgoing": 1
},
{
"name": "AddOpCert",
"name": "AddNOC",
"code": 6,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "UpdateNOC",
"code": 7,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
},
{
"name": "UpdateFabricLabel",
"code": 9,
@@ -974,24 +1060,16 @@
"outgoing": 1
},
{
"name": "RemoveAllFabrics",
"name": "AddTrustedRootCertificate",
"code": 11,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "AddTrustedRootCertificate",
"code": 161,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
},
{
"name": "RemoveTrustedRootCertificate",
"code": 162,
"code": 12,
"mfgCode": null,
"source": "client",
"incoming": 1,
@@ -1000,7 +1078,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1024,14 +1102,6 @@
"side": "server",
"enabled": 1,
"commands": [
{
"name": "SetFabricResponse",
"code": 1,
"mfgCode": null,
"source": "server",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpCSRResponse",
"code": 5,
@@ -1041,7 +1111,7 @@
"outgoing": 1
},
{
"name": "OpCertResponse",
"name": "NOCResponse",
"code": 8,
"mfgCode": null,
"source": "server",
@@ -1066,7 +1136,37 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "SupportedFabrics",
"code": 2,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "CommissionedFabrics",
"code": 3,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1125,7 +1225,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1175,7 +1275,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1192,7 +1292,7 @@
]
},
{
"name": "On/off",
"name": "On/Off",
"code": 6,
"mfgCode": null,
"define": "ON_OFF_CLUSTER",
@@ -1250,7 +1350,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1267,7 +1367,7 @@
]
},
{
"name": "On/off",
"name": "On/Off",
"code": 6,
"mfgCode": null,
"define": "ON_OFF_CLUSTER",
@@ -1276,7 +1376,7 @@
"commands": [],
"attributes": [
{
"name": "on/off",
"name": "OnOff",
"code": 0,
"mfgCode": null,
"side": "server",
@@ -1291,7 +1391,7 @@
"reportableChange": 0
},
{
"name": "global scene control",
"name": "GlobalSceneControl",
"code": 16384,
"mfgCode": null,
"side": "server",
@@ -1306,7 +1406,7 @@
"reportableChange": 0
},
{
"name": "on time",
"name": "OnTime",
"code": 16385,
"mfgCode": null,
"side": "server",
@@ -1321,7 +1421,7 @@
"reportableChange": 0
},
{
"name": "off wait time",
"name": "OffWaitTime",
"code": 16386,
"mfgCode": null,
"side": "server",
@@ -1336,7 +1436,7 @@
"reportableChange": 0
},
{
"name": "start up on off",
"name": "StartUpOnOff",
"code": 16387,
"mfgCode": null,
"side": "server",
@@ -1351,7 +1451,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1442,7 +1542,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1528,7 +1628,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1554,7 +1654,7 @@
"commands": [],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1770,7 +1870,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1949,7 +2049,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -2320,7 +2420,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -69,7 +69,7 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
return kSizeLengthInBytes;
}
if (!chip::CanCastTo<uint16_t>(index))
if (!CanCastTo<uint16_t>(index))
{
ChipLogError(Zcl, "Index %" PRId32 " is invalid. Should be between 1 and 65534", index);
return 0;
@@ -78,6 +78,30 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
uint16_t entryLength = 0;
switch (clusterId)
{
case 0x0030: // General Commissioning Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
switch (am->attributeId)
{
case 0x0001: // BasicCommissioningInfoList
{
entryLength = 4;
if (((index - 1) * entryLength) > (am->size - entryLength))
{
ChipLogError(Zcl, "Index %" PRId32 " is invalid.", index);
return 0;
}
entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
// Struct _BasicCommissioningInfoType
_BasicCommissioningInfoType * entry = reinterpret_cast<_BasicCommissioningInfoType *>(write ? src : dest);
copyListMember(write ? dest : (uint8_t *) &entry->FailSafeExpiryLengthMs,
write ? (uint8_t *) &entry->FailSafeExpiryLengthMs : src, write, &entryOffset,
sizeof(entry->FailSafeExpiryLengthMs)); // INT32U
break;
}
}
break;
}
case 0x003E: // Operational Credentials Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
@@ -99,8 +123,8 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
copyListMember(write ? dest : (uint8_t *) &entry->VendorId, write ? (uint8_t *) &entry->VendorId : src, write,
&entryOffset, sizeof(entry->VendorId)); // INT16U
copyListMember(write ? dest : (uint8_t *) &entry->NodeId, write ? (uint8_t *) &entry->NodeId : src, write, &entryOffset,
sizeof(entry->NodeId)); // NODE_ID
chip::ByteSpan * LabelSpan = &entry->Label; // OCTET_STRING
sizeof(entry->NodeId)); // NODE_ID
ByteSpan * LabelSpan = &entry->Label; // OCTET_STRING
if (CHIP_NO_ERROR !=
(write ? WriteByteSpan(dest + entryOffset, 34, LabelSpan) : ReadByteSpan(src + entryOffset, 34, LabelSpan)))
{
@@ -132,6 +156,15 @@ uint16_t emberAfAttributeValueListSize(ClusterId clusterId, AttributeId attribut
uint16_t entryLength = 0;
switch (clusterId)
{
case 0x0030: // General Commissioning Cluster
switch (attributeId)
{
case 0x0001: // BasicCommissioningInfoList
// Struct _BasicCommissioningInfoType
entryLength = 4;
break;
}
break;
case 0x003E: // Operational Credentials Cluster
switch (attributeId)
{
@@ -144,9 +177,10 @@ uint16_t emberAfAttributeValueListSize(ClusterId clusterId, AttributeId attribut
}
uint32_t totalSize = kSizeLengthInBytes + (entryCount * entryLength);
if (!chip::CanCastTo<uint16_t>(totalSize))
if (!CanCastTo<uint16_t>(totalSize))
{
ChipLogError(Zcl, "Cluster %" PRIx32 ": Size of attribute %" PRIx32 " is too large.", clusterId, attributeId);
ChipLogError(Zcl, "Cluster " ChipLogFormatMEI ": Size of attribute " ChipLogFormatMEI " is too large.",
ChipLogValueMEI(clusterId), ChipLogValueMEI(attributeId));
return 0;
}
@@ -28,6 +28,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
{
switch (clusterId)
{
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
case ZCL_BASIC_CLUSTER_ID:
emberAfBasicClusterInitCallback(endpoint);
break;
@@ -58,6 +61,11 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
}
}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -475,22 +483,6 @@ emberAfExternalAttributeReadCallback(EndpointId endpoint, ClusterId clusterId, E
return EMBER_ZCL_STATUS_FAILURE;
}
/** @brief Write Attributes Response
*
* This function is called by the application framework when a Write Attributes
* Response command is received from an external device. The application should
* return true if the message was processed or false if it was not.
*
* @param clusterId The cluster identifier of this response. Ver.: always
* @param buffer Buffer containing the list of write attribute status records.
* Ver.: always
* @param bufLen The length in bytes of the list. Ver.: always
*/
bool __attribute__((weak)) emberAfWriteAttributesResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
{
return false;
}
/** @brief External Attribute Write
*
* This function is called whenever the Application Framework needs to write an
@@ -91,20 +91,33 @@
\
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \
\
/* 628 - FabricId, */ \
1, 'o', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - Breadcrumb, */ \
/* 628 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - BasicCommissioningInfoList, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \
\
/* 644 - bssid, */ \
/* 890 - bssid, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \
\
/* 650 - fabrics list, */ \
/* 896 - fabrics list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -189,20 +202,33 @@
\
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \
\
/* 628 - FabricId, */ \
1, 'o', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - Breadcrumb, */ \
/* 628 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - BasicCommissioningInfoList, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \
\
/* 644 - bssid, */ \
/* 890 - bssid, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \
\
/* 650 - fabrics list, */ \
/* 896 - fabrics list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -249,7 +275,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
#define GENERATED_ATTRIBUTE_COUNT 64
#define GENERATED_ATTRIBUTE_COUNT 67
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -278,42 +304,47 @@
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
{ 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 8, 0, ZAP_LONG_DEFAULTS_INDEX(628) }, /* FabricId */ \
{ 0x0001, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(636) }, /* Breadcrumb */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(628) }, /* Breadcrumb */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(636) }, /* BasicCommissioningInfoList */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 6, 0, ZAP_LONG_DEFAULTS_INDEX(644) }, /* bssid */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 6, 0, ZAP_LONG_DEFAULTS_INDEX(890) }, /* bssid */ \
{ 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \
{ 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \
{ 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \
{ 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(650) }, /* fabrics list */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(896) }, /* fabrics list */ \
{ 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \
{ 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: On/off (server) */ \
{ 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* on/off */ \
{ 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* global scene control */ \
{ 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* on time */ \
{ 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* off wait time */ \
{ 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* start up on off */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* cluster revision */ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \
{ 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* GlobalSceneControl */ \
{ 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \
{ 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \
{ 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Level Control (server) */ \
{ 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \
{ 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* remaining time */ \
{ 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* options */ \
{ 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* start up current level */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Color Control (server) */ \
{ 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current hue */ \
@@ -338,7 +369,7 @@
{ 0x400D, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* couple color temp to level min-mireds */ \
{ 0x4010, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* start up color temperature mireds */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
}
// This is an array of EmberAfCluster structures.
@@ -360,7 +391,7 @@
};
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
#define GENERATED_CLUSTER_COUNT 8
#define GENERATED_CLUSTER_COUNT 9
#define GENERATED_CLUSTERS \
{ \
{ 0x0028, \
@@ -370,7 +401,7 @@
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
0x0030, ZAP_ATTRIBUTE_INDEX(19), 3, 18, ZAP_CLUSTER_MASK(SERVER), NULL \
0x0030, ZAP_ATTRIBUTE_INDEX(19), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
0x0031, ZAP_ATTRIBUTE_INDEX(22), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
@@ -379,22 +410,25 @@
0x0036, ZAP_ATTRIBUTE_INDEX(23), 6, 13, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
0x003E, ZAP_ATTRIBUTE_INDEX(29), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
0x003C, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
0x003E, ZAP_ATTRIBUTE_INDEX(30), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x0006, \
ZAP_ATTRIBUTE_INDEX(31), \
ZAP_ATTRIBUTE_INDEX(34), \
6, \
9, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/off (server) */ \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0008, \
ZAP_ATTRIBUTE_INDEX(37), \
ZAP_ATTRIBUTE_INDEX(40), \
5, \
7, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
{ 0x0300, \
ZAP_ATTRIBUTE_INDEX(42), \
ZAP_ATTRIBUTE_INDEX(45), \
22, \
36, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -406,7 +440,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
{ ZAP_CLUSTER_INDEX(0), 5, 931 }, { ZAP_CLUSTER_INDEX(5), 3, 52 }, \
{ ZAP_CLUSTER_INDEX(0), 6, 1181 }, { ZAP_CLUSTER_INDEX(6), 3, 52 }, \
}
// Largest attribute size is needed for various buffers
@@ -416,7 +450,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (642)
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (983)
#define ATTRIBUTE_MAX_SIZE (1233)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
@@ -460,7 +494,7 @@
// Array of EmberAfCommandMetadata structs.
#define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
#define EMBER_AF_GENERATED_COMMAND_COUNT (70)
#define EMBER_AF_GENERATED_COMMAND_COUNT (72)
#define GENERATED_COMMANDS \
{ \
\
@@ -496,20 +530,26 @@
{ 0x0031, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* DisableNetworkResponse */ \
{ 0x0031, 0x10, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetLastNetworkCommissioningResult */ \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ 0x0036, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ResetCounts */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ 0x003C, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpenCommissioningWindow */ \
{ 0x003C, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpenBasicCommissioningWindow */ \
{ 0x003C, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RevokeCommissioning */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x003E, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SetFabric */ \
{ 0x003E, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* SetFabricResponse */ \
{ 0x003E, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpCSRRequest */ \
{ 0x003E, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCSRResponse */ \
{ 0x003E, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddOpCert */ \
{ 0x003E, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCertResponse */ \
{ 0x003E, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddNOC */ \
{ 0x003E, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UpdateNOC */ \
{ 0x003E, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* NOCResponse */ \
{ 0x003E, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UpdateFabricLabel */ \
{ 0x003E, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveFabric */ \
{ 0x003E, 0x0B, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveAllFabrics */ \
{ 0x003E, 0xA1, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddTrustedRootCertificate */ \
{ 0x003E, 0xA2, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveTrustedRootCertificate */ \
{ 0x003E, 0x0B, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddTrustedRootCertificate */ \
{ 0x003E, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveTrustedRootCertificate */ \
\
/* Endpoint: 1, Cluster: On/off (server) */ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Off */ \
{ 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On */ \
{ 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Toggle */ \
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -40,6 +41,11 @@
/**** Cluster Plugins ****/
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING
// Use this macro to check if the server side of the Basic cluster is included
#define ZCL_USING_BASIC_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_BASIC_SERVER
@@ -73,7 +79,7 @@
#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING_SERVER
#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING
// Use this macro to check if the server side of the On/off cluster is included
// Use this macro to check if the server side of the On/Off cluster is included
#define ZCL_USING_ON_OFF_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ON_OFF_SERVER
#define EMBER_AF_PLUGIN_ON_OFF
+4
View File
@@ -19,3 +19,7 @@ CONFIG_PARTITION_TABLE_FILENAME="partitions.csv"
# Enable chip shell
CONFIG_ENABLE_CHIP_SHELL=y
# Main task needs a bit more stack than the default
# default is 3584, bump this up to 5k.
CONFIG_ESP_MAIN_TASK_STACK_SIZE=5120
+4 -1
View File
@@ -1,11 +1,14 @@
set(SRC_DIRS_LIST "${CMAKE_CURRENT_LIST_DIR}"
"${CMAKE_CURRENT_LIST_DIR}/gen"
"${CMAKE_CURRENT_LIST_DIR}/zap-generated"
"${MATTER_SDK_PATH}/src/app/common/gen/attributes"
"${MATTER_SDK_PATH}/src/app/server"
"${MATTER_SDK_PATH}/src/app/util"
"${MATTER_SDK_PATH}/src/app/reporting"
"${MATTER_SDK_PATH}/src/app/clusters/basic"
"${MATTER_SDK_PATH}/src/app/clusters/administrator-commissioning-server"
"${MATTER_SDK_PATH}/src/app/clusters/general-commissioning-server"
"${MATTER_SDK_PATH}/src/app/clusters/network-commissioning"
"${MATTER_SDK_PATH}/src/app/clusters/wifi_network_diagnostics_server"
"${MATTER_SDK_PATH}/src/app/clusters/on-off-server"
"${MATTER_SDK_PATH}/src/app/clusters/operational-credentials-server"
"${MATTER_SDK_PATH}/src/app/clusters/level-control"
+164 -64
View File
@@ -1,5 +1,5 @@
{
"featureLevel": 39,
"featureLevel": 45,
"creator": "zap",
"keyValuePairs": [
{
@@ -18,13 +18,13 @@
"package": [
{
"pathRelativity": "relativeToZap",
"path": "../../../../connectedhomeip/src/app/zap-templates/zcl/zcl.json",
"path": "../../../connectedhomeip/connectedhomeip/src/app/zap-templates/zcl/zcl.json",
"version": "ZCL Test Data",
"type": "zcl-properties"
},
{
"pathRelativity": "relativeToZap",
"path": "../../../../connectedhomeip/src/app/zap-templates/app-templates.json",
"path": "../../../connectedhomeip/connectedhomeip/src/app/zap-templates/app-templates.json",
"version": "chip-v1",
"type": "gen-templates-json"
}
@@ -63,7 +63,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -113,7 +113,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -139,7 +139,7 @@
"commands": [],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -460,7 +460,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -511,7 +511,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -562,7 +562,7 @@
],
"attributes": [
{
"name": "FabricId",
"name": "Breadcrumb",
"code": 0,
"mfgCode": null,
"side": "server",
@@ -570,14 +570,14 @@
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "o",
"defaultValue": "0x0000000000000000",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "Breadcrumb",
"name": "BasicCommissioningInfoList",
"code": 1,
"mfgCode": null,
"side": "server",
@@ -592,7 +592,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -691,7 +691,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -782,7 +782,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -805,10 +805,19 @@
"define": "WIFI_NETWORK_DIAGNOSTICS_CLUSTER",
"side": "client",
"enabled": 0,
"commands": [],
"commands": [
{
"name": "ResetCounts",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
}
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -909,7 +918,84 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0001",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
}
]
},
{
"name": "AdministratorCommissioning",
"code": 60,
"mfgCode": null,
"define": "ADMINISTRATOR_COMMISSIONING_CLUSTER",
"side": "client",
"enabled": 0,
"commands": [
{
"name": "OpenCommissioningWindow",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpenBasicCommissioningWindow",
"code": 1,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "RevokeCommissioning",
"code": 2,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
}
],
"attributes": [
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "0x0001",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
}
]
},
{
"name": "AdministratorCommissioning",
"code": 60,
"mfgCode": null,
"define": "ADMINISTRATOR_COMMISSIONING_CLUSTER",
"side": "server",
"enabled": 1,
"commands": [],
"attributes": [
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -933,14 +1019,6 @@
"side": "client",
"enabled": 0,
"commands": [
{
"name": "SetFabric",
"code": 0,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpCSRRequest",
"code": 4,
@@ -950,13 +1028,21 @@
"outgoing": 1
},
{
"name": "AddOpCert",
"name": "AddNOC",
"code": 6,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "UpdateNOC",
"code": 7,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
},
{
"name": "UpdateFabricLabel",
"code": 9,
@@ -974,24 +1060,16 @@
"outgoing": 1
},
{
"name": "RemoveAllFabrics",
"name": "AddTrustedRootCertificate",
"code": 11,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 1
},
{
"name": "AddTrustedRootCertificate",
"code": 161,
"mfgCode": null,
"source": "client",
"incoming": 1,
"outgoing": 0
},
{
"name": "RemoveTrustedRootCertificate",
"code": 162,
"code": 12,
"mfgCode": null,
"source": "client",
"incoming": 1,
@@ -1000,7 +1078,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1024,14 +1102,6 @@
"side": "server",
"enabled": 1,
"commands": [
{
"name": "SetFabricResponse",
"code": 1,
"mfgCode": null,
"source": "server",
"incoming": 1,
"outgoing": 1
},
{
"name": "OpCSRResponse",
"code": 5,
@@ -1041,7 +1111,7 @@
"outgoing": 1
},
{
"name": "OpCertResponse",
"name": "NOCResponse",
"code": 8,
"mfgCode": null,
"source": "server",
@@ -1066,7 +1136,37 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "SupportedFabrics",
"code": 2,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "CommissionedFabrics",
"code": 3,
"mfgCode": null,
"side": "server",
"included": 1,
"storageOption": "RAM",
"singleton": 0,
"bounded": 0,
"defaultValue": "",
"reportable": 0,
"minInterval": 0,
"maxInterval": 65344,
"reportableChange": 0
},
{
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1125,7 +1225,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1175,7 +1275,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1192,7 +1292,7 @@
]
},
{
"name": "On/off",
"name": "On/Off",
"code": 6,
"mfgCode": null,
"define": "ON_OFF_CLUSTER",
@@ -1250,7 +1350,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1267,7 +1367,7 @@
]
},
{
"name": "On/off",
"name": "On/Off",
"code": 6,
"mfgCode": null,
"define": "ON_OFF_CLUSTER",
@@ -1276,7 +1376,7 @@
"commands": [],
"attributes": [
{
"name": "on/off",
"name": "OnOff",
"code": 0,
"mfgCode": null,
"side": "server",
@@ -1291,7 +1391,7 @@
"reportableChange": 0
},
{
"name": "global scene control",
"name": "GlobalSceneControl",
"code": 16384,
"mfgCode": null,
"side": "server",
@@ -1306,7 +1406,7 @@
"reportableChange": 0
},
{
"name": "on time",
"name": "OnTime",
"code": 16385,
"mfgCode": null,
"side": "server",
@@ -1321,7 +1421,7 @@
"reportableChange": 0
},
{
"name": "off wait time",
"name": "OffWaitTime",
"code": 16386,
"mfgCode": null,
"side": "server",
@@ -1336,7 +1436,7 @@
"reportableChange": 0
},
{
"name": "start up on off",
"name": "StartUpOnOff",
"code": 16387,
"mfgCode": null,
"side": "server",
@@ -1351,7 +1451,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1442,7 +1542,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1528,7 +1628,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1554,7 +1654,7 @@
"commands": [],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -1770,7 +1870,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -1949,7 +2049,7 @@
],
"attributes": [
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "client",
@@ -2320,7 +2420,7 @@
"reportableChange": 0
},
{
"name": "cluster revision",
"name": "ClusterRevision",
"code": 65533,
"mfgCode": null,
"side": "server",
@@ -69,7 +69,7 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
return kSizeLengthInBytes;
}
if (!chip::CanCastTo<uint16_t>(index))
if (!CanCastTo<uint16_t>(index))
{
ChipLogError(Zcl, "Index %" PRId32 " is invalid. Should be between 1 and 65534", index);
return 0;
@@ -78,6 +78,30 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
uint16_t entryLength = 0;
switch (clusterId)
{
case 0x0030: // General Commissioning Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
switch (am->attributeId)
{
case 0x0001: // BasicCommissioningInfoList
{
entryLength = 4;
if (((index - 1) * entryLength) > (am->size - entryLength))
{
ChipLogError(Zcl, "Index %" PRId32 " is invalid.", index);
return 0;
}
entryOffset = static_cast<uint16_t>(entryOffset + ((index - 1) * entryLength));
// Struct _BasicCommissioningInfoType
_BasicCommissioningInfoType * entry = reinterpret_cast<_BasicCommissioningInfoType *>(write ? src : dest);
copyListMember(write ? dest : (uint8_t *) &entry->FailSafeExpiryLengthMs,
write ? (uint8_t *) &entry->FailSafeExpiryLengthMs : src, write, &entryOffset,
sizeof(entry->FailSafeExpiryLengthMs)); // INT32U
break;
}
}
break;
}
case 0x003E: // Operational Credentials Cluster
{
uint16_t entryOffset = kSizeLengthInBytes;
@@ -99,8 +123,8 @@ uint16_t emberAfCopyList(ClusterId clusterId, EmberAfAttributeMetadata * am, boo
copyListMember(write ? dest : (uint8_t *) &entry->VendorId, write ? (uint8_t *) &entry->VendorId : src, write,
&entryOffset, sizeof(entry->VendorId)); // INT16U
copyListMember(write ? dest : (uint8_t *) &entry->NodeId, write ? (uint8_t *) &entry->NodeId : src, write, &entryOffset,
sizeof(entry->NodeId)); // NODE_ID
chip::ByteSpan * LabelSpan = &entry->Label; // OCTET_STRING
sizeof(entry->NodeId)); // NODE_ID
ByteSpan * LabelSpan = &entry->Label; // OCTET_STRING
if (CHIP_NO_ERROR !=
(write ? WriteByteSpan(dest + entryOffset, 34, LabelSpan) : ReadByteSpan(src + entryOffset, 34, LabelSpan)))
{
@@ -132,6 +156,15 @@ uint16_t emberAfAttributeValueListSize(ClusterId clusterId, AttributeId attribut
uint16_t entryLength = 0;
switch (clusterId)
{
case 0x0030: // General Commissioning Cluster
switch (attributeId)
{
case 0x0001: // BasicCommissioningInfoList
// Struct _BasicCommissioningInfoType
entryLength = 4;
break;
}
break;
case 0x003E: // Operational Credentials Cluster
switch (attributeId)
{
@@ -144,9 +177,10 @@ uint16_t emberAfAttributeValueListSize(ClusterId clusterId, AttributeId attribut
}
uint32_t totalSize = kSizeLengthInBytes + (entryCount * entryLength);
if (!chip::CanCastTo<uint16_t>(totalSize))
if (!CanCastTo<uint16_t>(totalSize))
{
ChipLogError(Zcl, "Cluster %" PRIx32 ": Size of attribute %" PRIx32 " is too large.", clusterId, attributeId);
ChipLogError(Zcl, "Cluster " ChipLogFormatMEI ": Size of attribute " ChipLogFormatMEI " is too large.",
ChipLogValueMEI(clusterId), ChipLogValueMEI(attributeId));
return 0;
}
@@ -28,6 +28,9 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
{
switch (clusterId)
{
case ZCL_ADMINISTRATOR_COMMISSIONING_CLUSTER_ID:
emberAfAdministratorCommissioningClusterInitCallback(endpoint);
break;
case ZCL_BASIC_CLUSTER_ID:
emberAfBasicClusterInitCallback(endpoint);
break;
@@ -58,6 +61,11 @@ void emberAfClusterInitCallback(EndpointId endpoint, ClusterId clusterId)
}
}
void __attribute__((weak)) emberAfAdministratorCommissioningClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
(void) endpoint;
}
void __attribute__((weak)) emberAfBasicClusterInitCallback(EndpointId endpoint)
{
// To prevent warning
@@ -475,22 +483,6 @@ emberAfExternalAttributeReadCallback(EndpointId endpoint, ClusterId clusterId, E
return EMBER_ZCL_STATUS_FAILURE;
}
/** @brief Write Attributes Response
*
* This function is called by the application framework when a Write Attributes
* Response command is received from an external device. The application should
* return true if the message was processed or false if it was not.
*
* @param clusterId The cluster identifier of this response. Ver.: always
* @param buffer Buffer containing the list of write attribute status records.
* Ver.: always
* @param bufLen The length in bytes of the list. Ver.: always
*/
bool __attribute__((weak)) emberAfWriteAttributesResponseCallback(ClusterId clusterId, uint8_t * buffer, uint16_t bufLen)
{
return false;
}
/** @brief External Attribute Write
*
* This function is called whenever the Application Framework needs to write an
@@ -16,20 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
#include "CHIPClusters.h"
#include <cstdint>
#include "chip-zcl-zpro-codec-api.h"
#include <gen/CHIPClientCallbacks.h>
#include <lib/support/Span.h>
namespace chip {
namespace Controller {
// TODO(#4502): onCompletion is not used by IM for now.
// TODO(#4503): length should be passed to commands when byte string is in argument list.
// TODO(#4503): Commands should take group id as an argument.
} // namespace Controller
} // namespace chip
@@ -16,20 +16,3 @@
*/
// THIS FILE IS GENERATED BY ZAP
#include "CHIPClusters.h"
#include <cstdint>
#include "chip-zcl-zpro-codec-api.h"
#include <gen/CHIPClientCallbacks.h>
#include <lib/support/Span.h>
namespace chip {
namespace Controller {
// TODO(#4502): onCompletion is not used by IM for now.
// TODO(#4503): length should be passed to commands when byte string is in argument list.
// TODO(#4503): Commands should take group id as an argument.
} // namespace Controller
} // namespace chip
@@ -91,20 +91,33 @@
\
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \
\
/* 628 - FabricId, */ \
1, 'o', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - Breadcrumb, */ \
/* 628 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - BasicCommissioningInfoList, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), big-endian */ \
\
/* 644 - bssid, */ \
/* 890 - bssid, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Operational Credentials (server), big-endian */ \
\
/* 650 - fabrics list, */ \
/* 896 - fabrics list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -189,20 +202,33 @@
\
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \
\
/* 628 - FabricId, */ \
1, 'o', 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - Breadcrumb, */ \
/* 628 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 636 - BasicCommissioningInfoList, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server), little-endian */ \
\
/* 644 - bssid, */ \
/* 890 - bssid, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Operational Credentials (server), little-endian */ \
\
/* 650 - fabrics list, */ \
/* 896 - fabrics list, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
@@ -249,7 +275,7 @@
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
#define GENERATED_ATTRIBUTE_COUNT 64
#define GENERATED_ATTRIBUTE_COUNT 67
#define GENERATED_ATTRIBUTES \
{ \
\
@@ -278,42 +304,47 @@
{ 0x0010, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
{ 0x0011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 8, 0, ZAP_LONG_DEFAULTS_INDEX(628) }, /* FabricId */ \
{ 0x0001, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(636) }, /* Breadcrumb */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0x0000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(628) }, /* Breadcrumb */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(636) }, /* BasicCommissioningInfoList */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 6, 0, ZAP_LONG_DEFAULTS_INDEX(644) }, /* bssid */ \
{ 0x0000, ZAP_TYPE(OCTET_STRING), 6, 0, ZAP_LONG_DEFAULTS_INDEX(890) }, /* bssid */ \
{ 0x0001, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \
{ 0x0002, ZAP_TYPE(ENUM8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \
{ 0x0003, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChannelNumber */ \
{ 0x0004, ZAP_TYPE(INT8S), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* Rssi */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(650) }, /* fabrics list */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* cluster revision */ \
{ 0x0001, ZAP_TYPE(ARRAY), 254, 0, ZAP_LONG_DEFAULTS_INDEX(896) }, /* fabrics list */ \
{ 0x0002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \
{ 0x0003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: On/off (server) */ \
{ 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* on/off */ \
{ 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* global scene control */ \
{ 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* on time */ \
{ 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* off wait time */ \
{ 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* start up on off */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* cluster revision */ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* OnOff */ \
{ 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* GlobalSceneControl */ \
{ 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OnTime */ \
{ 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* OffWaitTime */ \
{ 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* StartUpOnOff */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Level Control (server) */ \
{ 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current level */ \
{ 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* remaining time */ \
{ 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x00) }, /* options */ \
{ 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* start up current level */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Color Control (server) */ \
{ 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* current hue */ \
@@ -338,7 +369,7 @@
{ 0x400D, ZAP_TYPE(INT16U), 2, 0, ZAP_EMPTY_DEFAULT() }, /* couple color temp to level min-mireds */ \
{ 0x4010, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* start up color temperature mireds */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* cluster revision */ \
{ 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) }, /* ClusterRevision */ \
}
// This is an array of EmberAfCluster structures.
@@ -360,7 +391,7 @@
};
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
#define GENERATED_CLUSTER_COUNT 8
#define GENERATED_CLUSTER_COUNT 9
#define GENERATED_CLUSTERS \
{ \
{ 0x0028, \
@@ -370,7 +401,7 @@
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayBasicServer }, /* Endpoint: 0, Cluster: Basic (server) */ \
{ \
0x0030, ZAP_ATTRIBUTE_INDEX(19), 3, 18, ZAP_CLUSTER_MASK(SERVER), NULL \
0x0030, ZAP_ATTRIBUTE_INDEX(19), 3, 264, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ \
0x0031, ZAP_ATTRIBUTE_INDEX(22), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
@@ -379,22 +410,25 @@
0x0036, ZAP_ATTRIBUTE_INDEX(23), 6, 13, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ \
0x003E, ZAP_ATTRIBUTE_INDEX(29), 2, 256, ZAP_CLUSTER_MASK(SERVER), NULL \
0x003C, ZAP_ATTRIBUTE_INDEX(29), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ \
0x003E, ZAP_ATTRIBUTE_INDEX(30), 4, 258, ZAP_CLUSTER_MASK(SERVER), NULL \
}, /* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x0006, \
ZAP_ATTRIBUTE_INDEX(31), \
ZAP_ATTRIBUTE_INDEX(34), \
6, \
9, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/off (server) */ \
chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0008, \
ZAP_ATTRIBUTE_INDEX(37), \
ZAP_ATTRIBUTE_INDEX(40), \
5, \
7, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */ \
{ 0x0300, \
ZAP_ATTRIBUTE_INDEX(42), \
ZAP_ATTRIBUTE_INDEX(45), \
22, \
36, \
ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
@@ -406,7 +440,7 @@
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
{ ZAP_CLUSTER_INDEX(0), 5, 931 }, { ZAP_CLUSTER_INDEX(5), 3, 52 }, \
{ ZAP_CLUSTER_INDEX(0), 6, 1181 }, { ZAP_CLUSTER_INDEX(6), 3, 52 }, \
}
// Largest attribute size is needed for various buffers
@@ -416,7 +450,7 @@
#define ATTRIBUTE_SINGLETONS_SIZE (642)
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (983)
#define ATTRIBUTE_MAX_SIZE (1233)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
@@ -460,7 +494,7 @@
// Array of EmberAfCommandMetadata structs.
#define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
#define EMBER_AF_GENERATED_COMMAND_COUNT (70)
#define EMBER_AF_GENERATED_COMMAND_COUNT (72)
#define GENERATED_COMMANDS \
{ \
\
@@ -496,20 +530,26 @@
{ 0x0031, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* DisableNetworkResponse */ \
{ 0x0031, 0x10, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* GetLastNetworkCommissioningResult */ \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ 0x0036, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* ResetCounts */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ 0x003C, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpenCommissioningWindow */ \
{ 0x003C, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpenBasicCommissioningWindow */ \
{ 0x003C, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RevokeCommissioning */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x003E, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* SetFabric */ \
{ 0x003E, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* SetFabricResponse */ \
{ 0x003E, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* OpCSRRequest */ \
{ 0x003E, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCSRResponse */ \
{ 0x003E, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddOpCert */ \
{ 0x003E, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* OpCertResponse */ \
{ 0x003E, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddNOC */ \
{ 0x003E, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UpdateNOC */ \
{ 0x003E, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* NOCResponse */ \
{ 0x003E, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* UpdateFabricLabel */ \
{ 0x003E, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveFabric */ \
{ 0x003E, 0x0B, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveAllFabrics */ \
{ 0x003E, 0xA1, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddTrustedRootCertificate */ \
{ 0x003E, 0xA2, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveTrustedRootCertificate */ \
{ 0x003E, 0x0B, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* AddTrustedRootCertificate */ \
{ 0x003E, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* RemoveTrustedRootCertificate */ \
\
/* Endpoint: 1, Cluster: On/off (server) */ \
/* Endpoint: 1, Cluster: On/Off (server) */ \
{ 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Off */ \
{ 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On */ \
{ 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Toggle */ \
@@ -29,6 +29,7 @@
#define EMBER_APS_UNICAST_MESSAGE_COUNT 10
/**** Cluster endpoint counts ****/
#define EMBER_AF_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_BASIC_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_COLOR_CONTROL_CLUSTER_SERVER_ENDPOINT_COUNT (1)
#define EMBER_AF_GENERAL_COMMISSIONING_CLUSTER_SERVER_ENDPOINT_COUNT (1)
@@ -40,6 +41,11 @@
/**** Cluster Plugins ****/
// Use this macro to check if the server side of the AdministratorCommissioning cluster is included
#define ZCL_USING_ADMINISTRATOR_COMMISSIONING_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING_SERVER
#define EMBER_AF_PLUGIN_ADMINISTRATOR_COMMISSIONING
// Use this macro to check if the server side of the Basic cluster is included
#define ZCL_USING_BASIC_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_BASIC_SERVER
@@ -73,7 +79,7 @@
#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING_SERVER
#define EMBER_AF_PLUGIN_NETWORK_COMMISSIONING
// Use this macro to check if the server side of the On/off cluster is included
// Use this macro to check if the server side of the On/Off cluster is included
#define ZCL_USING_ON_OFF_CLUSTER_SERVER
#define EMBER_AF_PLUGIN_ON_OFF_SERVER
#define EMBER_AF_PLUGIN_ON_OFF
@@ -29,3 +29,7 @@ CONFIG_MBEDTLS_DYNAMIC_FREE_CONFIG_DATA=y
# Temporary Fix for Timer Overflows
CONFIG_FREERTOS_TIMER_TASK_STACK_DEPTH=3120
# Main task needs a bit more stack than the default
# default is 3584, bump this up to 5k.
CONFIG_ESP_MAIN_TASK_STACK_SIZE=5120