-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
[nwprov] Implement AcceptedCommandList and GeneratedCommandList #17387
[nwprov] Implement AcceptedCommandList and GeneratedCommandList #17387
Conversation
PR #17387: Size comparison from 21024aa to a8a020e Increases (22 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (1 build for cc13x2_26x2)
Full report (23 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works, however the spec says:
[options="header",valign="middle"]
|===
| ID | Name | Element | Type | Constraint | Quality | Access | Default | Conformance
| 0xFFFD s| ClusterRevision | attribute | uint16 | 1 to max | F | R V | | M
| 0xFFFC s| FeatureMap | attribute | map32 | | F | R V | 0 | M
| 0xFFFB s| AttributeList | attribute | list[attrib-id] | | F | R V | | M
| 0xFFFA s| EventList | attribute | list[event-id] | | F | R V | | M
| 0xFFF9 s| AcceptedCommandList | attribute | list[command-id] | | F | R V | | M
| 0xFFF8 s| GeneratedCommandList | attribute | list[command-id] | | F | R V | | M
| 0xFE s| FabricIndex | struct or event field | fabric-idx | 1 to max | | R V F | | fabric-scoped
|===
...
==== AcceptedCommandList
This attribute is a list of client generated commands which are supported by this cluster server instance.
Each instance of a cluster SHALL support this attribute.
This attribute SHALL be a list of the command IDs for client generated commands that are supported and processed by the server.
For each client request command in this list that mandates a response from the server, the response command SHALL be in the `GeneratedCommandList`.
So each of these must be for every single cluster.
Should ember generate these instead for most clusters?
I understand that network commissioning is special since we are using features and should control the state. What is the plan for all other clusters?
Do we need to add these accepted/generated command list to the zap files?
I see these in NetworkCommissioing in the window-app.matter, however I do not see them in examples/all-clusters-app/all-clusters-common/all-clusters-app.matter
Ember is already generating this, they were introduced in #14299 However, the network commissioning is using a dynamic approach since the platforms and the apps are so different, so we made the cluster build / run time configurable, in this case, generated command list is not enough. |
For the record: no. IM auto-synthesizes them from data structures codegen spits out. |
Problem
Fixes #16990
Fixes #17104
Fixes #17105
Change overview
Implement AcceptedCommandList and GeneratedCommandList
Testing
Updated src/controller/python/test/test_scripts/network_commissioning.py