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

Data Model and TLV working (CON-1553) #1282

Open
zedxpace opened this issue Feb 18, 2025 · 1 comment
Open

Data Model and TLV working (CON-1553) #1282

zedxpace opened this issue Feb 18, 2025 · 1 comment

Comments

@zedxpace
Copy link

Describe the question/query that you have
A clear and concise description of what you want to ask.

As we are aware that we have xml file's like matter-device.xml.
when we send any message over network it is being transmitted in form of TLV .
now the query is :
how data received over tlv is being parsed in matter on reception?
do xml file's has anything to do with parsing / de-parsing tlv? and if not then is it that only role of these xml is to generate c cpp code via zaptool.

Additional context
...

@github-actions github-actions bot changed the title Data Model and TLV working Data Model and TLV working (CON-1553) Feb 18, 2025
@wqx6
Copy link
Contributor

wqx6 commented Feb 20, 2025

The xml files in connectedhomeip/src/app/zap-templates/zcl/data-model/chip defined the data model of all the clusters in Matter SPEC. And with those xml files, zaptool will generate the code of the APIs to decode/encode the attributes/command-data for those clusters in connectedhomeip/zzz_generated/app-common/app-common/zap-generated/cluster-objects.cpp. And when the device receives Matter application-layer messages, it will handle them in InteractionModelEngine::OnMessageReceived() and dispatch them to CommandResponseSender(CommandHandler), CommandSender, ReadHandler, ReadClient, WriteHandleror WriteClient which call the generated API to decode the messages.

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

No branches or pull requests

2 participants