-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
cluster model decoupling - declare the codegen (ember) version and implement iteration #33345
base: master
Are you sure you want to change the base?
Conversation
5892a36
to
30812a9
Compare
PR #33345: Size comparison from e887e58 to d8b8433 Increases (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (1 build for linux)
Full report (77 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
… may not be ideal still
… vs value duality still needs some work
PR #33345: Size comparison from fa28631 to c1fc803 Increases (82 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
PR #33345: Size comparison from fa28631 to eba45ae Increases (82 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
Decreases (3 builds for bl702l, linux)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
PR #33345: Size comparison from 3c6bd79 to 22e9df0 Decreases (1 build for efr32)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
PR #33345: Size comparison from b5d13a7 to 63a7685 Decreases (1 build for efr32)
Full report (83 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink)
|
# limitations under the License. | ||
import("//build_overrides/chip.gni") | ||
|
||
# The sources in this directory are TIGHLY coupled with code-generated data models |
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.
# The sources in this directory are TIGHLY coupled with code-generated data models | |
# The sources in this directory are TIGHTLY coupled with code-generated data models |
namespace chip { | ||
namespace app { | ||
|
||
class CodegenDataModel : public chip::app::InteractionModel::Model |
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.
Please document the purpose of this class?
|
||
/// attribute tree iteration | ||
EndpointId FirstEndpoint() override; | ||
EndpointId NextEndpoint(EndpointId before) override; |
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.
What's the reasoning behind this style of iteration API, compared to following the STL iterator paradigm?
Define a mostly-empty
CodegenDataModel::Model
except attribute-tree iteration.Implement the attribute-tree iteration and add unit tests via ember mocks.
Changes contained:
src/app/codegen-interaction-model
to contain a interaction model that uses code-generated data (i.e. ember/zap metadata) for executionInvalid
static method to iteration types, so it is clear when an invalid value is created