Revert "Revert a reverted multi-protocol commit 61d328ca3af094cefe71a61248b60be1bede651a" (#1299) This reverts commit 61d328ca3af094cefe71a61248b60be1bede651a. Fixing Custom XML issues: - Cleaning up the custom xml UI update as well as the custom xml package uploading such that there are no duplicates - Fixing the custom xml UI for attributes, commands and events when cluster extensions are added through custom xml. Needed the custom xml package ids to be included - Fixing the duplicate attributes and commands which show up in the attribute and command UI when a custom cluster with custom attributes and commands is added. This is solved by using a set in : reduceAndConcatenateZclEntity(db, id, [...new Set([...standAlonePackageIds, clusterInfo.packageRef])], - Adding unique constraint to Attribute table and adding insert or replace to attribute insert query such that custom cluster extensions are not reloaded into the db. - Making sure the global attributes are part of the custom clusters in static-zcl.js while calling reduceAndConcatenateZclEntity - Making sure that session partition numbering is correct for the partitionNumber column - For loading custom cluster extensions such as attributes and commands. Making sure they are loaded into the database based on the top level zcl package loaded. This is needed for sdk upgrades or custom xml in multi-protocol. See changes to zcl-loader-silabs and zcl-loader - When adding custom xml, there are instances where multiple zcl packages are loaded for the same xml file. This was an issue with the mutation observer. Getting the load new package call out of the observer to fix this. Reproducer: Open zap, add custom xml from extensions, close extensions pane, add another xml from extensions and you will see two instances of the xml added. If you add another xml then you see 3 instances. This is fixed in ZclCustomZclView.vue - Making sure that the delete button appears across custom xml for removal and doing some minor UI cleanup - Add more unit tests for custom xml - Cleaning up zap toolbar UI for logos - JIRA: ZAPP-1351
ZAP is a generic generation engine and user interface for applications and libraries based on Zigbee Cluster Library, the specification developed by the Connectivity Standards Alliance.
ZAP allows you to perform the following:
ZAP is a generic templating engine. Examples are provided for how to generate artifacts for the C language environment, but one could easily add new templates for other language environments, such as C++, java, node.js, python or any other.
Refer to Setup Instructions
Refer to development instructions for more details.
This software is licensed under Apache 2.0 license.