Allow cluster specific and generic data types with the same name in the XML (#1542)

* Allow cluster specific and generic data types with the same name in the XML

- This solves the issue of loading a same named generic and cluster specific data type.
- The issue was with the generic data type type searches not checking if their cluster reference does not exist and thus getting the cluster specific data type instead. Now that check is added and duplicates issue is resolved
- Ran into another ZAP generation issue while running zap_regen_all.py and fixed that error in helper.js
- add tests for loading same named data types where one is generic and another is cluster specific
- Github: ZAP#1540
5 files changed
tree: 8133a862a6a56adaaf41aa3df2b31f5f60ba2547
  1. .github/
  2. .husky/
  3. cypress/
  4. docs/
  5. public/
  6. resource-build/
  7. src/
  8. src-electron/
  9. src-script/
  10. src-shared/
  11. test/
  12. zcl-builtin/
  13. .editorconfig
  14. .eslintignore
  15. .eslintrc.js
  16. .gitignore
  17. .gitmodules
  18. .postcssrc.js
  19. .prettierrc
  20. .stylintrc
  21. apack.json
  22. babel.config.js
  23. cypress.config.js
  24. Jenkinsfile
  25. jest.config.js
  26. jsconfig.json
  27. LICENSE.txt
  28. package-lock.json
  29. package.json
  30. quasar.conf.js
  31. quasar.extensions.json
  32. quasar.testing.json
  33. README.md
  34. sonar-project.properties
  35. tsconfig.json
  36. zap-schema.dot
  37. zap-schema.svg
README.md

ZCL Advanced Platform

ZCL Advanced Platform

Build and release packages Zigbee code regeneration Matter code regeneration

What is ZAP?

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:

  • perform SDK-specific customized generation of all global artifacts (constants, types, IDs, etc) based on the ZCL specification
  • provide UI for the end-user to select specific application configuration (clusters, attributes, commands, etc.)
  • perform SDK-specific customized generation of all user selected configuration artifacts (application configuration, endpoint configuration, etc) based on ZCL specification and customer-provided application configuration.

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.

Quick setup

Refer to Setup Instructions

Source code

Refer to development instructions for more details.

License

This software is licensed under Apache 2.0 license.

Usage Documentation

Detailed Developer Documentation