Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to create out-of-tree MEI clusters #36818

Draft
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

markus-becker-tridonic-com
Copy link
Contributor

@markus-becker-tridonic-com markus-becker-tridonic-com commented Dec 12, 2024

Matter allows for MEI clusters. Currently, there is an example of such a cluster in the tree: sample-mei-server. If device vendors want to create their own MEI cluster, it currently needs to be included in tree, because app-common would not include information of the out-of-tree MEI cluster.

This commits:

  • adds an example for an external MEI cluster
  • adds an mei-template.json that creates app-common out-of-tree
  • adds build system modifications so that app-common which includes the external MEI cluster is being used when EXTERNAL_APP_COMMON is given to chip_configure_data_model().

Matter allows for MEI clusters. Currently, there is an example of such a cluster in the tree:  sample-mei-server. If device vendors want to create their own MEI cluster, it currently needs to be included in tree, because app-common would not include information of the out-of-tree MEI cluster.

This commits:
* adds an example for an external MEI cluster
* adds an mei-template.json that creates app-common out-of-tree
* adds build system modifications so that app-common which includes the external MEI cluster is being used when EXTERNAL_APP_COMMON is given to chip_configure_data_model().
Copy link

semanticdiff-com bot commented Dec 12, 2024

Review changes with  SemanticDiff

Changed Files
File Status
  config/common/cmake/chip_gn.cmake Unsupported file format
  config/common/cmake/chip_gn_args.cmake Unsupported file format
  config/nrfconnect/chip-module/CMakeLists.txt Unsupported file format
  config/zephyr/Kconfig Unsupported file format
  examples/external-mei-app/external-mei-common/BUILD.gn Unsupported file format
  examples/external-mei-app/external-mei-common/external-mei-app.matter Unsupported file format
  examples/external-mei-app/external-mei-common/external-mei-app.zap Unsupported file format
  examples/external-mei-app/external-mei-common/include/ColorFormat.h Unsupported file format
  examples/external-mei-app/external-mei-common/include/LightingManager.h Unsupported file format
  examples/external-mei-app/external-mei-common/src/ColorFormat.cpp Unsupported file format
  examples/external-mei-app/external-mei-common/src/LightingManager.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/.gitignore Unsupported file format
  examples/external-mei-app/nrfconnect/CMakeLists.txt Unsupported file format
  examples/external-mei-app/nrfconnect/Kconfig Unsupported file format
  examples/external-mei-app/nrfconnect/Kconfig.sysbuild Unsupported file format
  examples/external-mei-app/nrfconnect/README.md Unsupported file format
  examples/external-mei-app/nrfconnect/boards/nrf52840dk_nrf52840.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/boards/nrf52840dongle_nrf52840.conf Unsupported file format
  examples/external-mei-app/nrfconnect/boards/nrf52840dongle_nrf52840.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/boards/nrf5340dk_nrf5340_cpuapp.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/boards/nrf7002dk_nrf5340_cpuapp.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/main/AppTask.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/main/ZclCallbacks.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/main/include/AppConfig.h Unsupported file format
  examples/external-mei-app/nrfconnect/main/include/AppEvent.h Unsupported file format
  examples/external-mei-app/nrfconnect/main/include/AppTask.h Unsupported file format
  examples/external-mei-app/nrfconnect/main/include/CHIPProjectConfig.h Unsupported file format
  examples/external-mei-app/nrfconnect/main/main.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/mei/clusters/sample-external-mei-server.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/mei/clusters/sample-external-mei-server.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/config-data.yaml Unsupported file format
  examples/external-mei-app/nrfconnect/mei/mei-templates.json  0% smaller
  examples/external-mei-app/nrfconnect/mei/xml/sample-external-mei-cluster.xml Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/attribute-type.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/attributes/Accessors.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/callback.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/cluster-enums-check.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/cluster-enums.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/cluster-objects.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/ids/Attributes.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/ids/Clusters.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/ids/Commands.h Unsupported file format
  examples/external-mei-app/nrfconnect/mei/zzz_generated/app-common/app-common/zap-generated/ids/Events.h Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf52840dk_nrf52840.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf52840dk_nrf52840_release.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf52840dongle_nrf52840.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf5340dk_nrf5340_cpuapp.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf5340dk_nrf5340_cpuapp_release.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf7002dk_nrf5340_cpuapp.yml Unsupported file format
  examples/external-mei-app/nrfconnect/pm_static_nrf7002dk_nrf5340_cpuapp_release.yml Unsupported file format
  examples/external-mei-app/nrfconnect/prj.conf Unsupported file format
  examples/external-mei-app/nrfconnect/prj_release.conf Unsupported file format
  examples/external-mei-app/nrfconnect/rpc.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/ipc_radio/boards/nrf5340dk_nrf5340_cpunet.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/ipc_radio/boards/nrf7002dk_nrf5340_cpunet.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/ipc_radio/prj.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/ipc_radio/prj_release.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/app.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf52840dk_nrf52840.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf52840dk_nrf52840.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf5340dk_nrf5340_cpuapp.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf5340dk_nrf5340_cpuapp.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.conf Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/boards/nrf7002dk_nrf5340_cpuapp.overlay Unsupported file format
  examples/external-mei-app/nrfconnect/sysbuild/mcuboot/prj.conf Unsupported file format
  examples/external-mei-app/nrfconnect/third_party/connectedhomeip  0% smaller
  src/app/chip_data_model.cmake Unsupported file format
  src/app/chip_data_model.gni Unsupported file format
  src/app/common/BUILD.gn Unsupported file format
  src/app/common/templates/config-data.yaml Unsupported file format

Copy link

github-actions bot commented Dec 12, 2024

PR #36818: Size comparison from 75ab4c9 to 3158e54

Full report (3 builds for cc32xx, stm32)
platform target config section 75ab4c9 3158e54 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 631050 631050 0 0.0
RAM 205824 205824 0 0.0
lock CC3235SF_LAUNCHXL FLASH 669646 669646 0 0.0
RAM 205968 205968 0 0.0
stm32 light STM32WB5MM-DK FLASH 484720 484720 0 0.0
RAM 144880 144880 0 0.0

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"mei" just means "identifier", in Matter... This is trying to show an example of a vendor-prefixed cluster, right? Should probably be named accordingly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants