-
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
Add a way to run custom cluster logic for attribute write #11520
Add a way to run custom cluster logic for attribute write #11520
Conversation
Add yaml test case for NullablesAndOptionalsStruct listconnectedhomeip/src/app/clusters/test-cluster-server/test-cluster-server.cpp Lines 340 to 345 in d38aee2
This comment was generated by todo based on a
|
Refactor WriteSingleClusterData and all dependent functions to take ConcreteAttributePath instead of ClusterInfoconnectedhomeip/src/app/util/ember-compatibility-functions.cpp Lines 482 to 492 in d38aee2
This comment was generated by todo based on a
|
PR #11520: Size comparison from 3f82de1 to d38aee2 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #11520: Size comparison from 86511a1 to c523fa9 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #11520: Size comparison from 94c5144 to 4ee1f61 Increases above 0.2%:
Increases (19 builds for efr32, k32w, linux, p6, qpg, telink)
Decreases (1 build for p6)
Full report (21 builds for efr32, k32w, linux, p6, qpg, telink)
|
PR #11520: Size comparison from 94c5144 to f2c6661 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #11520: Size comparison from e6dab37 to 09a4172 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #11520: Size comparison from d45cfaa to 49857da Increases (8 builds for k32w, p6, qpg, telink)
Decreases (1 build for p6)
Full report (9 builds for k32w, p6, qpg, telink)
|
PR #11520: Size comparison from d45cfaa to e070547 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
PR #11520: Size comparison from 9164605 to 7d38e01 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, 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.
Looks great, thank you!
PR #11520: Size comparison from 4ae5f21 to b8852b5 Increases above 0.2%:
Increases (31 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
Decreases (2 builds for mbed, p6)
Full report (38 builds for efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
|
…ip#11520) * Add a way to run custom cluster logic for attribute write * Address review comments
Problem
What is being fixed? Examples:
Currently, we only have read API in AttributeAccessInterface to handle platform attributes (the attributes handled by SDK-internal logic, neither living in the "global" attribute store nor handled by an application-level callback by marking them "external".
We need to have a write API in AttributeAccessInterface to handle the write operation for those platform attributes using SDK-internal logic.
Change overview
Add a way to have SDK-internal logic run to write attribute values in TLV form to platform.
This mechanism, when it's used, if the attribute write is not handled by the SDK-nternal logic, we fall back to write it to the attribute store (which might call into the external attribute machinery).
Testing
How was this tested? (at least one bullet point required)