ZCL Advanced Platform (ZAP) Application Layer for CHIP (#587)

* adding first plugins for chip's application layer zcl implementation

* Updated readme.md for inclusion in CHIP repo

* updated to conform with formatting required by CHIP and updates to the README.md

* removing binaries accidentally added

* updated prefixes to CHIP_ZCL, ChipZcl, chipZcl from zap etc...

* Added identify cluster server plugin and test

* Ignore *.o and *.out.

* adding more unit testing with actual generated message dispatch layer

* addressed some points about constants, bool check etc...

* Added inherited copyrights and other headers with comments

* Resolving comments around special values in level-control command handling

* Add the attribute db plugin.

* Start adding in the attribute database.

* Moved some files around, added some more generated files, and beginnings of general message dispatch

* Add attribute database. It compiles now, still has few linker problems since the current org of stubs is not what generator expects.

* Get to a point where only callbacks are left.

* Ok, attribute db now compiles, links and executes a unittest.

* Include attribute DB to identify.

* Add the generated stubs.

* Resolve all linker problems via generated stubs file.

* Added testing for message dispatch

* Fixing formatting issues

* Start tying together the API with the core internal functions.

0. Location of metadata.
1. Proper translation of search records and actual metadata structs.
2. Callback orchestration.

* Add a unit test that perform attribute locating.

* Some cleanup.

* Minor resorting of functions so that the folded view makes more sense.

* Remove the masks that define callbacks. That is done completely differently in this case and should not be propagated into CHIP world.

* Rename a mis-named "attribute-db" into a "zcl-data-model", since that's what it really is.

* Adding beginnings of general command handling, space for interaction with zcl-data-model and codecs

Co-authored-by: Timotej Ecimovic <timotej.ecimovic@silabs.com>
53 files changed
tree: 3454891a178e5d7cc54d6a2ae01865d1b252d4ba
  1. .devcontainer/
  2. .github/
  3. .vscode/
  4. autoconf/
  5. config/
  6. docs/
  7. examples/
  8. images/
  9. integrations/
  10. scripts/
  11. src/
  12. tests/
  13. third_party/
  14. tools/
  15. .clang-format
  16. .default-version
  17. .dir-locals.el
  18. .editorconfig
  19. .gitignore
  20. .gitmodules
  21. .prettierrc.json
  22. .restyled.yaml
  23. .shellcheck_tree
  24. .travis.yml
  25. bootstrap
  26. CODE_OF_CONDUCT.md
  27. configure.ac
  28. CONTRIBUTING.md
  29. CONTRIBUTORS.md
  30. LICENSE
  31. Makefile-Android
  32. Makefile-bootstrap
  33. Makefile-iOS
  34. Makefile-Standalone
  35. Makefile.am
  36. README.md
  37. repos.conf
  38. REVIEWERS.md
README.md

Connected Home over IP

Build Status codecov

Getting started with CHIP

All documentation is inside of the docs section

Instructions about how to build and develop CHIP can be found here.

Need help?

There are numerous avenues for CHIP support:

Directory Structure

The CHIP repository is structured as follows:

File / FolderContents
.default-versionDefault CHIP version if none is available via source code control tags, .dist-version, or .local-version.
bootstrapGNU autotools bootstrap script for the CHIP build system.
bootstrap-configureConvenience script that will bootstrap the CHIP build system, via bootstrap, and invoke configure.
build/Build system support content and build output directories
BUILDING.mdMore detailed information on configuring and building CHIP for different targets
CODE_OF_CONDUCT.mdCode of Conduct for CHIP, and contributions to it
CONTRIBUTING.mdGuidelines for contributing to CHIP
CONTRIBUTORS.mdContributors to CHIP
docs/Documentation
examples/Example firmware applications that demonstrate use of CHIP technology
integrations/Third party integrations related to this project
integrations/github/GitHub integrations related to this project
integrations/github/actionsGitHub actions related to this project
integrations/docker/Docker scripts and Dockerfiles
images/Images
LICENSECHIP License file (Apache 2.0)
Makefile-AndroidConvenience makefile for building CHIP against Android.
Makefile-iOSConvenience makefile for building CHIP against iOS.
Makefile-StandaloneConvenience makefile for building CHIP as a standalone package on desktop and server systems.
README.mdThis file
src/Implementation of CHIP
tests/Tests for CHIP
third_party/Third-party code used by CHIP.
tools/Tools needed to work with the CHIP repo, as well as develop in the repository

Contributing

We would love for you to contribute to CHIP and help make it even better than it is today! See the CONTRIBUTING.md file for more information.

License

CHIP is released under the Apache 2.0 license Please read more details therein