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

chip_data_model.gni: add option for custom-implemented clusters #22042

Merged

Conversation

plan44
Copy link
Contributor

@plan44 plan44 commented Aug 19, 2022

Add zap_clusters_with_custom_implementation option to chip_data_model() template, which allows to list clusters that need to be available in a device, but don't use the standard implementation in src/app/clusters/<clustername>/<clustername>.cpp.

Usage

To exclude a particular cluster's standard implementation in favor of an application level implementation:

  • in the BUILD.gn file for the application specific .zap file
  • in the instantiation of the chip_data_model template
  • add a variable zap_clusters_with_custom_implementation
  • assign it a list of strings with cluster names, corresponding to directories in the src/app/clusters directory.
  • this causes the cluster implementation file(s) not to be included in the build, allowing re-implementation at the application level.

Example, excluding standard implementation of level-control:

chip_data_model("zap") {
  zap_file = "myproject.zap"
  zap_clusters_with_custom_implementation = [ "level-control" ]
  zap_pregenerated_dir = "//zap-generated"
}

Background

Some clusters, for example Level Control, are implemented with the assumption of direct low-level access to the device hardware. For bridged devices, the actual interface might be much more high level, as in my case where I have lights which are fully capable of performing parametrized smooth transitions but are NOT capable of receiving output changes in millisecond intervals. In such cases, a cluster might need application-specific re-implementation.

This changeset allows, from the application's ZAP BUILD.gn, to exclude the standard cluster implementation file, allowing re-implementation of the needed ember callbacks in a application specific file outside the connectedhomeip repo.

Testing

  • tested to not affect normal builds not using this feature
  • tested with an application which re-implements level-control in a separate .cpp file. Without the feature, linking has duplicate symbol errors (from both custom and standard implementations) - using the feature as shown in the example above, the app links and runs ok.

@github-actions github-actions bot added the app label Aug 19, 2022
@github-actions
Copy link

github-actions bot commented Aug 19, 2022

PR #22042: Size comparison from 67d6821 to 9de81ca

Increases (4 builds for esp32, nrfconnect, psoc6, telink)
platform target config section 67d6821 9de81ca change % change
esp32 all-clusters-app c3devkit (read only) 1031268 1031270 2 0.0
.flash.text 1031268 1031270 2 0.0
nrfconnect all-clusters-minimal-app nrf52840dk_nrf52840 text 803068 803072 4 0.0
psoc6 lock cy8ckit_062s2_43012 .debug_info 22199614 22199615 1 0.0
telink light-switch-app tlsr9518adk80d text 571314 571316 2 0.0
Decreases (3 builds for efr32, k32w, psoc6)
platform target config section 67d6821 9de81ca change % change
efr32 lighting-app BRD4161A (read/write) 1100980 1100964 -16 -0.0
.text 965516 965500 -16 -0.0
k32w light k32w0+release (read/write) 646676 646660 -16 -0.0
.text 571480 571464 -16 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 26643196 26643195 -1 -0.0
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, telink)
platform target config section 67d6821 9de81ca change % change
bl602 lighting-app bl602 (read/write) 1383858 1383858 0 0.0
.bss 120258 120258 0 0.0
.data 4480 4480 0 0.0
.text 1051040 1051040 0 0.0
bl602+rpc (read/write) 1429370 1429370 0 0.0
.bss 127698 127698 0 0.0
.data 4600 4600 0 0.0
.text 1082800 1082800 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 673027 673027 0 0.0
(read/write) 178468 178468 0 0.0
.bss 74388 74388 0 0.0
.data 3372 3372 0 0.0
.rodata 88835 88835 0 0.0
.text 583876 583876 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 637747 637747 0 0.0
(read/write) 157948 157948 0 0.0
.bss 73660 73660 0 0.0
.data 3372 3372 0 0.0
.rodata 77979 77979 0 0.0
.text 559444 559444 0 0.0
lock-ftd LP_CC2652R7 (read only) 674079 674079 0 0.0
(read/write) 167616 167616 0 0.0
.bss 71476 71476 0 0.0
.data 3296 3296 0 0.0
.rodata 76671 76671 0 0.0
.text 596928 596928 0 0.0
lock-mtd LP_CC2652R7 (read only) 656831 656831 0 0.0
(read/write) 180552 180552 0 0.0
.bss 67164 67164 0 0.0
.data 3296 3296 0 0.0
.rodata 101759 101759 0 0.0
.text 554592 554592 0 0.0
pump-app LP_CC2652R7 (read only) 684751 684751 0 0.0
(read/write) 157752 157752 0 0.0
.bss 71516 71516 0 0.0
.data 3296 3296 0 0.0
.rodata 89959 89959 0 0.0
.text 594308 594308 0 0.0
pump-controller-app LP_CC2652R7 (read only) 669243 669243 0 0.0
(read/write) 173380 173380 0 0.0
.bss 71636 71636 0 0.0
.data 3292 3292 0 0.0
.rodata 85515 85515 0 0.0
.text 583248 583248 0 0.0
shell LP_CC2652R7 (read only) 665710 665710 0 0.0
(read/write) 181304 181304 0 0.0
.bss 76708 76708 0 0.0
.data 3376 3376 0 0.0
.rodata 85782 85782 0 0.0
.text 579612 579612 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 586618 586618 0 0.0
.app_xip_area 463284 463284 0 0.0
.bss 65768 65768 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592418 592418 0 0.0
.app_xip_area 464300 464300 0 0.0
.bss 70552 70552 0 0.0
.data 748 748 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 599538 599538 0 0.0
.app_xip_area 476924 476924 0 0.0
.bss 65080 65080 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1100980 1100964 -16 -0.0
.bss 133372 133372 0 0.0
.data 2068 2068 0 0.0
.text 965516 965500 -16 -0.0
BRD4161A+rpc (read/write) 1155232 1155232 0 0.0
.bss 150060 150060 0 0.0
.data 2280 2280 0 0.0
.text 1002872 1002872 0 0.0
BRD4161A+rs911x (read/write) 990152 990152 0 0.0
.bss 162696 162696 0 0.0
.data 2056 2056 0 0.0
.text 825380 825380 0 0.0
lock-app BRD4161A+wf200 (read/write) 1139636 1139636 0 0.0
.bss 145872 145872 0 0.0
.data 2064 2064 0 0.0
.text 991680 991680 0 0.0
window-app BRD4161A (read/write) 1092420 1092420 0 0.0
.bss 134812 134812 0 0.0
.data 2096 2096 0 0.0
.text 955492 955492 0 0.0
esp32 all-clusters-app c3devkit (read only) 1031268 1031270 2 0.0
(read/write) 1489610 1489610 0 0.0
.dram0.bss 71136 71136 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 218440 218440 0 0.0
.flash.text 1031268 1031270 2 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1084371 1084371 0 0.0
(read/write) 491544 491544 0 0.0
.dram0.bss 76640 76640 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 248764 248764 0 0.0
.flash.text 1078987 1078987 0 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w0+release (read/write) 646676 646660 -16 -0.0
.bss 70400 70400 0 0.0
.data 2068 2068 0 0.0
.text 571480 571464 -16 -0.0
lock k32w0+release (read/write) 704196 704196 0 0.0
.bss 70864 70864 0 0.0
.data 2076 2076 0 0.0
.text 628528 628528 0 0.0
linux all-clusters-app debug (read only) 3038505 3038505 0 0.0
(read/write) 156024 156024 0 0.0
.bss 61920 61920 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 85624 85624 0 0.0
.dynamic 608 608 0 0.0
.got 4568 4568 0 0.0
.init 27 27 0 0.0
.init_array 1168 1168 0 0.0
.rodata 274667 274667 0 0.0
.text 2584690 2584690 0 0.0
all-clusters-minimal-app debug (read only) 2874353 2874353 0 0.0
(read/write) 147624 147624 0 0.0
.bss 61152 61152 0 0.0
.data 2064 2064 0 0.0
.data.rel.ro 78120 78120 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 1152 1152 0 0.0
.rodata 274859 274859 0 0.0
.text 2423122 2423122 0 0.0
bridge-app debug+rpc (read only) 2373001 2373001 0 0.0
(read/write) 127584 127584 0 0.0
.bss 50656 50656 0 0.0
.data 3600 3600 0 0.0
.data.rel.ro 67464 67464 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 203496 203496 0 0.0
.text 2006882 2006882 0 0.0
chip-tool debug (read only) 10868673 10868673 0 0.0
(read/write) 651296 651296 0 0.0
.bss 25240 25240 0 0.0
.data 3266 3266 0 0.0
.data.rel.ro 616280 616280 0 0.0
.dynamic 608 608 0 0.0
.got 5096 5096 0 0.0
.init 27 27 0 0.0
.init_array 768 768 0 0.0
.rodata 562677 562677 0 0.0
.text 8799364 8799364 0 0.0
chip-tool-ipv6only arm64 (read only) 10255980 10255980 0 0.0
(read/write) 699105 699105 0 0.0
.bss 33297 33297 0 0.0
.data 3272 3272 0 0.0
.data.rel.ro 643792 643792 0 0.0
.dynamic 560 560 0 0.0
.got 13784 13784 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 493340 493340 0 0.0
.text 8124596 8124596 0 0.0
lighting-app debug+rpc (read only) 2597033 2597033 0 0.0
(read/write) 130176 130176 0 0.0
.bss 49760 49760 0 0.0
.data 2096 2096 0 0.0
.data.rel.ro 72360 72360 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 220304 220304 0 0.0
.text 2206018 2206018 0 0.0
lock-app debug (read only) 2580929 2580929 0 0.0
(read/write) 125512 125512 0 0.0
.bss 48288 48288 0 0.0
.data 1712 1712 0 0.0
.data.rel.ro 69512 69512 0 0.0
.dynamic 608 608 0 0.0
.got 4464 4464 0 0.0
.init 27 27 0 0.0
.init_array 896 896 0 0.0
.rodata 237360 237360 0 0.0
.text 2176914 2176914 0 0.0
ota-provider-app debug (read only) 2358105 2358105 0 0.0
(read/write) 118976 118976 0 0.0
.bss 47808 47808 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 63336 63336 0 0.0
.dynamic 608 608 0 0.0
.got 4488 4488 0 0.0
.init 27 27 0 0.0
.init_array 760 760 0 0.0
.rodata 209336 209336 0 0.0
.text 1985298 1985298 0 0.0
ota-requestor-app debug (read only) 2523369 2523369 0 0.0
(read/write) 127320 127320 0 0.0
.bss 50336 50336 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 68728 68728 0 0.0
.dynamic 608 608 0 0.0
.got 4480 4480 0 0.0
.init 27 27 0 0.0
.init_array 848 848 0 0.0
.rodata 216160 216160 0 0.0
.text 2134642 2134642 0 0.0
shell debug (read only) 2606793 2606793 0 0.0
(read/write) 142144 142144 0 0.0
.bss 57832 57832 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 77224 77224 0 0.0
.dynamic 608 608 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 234770 234770 0 0.0
.text 2213602 2213602 0 0.0
thermostat-no-ble arm64 (read only) 2357300 2357300 0 0.0
(read/write) 141825 141825 0 0.0
.bss 55345 55345 0 0.0
.data 1672 1672 0 0.0
.data.rel.ro 75984 75984 0 0.0
.dynamic 560 560 0 0.0
.got 5048 5048 0 0.0
.init 24 24 0 0.0
.init_array 408 408 0 0.0
.rodata 140620 140620 0 0.0
.text 1978960 1978960 0 0.0
tv-app debug (read only) 3173993 3173993 0 0.0
(read/write) 257968 257968 0 0.0
.bss 167480 167480 0 0.0
.data 4736 4736 0 0.0
.data.rel.ro 79184 79184 0 0.0
.dynamic 608 608 0 0.0
.got 4856 4856 0 0.0
.init 27 27 0 0.0
.init_array 1072 1072 0 0.0
.rodata 258952 258952 0 0.0
.text 2725298 2725298 0 0.0
tv-casting-app debug (read only) 5466769 5466769 0 0.0
(read/write) 160400 160400 0 0.0
.bss 51448 51448 0 0.0
.data 2432 2432 0 0.0
.data.rel.ro 100088 100088 0 0.0
.dynamic 608 608 0 0.0
.got 4776 4776 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 343729 343729 0 0.0
.text 4851522 4851522 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2454328 2454328 0 0.0
.bss 215044 215044 0 0.0
.data 5872 5872 0 0.0
.text 1416972 1416972 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1180603 1180603 0 0.0
bss 143737 143737 0 0.0
rodata 143356 143356 0 0.0
text 814664 814664 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1159799 1159799 0 0.0
bss 142964 142964 0 0.0
rodata 134944 134944 0 0.0
text 803068 803072 4 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 881000 881000 0 0.0
(read/write) 1700996 1700996 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 149688 149688 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1217459 1217459 0 0.0
.debug_aranges 111528 111528 0 0.0
.debug_frame 372352 372352 0 0.0
.debug_info 26643196 26643195 -1 -0.0
.debug_line 3646638 3646638 0 0.0
.debug_loc 3562036 3562036 0 0.0
.debug_ranges 336576 336576 0 0.0
.debug_str 3393852 3393852 0 0.0
.heap 881000 881000 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 569346 569346 0 0.0
.symtab 420416 420416 0 0.0
.text 1540264 1540264 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 881736 881736 0 0.0
(read/write) 1644204 1644204 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 148952 148952 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2656 2656 0 0.0
.debug_abbrev 1209298 1209298 0 0.0
.debug_aranges 111000 111000 0 0.0
.debug_frame 375432 375432 0 0.0
.debug_info 26379890 26379890 0 0.0
.debug_line 3667042 3667042 0 0.0
.debug_loc 3549673 3549673 0 0.0
.debug_ranges 335192 335192 0 0.0
.debug_str 3382841 3382841 0 0.0
.heap 881736 881736 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 533820 533820 0 0.0
.symtab 407008 407008 0 0.0
.text 1484208 1484208 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 890080 890080 0 0.0
(read/write) 1561436 1561436 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 140816 140816 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2448 2448 0 0.0
.debug_abbrev 1043971 1043971 0 0.0
.debug_aranges 103168 103168 0 0.0
.debug_frame 345676 345676 0 0.0
.debug_info 21844447 21844447 0 0.0
.debug_line 3238220 3238220 0 0.0
.debug_loc 3249205 3249205 0 0.0
.debug_ranges 301032 301032 0 0.0
.debug_str 3188935 3188935 0 0.0
.heap 890080 890080 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 467101 467101 0 0.0
.symtab 374064 374064 0 0.0
.text 1409784 1409784 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 885584 885584 0 0.0
(read/write) 1598708 1598708 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 145296 145296 0 0.0
.comment 204 204 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2464 2464 0 0.0
.debug_abbrev 1051147 1051147 0 0.0
.debug_aranges 103840 103840 0 0.0
.debug_frame 348500 348500 0 0.0
.debug_info 22199614 22199615 1 0.0
.debug_line 3246906 3246906 0 0.0
.debug_loc 3289325 3289325 0 0.0
.debug_ranges 304448 304448 0 0.0
.debug_str 3216366 3216366 0 0.0
.heap 885584 885584 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 473342 473342 0 0.0
.symtab 377248 377248 0 0.0
.text 1442560 1442560 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 808736 808736 0 0.0
bss 71448 71448 0 0.0
noinit 43488 43488 0 0.0
text 571314 571316 2 0.0
lighting-app tlsr9518adk80d (read/write) 830672 830672 0 0.0
bss 72304 72304 0 0.0
noinit 43488 43488 0 0.0
text 589404 589404 0 0.0

Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

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

Marking changes requested to wait until after 1.0 branch

@andy31415 andy31415 self-requested a review September 19, 2022 13:21
@stale
Copy link

stale bot commented Nov 19, 2022

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale Stale issue or PR label Nov 19, 2022
@plan44
Copy link
Contributor Author

plan44 commented Nov 19, 2022

I still think this is an important feature. Its further review was postponed to post-1.0, which would be now ;-)

@stale stale bot removed stale Stale issue or PR labels Nov 19, 2022
@andy31415
Copy link
Contributor

I still think this is an important feature. Its further review was postponed to post-1.0, which would be now ;-)

The PR is marked as draft - should this not be draft anymore?
It probably also suffers from being very far down the open PR list ... less likely to get reviews.

@andy31415
Copy link
Contributor

@plan44 - please remove this from draft if that is appropriate - that should get the bot start asking for reviews.

@plan44
Copy link
Contributor Author

plan44 commented Nov 30, 2022

@plan44 - please remove this from draft if that is appropriate - that should get the bot start asking for reviews.

I will, as soon as I find time to rebase and re-test on master. Thanks for having had a look already :-)

@plan44 plan44 force-pushed the PR/build_option_for_custom_clusters branch 2 times, most recently from 6bbf3ff to 928a69b Compare December 13, 2022 10:47
Add `zap_clusters_with_custom_implementation` option to `chip_data_model()` template, which allows to list clusters that need to be available in a device, but don't use the standard implementation in `src/app/clusters/<clustername>/<clustername>.cpp`.

# Usage
To exclude a particular cluster's standard implementation in favor of an application level implementation:
- in the BUILD.gn file for the application specific `.zap` file
- in the instantiation of the `chip_data_model` template
- add a variable `zap_clusters_with_custom_implementation`
- assign it a list of strings with cluster names, corresponding to directories in the `src/app/clusters` directory.
- this causes the cluster implementation file(s) not to be included in the build, allowing re-implementation at the application level.

Example, excluding standard implementation of level-control:
```
chip_data_model("zap") {
  zap_file = "myproject.zap"
  zap_clusters_with_custom_implementation = [ "level-control" ]
  zap_pregenerated_dir = "//zap-generated"
}
```

# Background
Some clusters, for example Level Control, are implemented with the assumption of direct low-level access to the device hardware. For bridged devices, the actual interface might be much more high level, as in my case where I have lights which are fully capable of performing parametrized smooth transitions but are NOT capable of receiving output changes in millisecond intervals. In such cases, a cluster might need application-specific re-implementation.

This changeset allows, from the application's ZAP BUILD.gn, to exclude the standard cluster implementation file, allowing re-implementation of the needed ember callbacks in a application specific file outside the connectedhomeip repo.
@github-actions
Copy link

github-actions bot commented Dec 13, 2022

PR #22042: Size comparison from 9e371e6 to 928a69b

Increases (5 builds for bl602, psoc6, telink)
platform target config section 9e371e6 928a69b change % change
bl602 lighting-app bl602 .text 1038516 1038518 2 0.0
psoc6 light cy8ckit_062s2_43012 .debug_info 22271294 22271295 1 0.0
lock cy8ckit_062s2_43012 .debug_info 22489716 22489717 1 0.0
telink all-clusters-app tlsr9518adk80d text 739534 739536 2 0.0
lighting-app tlsr9518adk80d text 719732 719734 2 0.0
Decreases (6 builds for bl602, esp32, nrfconnect, psoc6, telink)
platform target config section 9e371e6 928a69b change % change
bl602 lighting-app bl602+rpc (read/write) 1401582 1401574 -8 -0.0
.text 1069938 1069936 -2 -0.0
esp32 all-clusters-app c3devkit (read only) 1219178 1219176 -2 -0.0
(read/write) 1790954 1790938 -16 -0.0
.flash.rodata 248312 248296 -16 -0.0
.flash.text 1219178 1219176 -2 -0.0
m5stack (read/write) 564187 564183 -4 -0.0
.flash.rodata 314100 314096 -4 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 819958 819954 -4 -0.0
psoc6 all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26808620 26808619 -1 -0.0
telink thermostat tlsr9518adk80d text 651812 651810 -2 -0.0
Full report (53 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 9e371e6 928a69b change % change
bl602 lighting-app bl602 (read/write) 1355798 1355798 0 0.0
.bss 87057 87057 0 0.0
.data 9984 9984 0 0.0
.text 1038516 1038518 2 0.0
bl602+rpc (read/write) 1401582 1401574 -8 -0.0
.bss 95097 95097 0 0.0
.data 10384 10384 0 0.0
.text 1069938 1069936 -2 -0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1195695 1195695 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67182 67182 0 0.0
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4048 0 0.0
.debug_abbrev 1529198 1529198 0 0.0
.debug_aranges 132728 132728 0 0.0
.debug_frame 486912 486912 0 0.0
.debug_info 39199526 39199526 0 0.0
.debug_line 5149108 5149108 0 0.0
.debug_loc 3380081 3380081 0 0.0
.debug_ranges 363736 363736 0 0.0
.debug_str 3479489 3479489 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116352 116352 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 568924 568924 0 0.0
.symtab 172176 172176 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956206 956206 0 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1284187 1284187 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75198 75198 0 0.0
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4576 4576 0 0.0
.debug_abbrev 1676612 1676612 0 0.0
.debug_aranges 140848 140848 0 0.0
.debug_frame 514328 514328 0 0.0
.debug_info 43491832 43491832 0 0.0
.debug_line 5538551 5538551 0 0.0
.debug_loc 3574716 3574716 0 0.0
.debug_ranges 387272 387272 0 0.0
.debug_str 3881758 3881758 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130096 130096 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 629208 629208 0 0.0
.symtab 190352 190352 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030180 1030180 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 679727 679727 0 0.0
(read/write) 171800 171800 0 0.0
.bss 81220 81220 0 0.0
.data 3380 3380 0 0.0
.rodata 89999 89999 0 0.0
.text 589416 589416 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 643983 643983 0 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 79135 79135 0 0.0
.text 564528 564528 0 0.0
lock-ftd LP_CC2652R7 (read only) 677259 677259 0 0.0
(read/write) 171828 171828 0 0.0
.bss 78868 78868 0 0.0
.data 3304 3304 0 0.0
.rodata 77427 77427 0 0.0
.text 599352 599352 0 0.0
lock-mtd LP_CC2652R7 (read only) 662055 662055 0 0.0
(read/write) 182296 182296 0 0.0
.bss 74132 74132 0 0.0
.data 3304 3304 0 0.0
.rodata 103511 103511 0 0.0
.text 558064 558064 0 0.0
pump-app LP_CC2652R7 (read only) 690187 690187 0 0.0
(read/write) 159636 159636 0 0.0
.bss 78836 78836 0 0.0
.data 3296 3296 0 0.0
.rodata 90947 90947 0 0.0
.text 598756 598756 0 0.0
pump-controller-app LP_CC2652R7 (read only) 674095 674095 0 0.0
(read/write) 175832 175832 0 0.0
.bss 78940 78940 0 0.0
.data 3292 3292 0 0.0
.rodata 86495 86495 0 0.0
.text 587120 587120 0 0.0
shell LP_CC2652R7 (read only) 670966 670966 0 0.0
(read/write) 182888 182888 0 0.0
.bss 83548 83548 0 0.0
.data 3376 3376 0 0.0
.rodata 86742 86742 0 0.0
.text 583908 583908 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 588406 588406 0 0.0
.app_xip_area 464672 464672 0 0.0
.bss 66192 66192 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592218 592218 0 0.0
.app_xip_area 463188 463188 0 0.0
.bss 71480 71480 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 551682 551682 0 0.0
.app_xip_area 433444 433444 0 0.0
.bss 60736 60736 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 976256 976256 0 0.0
.bss 152252 152252 0 0.0
.data 2168 2168 0 0.0
.text 821816 821816 0 0.0
BRD4161A+rs911x (read/write) 1038336 1038336 0 0.0
.bss 186728 186728 0 0.0
.data 2012 2012 0 0.0
.text 849576 849576 0 0.0
BRD4187C (read/write) 1149444 1149444 0 0.0
.bss 138648 138648 0 0.0
.data 2516 2516 0 0.0
.text 983684 983684 0 0.0
lock-app BRD4161A+wf200 (read/write) 1163720 1163720 0 0.0
.bss 158296 158296 0 0.0
.data 2020 2020 0 0.0
.text 1003380 1003380 0 0.0
window-app BRD4187C (read/write) 1141960 1141960 0 0.0
.bss 140064 140064 0 0.0
.data 2540 2540 0 0.0
.text 974760 974760 0 0.0
esp32 all-clusters-app c3devkit (read only) 1219178 1219176 -2 -0.0
(read/write) 1790954 1790938 -16 -0.0
.dram0.bss 76992 76992 0 0.0
.dram0.data 13928 13928 0 0.0
.flash.rodata 248312 248296 -16 -0.0
.flash.text 1219178 1219176 -2 -0.0
.iram0.text 71188 71188 0 0.0
m5stack (read only) 1233359 1233359 0 0.0
(read/write) 564187 564183 -4 -0.0
.dram0.bss 82144 82144 0 0.0
.dram0.data 34224 34224 0 0.0
.flash.rodata 314100 314096 -4 -0.0
.flash.text 1227975 1227975 0 0.0
.iram0.text 124803 124803 0 0.0
k32w contact k32w0+release (read/write) 662656 662656 0 0.0
.bss 77112 77112 0 0.0
.data 2104 2104 0 0.0
.text 564328 564328 0 0.0
light k32w0+release (read/write) 673220 673220 0 0.0
.bss 74904 74904 0 0.0
.data 2060 2060 0 0.0
.text 593528 593528 0 0.0
lock k32w0+release (read/write) 634176 634176 0 0.0
.bss 75664 75664 0 0.0
.data 2080 2080 0 0.0
.text 553704 553704 0 0.0
linux all-clusters-app debug (read only) 3112353 3112353 0 0.0
(read/write) 158504 158504 0 0.0
.bss 62464 62464 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 87160 87160 0 0.0
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1184 1184 0 0.0
.rodata 281227 281227 0 0.0
.text 2646562 2646562 0 0.0
all-clusters-minimal-app debug (read only) 2936033 2936033 0 0.0
(read/write) 149936 149936 0 0.0
.bss 61664 61664 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 79528 79528 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 280683 280683 0 0.0
.text 2473826 2473826 0 0.0
bridge-app debug (read only) 2473841 2473841 0 0.0
(read/write) 131280 131280 0 0.0
.bss 51488 51488 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 69928 69928 0 0.0
.dynamic 608 608 0 0.0
.got 4576 4576 0 0.0
.init 27 27 0 0.0
.init_array 840 840 0 0.0
.rodata 211424 211424 0 0.0
.text 2092658 2092658 0 0.0
chip-tool debug (read only) 11249681 11249681 0 0.0
(read/write) 659992 659992 0 0.0
.bss 25912 25912 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 624760 624760 0 0.0
.dynamic 608 608 0 0.0
.got 5184 5184 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 604933 604933 0 0.0
.text 9117444 9117444 0 0.0
chip-tool-ipv6only arm64 (read only) 10626028 10626028 0 0.0
(read/write) 708129 708129 0 0.0
.bss 33905 33905 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 652416 652416 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13960 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 531628 531628 0 0.0
.text 8434916 8434916 0 0.0
lighting-app debug+rpc (read only) 2662201 2662201 0 0.0
(read/write) 132424 132424 0 0.0
.bss 49984 49984 0 0.0
.data 2288 2288 0 0.0
.data.rel.ro 73944 73944 0 0.0
.dynamic 608 608 0 0.0
.got 4632 4632 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 227840 227840 0 0.0
.text 2257730 2257730 0 0.0
lock-app debug (read only) 2621281 2621281 0 0.0
(read/write) 127376 127376 0 0.0
.bss 48416 48416 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 70856 70856 0 0.0
.dynamic 608 608 0 0.0
.got 4664 4664 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 244104 244104 0 0.0
.text 2205394 2205394 0 0.0
ota-provider-app debug (read only) 2187921 2187921 0 0.0
(read/write) 105512 105512 0 0.0
.bss 46560 46560 0 0.0
.data 2080 2080 0 0.0
.data.rel.ro 51784 51784 0 0.0
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 194952 194952 0 0.0
.text 1853378 1853378 0 0.0
ota-requestor-app debug (read only) 2356641 2356641 0 0.0
(read/write) 113888 113888 0 0.0
.bss 49088 49088 0 0.0
.data 2448 2448 0 0.0
.data.rel.ro 57144 57144 0 0.0
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202064 202064 0 0.0
.text 2005794 2005794 0 0.0
shell debug (read only) 2644809 2644809 0 0.0
(read/write) 142968 142968 0 0.0
.bss 57864 57864 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78048 78048 0 0.0
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 239474 239474 0 0.0
.text 2245746 2245746 0 0.0
thermostat-no-ble arm64 (read only) 2436132 2436132 0 0.0
(read/write) 143857 143857 0 0.0
.bss 55329 55329 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77472 77472 0 0.0
.dynamic 560 560 0 0.0
.got 5184 5184 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 145404 145404 0 0.0
.text 2046736 2046736 0 0.0
tv-app debug (read only) 3284233 3284233 0 0.0
(read/write) 262152 262152 0 0.0
.bss 170808 170808 0 0.0
.data 4256 4256 0 0.0
.data.rel.ro 80400 80400 0 0.0
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 268376 268376 0 0.0
.text 2821794 2821794 0 0.0
tv-casting-app debug (read only) 5642833 5642833 0 0.0
(read/write) 162480 162480 0 0.0
.bss 52184 52184 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 101776 101776 0 0.0
.dynamic 608 608 0 0.0
.got 4912 4912 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 358841 358841 0 0.0
.text 5006978 5006978 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2463624 2463624 0 0.0
.bss 215012 215012 0 0.0
.data 5872 5872 0 0.0
.text 1426268 1426268 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1190871 1190871 0 0.0
bss 145285 145285 0 0.0
rodata 144460 144460 0 0.0
text 819958 819954 -4 -0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1361070 1361070 0 0.0
bss 105224 105224 0 0.0
rodata 211556 211556 0 0.0
text 759802 759802 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1136515 1136515 0 0.0
bss 144520 144520 0 0.0
rodata 120776 120776 0 0.0
text 790126 790126 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841976 841976 0 0.0
(read/write) 1749100 1749100 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188704 188704 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1238249 1238249 0 0.0
.debug_aranges 110928 110928 0 0.0
.debug_frame 372332 372332 0 0.0
.debug_info 27071803 27071803 0 0.0
.debug_line 3708433 3708433 0 0.0
.debug_loc 3623407 3623407 0 0.0
.debug_ranges 346376 346376 0 0.0
.debug_str 3449854 3449854 0 0.0
.heap 841976 841976 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 571764 571764 0 0.0
.symtab 422064 422064 0 0.0
.text 1549344 1549344 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1691628 1691628 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1230140 1230140 0 0.0
.debug_aranges 110400 110400 0 0.0
.debug_frame 375388 375388 0 0.0
.debug_info 26808620 26808619 -1 -0.0
.debug_line 3727370 3727370 0 0.0
.debug_loc 3611013 3611013 0 0.0
.debug_ranges 344992 344992 0 0.0
.debug_str 3438866 3438866 0 0.0
.heap 842704 842704 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 535853 535853 0 0.0
.symtab 408496 408496 0 0.0
.text 1492600 1492600 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850896 850896 0 0.0
(read/write) 1609836 1609836 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179992 179992 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1064937 1064937 0 0.0
.debug_aranges 102600 102600 0 0.0
.debug_frame 345724 345724 0 0.0
.debug_info 22271294 22271295 1 0.0
.debug_line 3294697 3294697 0 0.0
.debug_loc 3308920 3308920 0 0.0
.debug_ranges 309128 309128 0 0.0
.debug_str 3244452 3244452 0 0.0
.heap 850896 850896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 472178 472178 0 0.0
.symtab 376864 376864 0 0.0
.text 1419000 1419000 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845904 845904 0 0.0
(read/write) 1643780 1643780 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184968 184968 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1066869 1066869 0 0.0
.debug_aranges 102984 102984 0 0.0
.debug_frame 347520 347520 0 0.0
.debug_info 22489716 22489717 1 0.0
.debug_line 3294527 3294527 0 0.0
.debug_loc 3330367 3330367 0 0.0
.debug_ranges 310984 310984 0 0.0
.debug_str 3260290 3260290 0 0.0
.heap 845904 845904 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 474895 474895 0 0.0
.symtab 378864 378864 0 0.0
.text 1447952 1447952 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1151088 1151088 0 0.0
.bss 100428 100428 0 0.0
.data 840 840 0 0.0
.text 598188 598188 0 0.0
lock-app qpg6105+debug (read/write) 1117392 1117392 0 0.0
.bss 95908 95908 0 0.0
.data 836 836 0 0.0
.text 564488 564488 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1091812 1091812 0 0.0
bss 99808 99808 0 0.0
text 739534 739536 2 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1031184 1031184 0 0.0
bss 99032 99032 0 0.0
text 704740 704740 0 0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 952608 952608 0 0.0
bss 91272 91272 0 0.0
text 651348 651348 0 0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1034024 1034024 0 0.0
bss 100420 100420 0 0.0
text 719732 719734 2 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 966200 966200 0 0.0
bss 92228 92228 0 0.0
text 662608 662608 0 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 955320 955320 0 0.0
bss 92664 92664 0 0.0
text 651812 651810 -2 -0.0

@plan44 plan44 force-pushed the PR/build_option_for_custom_clusters branch from 928a69b to f24e31c Compare December 13, 2022 13:19
@plan44 plan44 marked this pull request as ready for review December 13, 2022 13:20
@github-actions
Copy link

github-actions bot commented Dec 13, 2022

PR #22042: Size comparison from 9e371e6 to f24e31c

Increases (13 builds for bl602, bl702, psoc6, telink)
platform target config section 9e371e6 f24e31c change % change
bl602 lighting-app bl602 .text 1038516 1038518 2 0.0
bl602+rpc .text 1069938 1069940 2 0.0
bl702 lighting-app bl702 .debug_info 39199526 39199527 1 0.0
.text 956206 956208 2 0.0
bl702+rpc .debug_info 43491832 43491833 1 0.0
.text 1030180 1030182 2 0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 27071803 27071804 1 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26808620 26808621 1 0.0
lock cy8ckit_062s2_43012 .debug_info 22489716 22489717 1 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 1091812 1091820 8 0.0
text 739534 739538 4 0.0
all-clusters-minimal-app tlsr9518adk80d text 704740 704742 2 0.0
light-switch-app tlsr9518adk80d text 651348 651352 4 0.0
lighting-app tlsr9518adk80d text 719732 719736 4 0.0
ota-requestor-app tlsr9518adk80d text 662608 662610 2 0.0
thermostat tlsr9518adk80d text 651812 651814 2 0.0
Decreases (2 builds for cyw30739, esp32)
platform target config section 9e371e6 f24e31c change % change
cyw30739 lock cyw930739m2evb_01 (read/write) 592218 592210 -8 -0.0
.app_xip_area 463188 463180 -8 -0.0
esp32 all-clusters-app c3devkit (read only) 1219178 1219176 -2 -0.0
(read/write) 1790954 1790938 -16 -0.0
.flash.rodata 248312 248296 -16 -0.0
.flash.text 1219178 1219176 -2 -0.0
Full report (53 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 9e371e6 f24e31c change % change
bl602 lighting-app bl602 (read/write) 1355798 1355798 0 0.0
.bss 87057 87057 0 0.0
.data 9984 9984 0 0.0
.text 1038516 1038518 2 0.0
bl602+rpc (read/write) 1401582 1401582 0 0.0
.bss 95097 95097 0 0.0
.data 10384 10384 0 0.0
.text 1069938 1069940 2 0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1195695 1195695 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67182 67182 0 0.0
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4048 0 0.0
.debug_abbrev 1529198 1529198 0 0.0
.debug_aranges 132728 132728 0 0.0
.debug_frame 486912 486912 0 0.0
.debug_info 39199526 39199527 1 0.0
.debug_line 5149108 5149108 0 0.0
.debug_loc 3380081 3380081 0 0.0
.debug_ranges 363736 363736 0 0.0
.debug_str 3479489 3479489 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116352 116352 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 568924 568924 0 0.0
.symtab 172176 172176 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956206 956208 2 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1284187 1284187 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75198 75198 0 0.0
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4576 4576 0 0.0
.debug_abbrev 1676612 1676612 0 0.0
.debug_aranges 140848 140848 0 0.0
.debug_frame 514328 514328 0 0.0
.debug_info 43491832 43491833 1 0.0
.debug_line 5538551 5538551 0 0.0
.debug_loc 3574716 3574716 0 0.0
.debug_ranges 387272 387272 0 0.0
.debug_str 3881758 3881758 0 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130096 130096 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 629208 629208 0 0.0
.symtab 190352 190352 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030180 1030182 2 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 679727 679727 0 0.0
(read/write) 171800 171800 0 0.0
.bss 81220 81220 0 0.0
.data 3380 3380 0 0.0
.rodata 89999 89999 0 0.0
.text 589416 589416 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 643983 643983 0 0.0
(read/write) 157996 157996 0 0.0
.bss 80500 80500 0 0.0
.data 3380 3380 0 0.0
.rodata 79135 79135 0 0.0
.text 564528 564528 0 0.0
lock-ftd LP_CC2652R7 (read only) 677259 677259 0 0.0
(read/write) 171828 171828 0 0.0
.bss 78868 78868 0 0.0
.data 3304 3304 0 0.0
.rodata 77427 77427 0 0.0
.text 599352 599352 0 0.0
lock-mtd LP_CC2652R7 (read only) 662055 662055 0 0.0
(read/write) 182296 182296 0 0.0
.bss 74132 74132 0 0.0
.data 3304 3304 0 0.0
.rodata 103511 103511 0 0.0
.text 558064 558064 0 0.0
pump-app LP_CC2652R7 (read only) 690187 690187 0 0.0
(read/write) 159636 159636 0 0.0
.bss 78836 78836 0 0.0
.data 3296 3296 0 0.0
.rodata 90947 90947 0 0.0
.text 598756 598756 0 0.0
pump-controller-app LP_CC2652R7 (read only) 674095 674095 0 0.0
(read/write) 175832 175832 0 0.0
.bss 78940 78940 0 0.0
.data 3292 3292 0 0.0
.rodata 86495 86495 0 0.0
.text 587120 587120 0 0.0
shell LP_CC2652R7 (read only) 670966 670966 0 0.0
(read/write) 182888 182888 0 0.0
.bss 83548 83548 0 0.0
.data 3376 3376 0 0.0
.rodata 86742 86742 0 0.0
.text 583908 583908 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 588406 588406 0 0.0
.app_xip_area 464672 464672 0 0.0
.bss 66192 66192 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592218 592210 -8 -0.0
.app_xip_area 463188 463180 -8 -0.0
.bss 71480 71480 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 551682 551682 0 0.0
.app_xip_area 433444 433444 0 0.0
.bss 60736 60736 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 976256 976256 0 0.0
.bss 152252 152252 0 0.0
.data 2168 2168 0 0.0
.text 821816 821816 0 0.0
BRD4161A+rs911x (read/write) 1038336 1038336 0 0.0
.bss 186728 186728 0 0.0
.data 2012 2012 0 0.0
.text 849576 849576 0 0.0
BRD4187C (read/write) 1149444 1149444 0 0.0
.bss 138648 138648 0 0.0
.data 2516 2516 0 0.0
.text 983684 983684 0 0.0
lock-app BRD4161A+wf200 (read/write) 1163720 1163720 0 0.0
.bss 158296 158296 0 0.0
.data 2020 2020 0 0.0
.text 1003380 1003380 0 0.0
window-app BRD4187C (read/write) 1141960 1141960 0 0.0
.bss 140064 140064 0 0.0
.data 2540 2540 0 0.0
.text 974760 974760 0 0.0
esp32 all-clusters-app c3devkit (read only) 1219178 1219176 -2 -0.0
(read/write) 1790954 1790938 -16 -0.0
.dram0.bss 76992 76992 0 0.0
.dram0.data 13928 13928 0 0.0
.flash.rodata 248312 248296 -16 -0.0
.flash.text 1219178 1219176 -2 -0.0
.iram0.text 71188 71188 0 0.0
m5stack (read only) 1233359 1233359 0 0.0
(read/write) 564187 564187 0 0.0
.dram0.bss 82144 82144 0 0.0
.dram0.data 34224 34224 0 0.0
.flash.rodata 314100 314100 0 0.0
.flash.text 1227975 1227975 0 0.0
.iram0.text 124803 124803 0 0.0
k32w contact k32w0+release (read/write) 662656 662656 0 0.0
.bss 77112 77112 0 0.0
.data 2104 2104 0 0.0
.text 564328 564328 0 0.0
light k32w0+release (read/write) 673220 673220 0 0.0
.bss 74904 74904 0 0.0
.data 2060 2060 0 0.0
.text 593528 593528 0 0.0
lock k32w0+release (read/write) 634176 634176 0 0.0
.bss 75664 75664 0 0.0
.data 2080 2080 0 0.0
.text 553704 553704 0 0.0
linux all-clusters-app debug (read only) 3112353 3112353 0 0.0
(read/write) 158504 158504 0 0.0
.bss 62464 62464 0 0.0
.data 2304 2304 0 0.0
.data.rel.ro 87160 87160 0 0.0
.dynamic 608 608 0 0.0
.got 4768 4768 0 0.0
.init 27 27 0 0.0
.init_array 1184 1184 0 0.0
.rodata 281227 281227 0 0.0
.text 2646562 2646562 0 0.0
all-clusters-minimal-app debug (read only) 2936033 2936033 0 0.0
(read/write) 149936 149936 0 0.0
.bss 61664 61664 0 0.0
.data 2272 2272 0 0.0
.data.rel.ro 79528 79528 0 0.0
.dynamic 608 608 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 1160 1160 0 0.0
.rodata 280683 280683 0 0.0
.text 2473826 2473826 0 0.0
bridge-app debug (read only) 2473841 2473841 0 0.0
(read/write) 131280 131280 0 0.0
.bss 51488 51488 0 0.0
.data 3792 3792 0 0.0
.data.rel.ro 69928 69928 0 0.0
.dynamic 608 608 0 0.0
.got 4576 4576 0 0.0
.init 27 27 0 0.0
.init_array 840 840 0 0.0
.rodata 211424 211424 0 0.0
.text 2092658 2092658 0 0.0
chip-tool debug (read only) 11249681 11249681 0 0.0
(read/write) 659992 659992 0 0.0
.bss 25912 25912 0 0.0
.data 2754 2754 0 0.0
.data.rel.ro 624760 624760 0 0.0
.dynamic 608 608 0 0.0
.got 5184 5184 0 0.0
.init 27 27 0 0.0
.init_array 728 728 0 0.0
.rodata 604933 604933 0 0.0
.text 9117444 9117444 0 0.0
chip-tool-ipv6only arm64 (read only) 10626028 10626028 0 0.0
(read/write) 708129 708129 0 0.0
.bss 33905 33905 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 652416 652416 0 0.0
.dynamic 560 560 0 0.0
.got 13960 13960 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 531628 531628 0 0.0
.text 8434916 8434916 0 0.0
lighting-app debug+rpc (read only) 2662201 2662201 0 0.0
(read/write) 132424 132424 0 0.0
.bss 49984 49984 0 0.0
.data 2288 2288 0 0.0
.data.rel.ro 73944 73944 0 0.0
.dynamic 608 608 0 0.0
.got 4632 4632 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 227840 227840 0 0.0
.text 2257730 2257730 0 0.0
lock-app debug (read only) 2621281 2621281 0 0.0
(read/write) 127376 127376 0 0.0
.bss 48416 48416 0 0.0
.data 1904 1904 0 0.0
.data.rel.ro 70856 70856 0 0.0
.dynamic 608 608 0 0.0
.got 4664 4664 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 244104 244104 0 0.0
.text 2205394 2205394 0 0.0
ota-provider-app debug (read only) 2187921 2187921 0 0.0
(read/write) 105512 105512 0 0.0
.bss 46560 46560 0 0.0
.data 2080 2080 0 0.0
.data.rel.ro 51784 51784 0 0.0
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 736 736 0 0.0
.rodata 194952 194952 0 0.0
.text 1853378 1853378 0 0.0
ota-requestor-app debug (read only) 2356641 2356641 0 0.0
(read/write) 113888 113888 0 0.0
.bss 49088 49088 0 0.0
.data 2448 2448 0 0.0
.data.rel.ro 57144 57144 0 0.0
.dynamic 608 608 0 0.0
.got 3728 3728 0 0.0
.init 27 27 0 0.0
.init_array 824 824 0 0.0
.rodata 202064 202064 0 0.0
.text 2005794 2005794 0 0.0
shell debug (read only) 2644809 2644809 0 0.0
(read/write) 142968 142968 0 0.0
.bss 57864 57864 0 0.0
.data 1264 1264 0 0.0
.data.rel.ro 78048 78048 0 0.0
.dynamic 608 608 0 0.0
.got 4128 4128 0 0.0
.init 27 27 0 0.0
.init_array 1032 1032 0 0.0
.rodata 239474 239474 0 0.0
.text 2245746 2245746 0 0.0
thermostat-no-ble arm64 (read only) 2436132 2436132 0 0.0
(read/write) 143857 143857 0 0.0
.bss 55329 55329 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77472 77472 0 0.0
.dynamic 560 560 0 0.0
.got 5184 5184 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 145404 145404 0 0.0
.text 2046736 2046736 0 0.0
tv-app debug (read only) 3284233 3284233 0 0.0
(read/write) 262152 262152 0 0.0
.bss 170808 170808 0 0.0
.data 4256 4256 0 0.0
.data.rel.ro 80400 80400 0 0.0
.dynamic 608 608 0 0.0
.got 5000 5000 0 0.0
.init 27 27 0 0.0
.init_array 1064 1064 0 0.0
.rodata 268376 268376 0 0.0
.text 2821794 2821794 0 0.0
tv-casting-app debug (read only) 5642833 5642833 0 0.0
(read/write) 162480 162480 0 0.0
.bss 52184 52184 0 0.0
.data 1936 1936 0 0.0
.data.rel.ro 101776 101776 0 0.0
.dynamic 608 608 0 0.0
.got 4912 4912 0 0.0
.init 27 27 0 0.0
.init_array 1040 1040 0 0.0
.rodata 358841 358841 0 0.0
.text 5006978 5006978 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2463624 2463624 0 0.0
.bss 215012 215012 0 0.0
.data 5872 5872 0 0.0
.text 1426268 1426268 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1190871 1190871 0 0.0
bss 145285 145285 0 0.0
rodata 144460 144460 0 0.0
text 819958 819958 0 0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1361070 1361070 0 0.0
bss 105224 105224 0 0.0
rodata 211556 211556 0 0.0
text 759802 759802 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1136515 1136515 0 0.0
bss 144520 144520 0 0.0
rodata 120776 120776 0 0.0
text 790126 790126 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841976 841976 0 0.0
(read/write) 1749100 1749100 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188704 188704 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1238249 1238249 0 0.0
.debug_aranges 110928 110928 0 0.0
.debug_frame 372332 372332 0 0.0
.debug_info 27071803 27071804 1 0.0
.debug_line 3708433 3708433 0 0.0
.debug_loc 3623407 3623407 0 0.0
.debug_ranges 346376 346376 0 0.0
.debug_str 3449854 3449854 0 0.0
.heap 841976 841976 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 571764 571764 0 0.0
.symtab 422064 422064 0 0.0
.text 1549344 1549344 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1691628 1691628 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1230140 1230140 0 0.0
.debug_aranges 110400 110400 0 0.0
.debug_frame 375388 375388 0 0.0
.debug_info 26808620 26808621 1 0.0
.debug_line 3727370 3727370 0 0.0
.debug_loc 3611013 3611013 0 0.0
.debug_ranges 344992 344992 0 0.0
.debug_str 3438866 3438866 0 0.0
.heap 842704 842704 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 535853 535853 0 0.0
.symtab 408496 408496 0 0.0
.text 1492600 1492600 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850896 850896 0 0.0
(read/write) 1609836 1609836 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179992 179992 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1064937 1064937 0 0.0
.debug_aranges 102600 102600 0 0.0
.debug_frame 345724 345724 0 0.0
.debug_info 22271294 22271294 0 0.0
.debug_line 3294697 3294697 0 0.0
.debug_loc 3308920 3308920 0 0.0
.debug_ranges 309128 309128 0 0.0
.debug_str 3244452 3244452 0 0.0
.heap 850896 850896 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 472178 472178 0 0.0
.symtab 376864 376864 0 0.0
.text 1419000 1419000 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845904 845904 0 0.0
(read/write) 1643780 1643780 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184968 184968 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1066869 1066869 0 0.0
.debug_aranges 102984 102984 0 0.0
.debug_frame 347520 347520 0 0.0
.debug_info 22489716 22489717 1 0.0
.debug_line 3294527 3294527 0 0.0
.debug_loc 3330367 3330367 0 0.0
.debug_ranges 310984 310984 0 0.0
.debug_str 3260290 3260290 0 0.0
.heap 845904 845904 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 474895 474895 0 0.0
.symtab 378864 378864 0 0.0
.text 1447952 1447952 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1151088 1151088 0 0.0
.bss 100428 100428 0 0.0
.data 840 840 0 0.0
.text 598188 598188 0 0.0
lock-app qpg6105+debug (read/write) 1117392 1117392 0 0.0
.bss 95908 95908 0 0.0
.data 836 836 0 0.0
.text 564488 564488 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1091812 1091820 8 0.0
bss 99808 99808 0 0.0
text 739534 739538 4 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1031184 1031184 0 0.0
bss 99032 99032 0 0.0
text 704740 704742 2 0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 952608 952608 0 0.0
bss 91272 91272 0 0.0
text 651348 651352 4 0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1034024 1034024 0 0.0
bss 100420 100420 0 0.0
text 719732 719736 4 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 966200 966200 0 0.0
bss 92228 92228 0 0.0
text 662608 662610 2 0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 955320 955320 0 0.0
bss 92664 92664 0 0.0
text 651812 651814 2 0.0

@plan44
Copy link
Contributor Author

plan44 commented Dec 17, 2022

@andy31415 I've rebased and retested a few days ago, and removed the draft status. Checks look fine except for pullaprove/license/cla, which I do not understand, as I did agree to the CLA a while ago and some PRs of mine are merged already. I have no idea how to re-agree to the CLA, if that's what the status is asking for.

@bzbarsky-apple
Copy link
Contributor

@plan44, @andy31415 is on vacation right now, as is @woody-apple, and they're the obvious people to be able to override the CLA bits....

In practice you probably want to ping people after Jan 3.

@plan44
Copy link
Contributor Author

plan44 commented Dec 21, 2022

@bzbarsky-apple thanks for the info - no problem waiting until next year. Or rather than waiting, maybe finding time to prepare the libev and gaps-in-endpointId PRs ;-)

@plan44
Copy link
Contributor Author

plan44 commented Jan 9, 2023

@andy31415 @woody-apple - is anything but the CLA holding back this PR? I can't do anything regarding the CLA because I have agreed to it, and other PRs went through. I have no idea why the bot thinks in this particular PR the CLA was not agreed to.

@andy31415 andy31415 dismissed their stale review January 9, 2023 16:02

1.0 released, removing change requested

@andy31415
Copy link
Contributor

CLA seems stuck ... not sure if there is a way to kick it. I will assume CLA is signed for the purposes of merging. Still need reviews.

src/app/chip_data_model.gni Outdated Show resolved Hide resolved
src/app/chip_data_model.gni Outdated Show resolved Hide resolved
@bzbarsky-apple bzbarsky-apple merged commit e508464 into project-chip:master Jan 27, 2023
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
…ect-chip#22042)

* chip_data_model.gni: add option for custom-implemented clusters

Add `zap_clusters_with_custom_implementation` option to `chip_data_model()` template, which allows to list clusters that need to be available in a device, but don't use the standard implementation in `src/app/clusters/<clustername>/<clustername>.cpp`.

# Usage
To exclude a particular cluster's standard implementation in favor of an application level implementation:
- in the BUILD.gn file for the application specific `.zap` file
- in the instantiation of the `chip_data_model` template
- add a variable `zap_clusters_with_custom_implementation`
- assign it a list of strings with cluster names, corresponding to directories in the `src/app/clusters` directory.
- this causes the cluster implementation file(s) not to be included in the build, allowing re-implementation at the application level.

Example, excluding standard implementation of level-control:
```
chip_data_model("zap") {
  zap_file = "myproject.zap"
  zap_clusters_with_custom_implementation = [ "level-control" ]
  zap_pregenerated_dir = "//zap-generated"
}
```

# Background
Some clusters, for example Level Control, are implemented with the assumption of direct low-level access to the device hardware. For bridged devices, the actual interface might be much more high level, as in my case where I have lights which are fully capable of performing parametrized smooth transitions but are NOT capable of receiving output changes in millisecond intervals. In such cases, a cluster might need application-specific re-implementation.

This changeset allows, from the application's ZAP BUILD.gn, to exclude the standard cluster implementation file, allowing re-implementation of the needed ember callbacks in a application specific file outside the connectedhomeip repo.

* Include suggestions from @bzbarsky-apple
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.

None yet

4 participants