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

Update/Add Level control features based on lastest cluster revision #13133

Closed
wants to merge 12 commits into from

Conversation

jmartinez-silabs
Copy link
Member

Problem

Some level control lighting behaviours were disable by ember and zll non existant defines

Change overview

  • Add runtime attribute metadata checks to validate that the needed attributes exist for that feature. Replace the #ifdef gates to compile that code by default, but still allow toggling it off by defining the right IGNORE_LEVEL_CONTROL_XXX defines
  • Enable Feature map for level control and update cluster revision
  • Fix min and max Level usage considering enabled attributes and level control feature map
  • Add behaviour tied with lighting and on off commands
  • Enable in the level control tests cluster revision and featuremap and update values
  • Change current level and Start up current level to NVM storage to support the startup Level functionnality.
  • Update yaml level control test to support both lighting vs other device type minimal Level values.

Testing

Test suite TC_LVL_1_1 to 5_1

  • Manual testing with chip-tool and lighting app on efr32

…unused defines. Add runtime attribute metadata checks to validate that the need attributes exist for that code. Replace the #ifdef gates to compiled that code by default but still allow toggling it off by defining the right IGNORE_LEVEL_CONTROL_XXX defines
…h level controll ligthing feature

Set max Level to 254 for all

Set CurrentLevel And StatUpCurrentLevel to NVM storage to support Start up current level behaviour
…e startup functionnality. Update yaml lvl control test support lighting device using a minimum level of 1 instead of 0
@github-actions
Copy link

github-actions bot commented Dec 17, 2021

PR #13133: Size comparison from 7283e3a to 2ade6b4

Increases above 0.2%:

platform target config section 7283e3a 2ade6b4 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
.text 818204 820332 2128 0.3
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.text 564660 566680 2020 0.4
p6 all-clusters-app default .data 2544 2552 8 0.3
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
text 580500 582666 2166 0.4
Increases (14 builds for efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 7283e3a 2ade6b4 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
(read/write) 127360 127368 8 0.0
.bss 125480 125488 8 0.0
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
(read/write) 144024 144032 8 0.0
.bss 142048 142056 8 0.0
.text 818204 820332 2128 0.3
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.bss 76488 76496 8 0.0
.text 564660 566680 2020 0.4
lock k32w061+release (read/write) 633568 633760 192 0.0
.text 549700 549892 192 0.0
linux chip-tool-ipv6only arm64 (read only) 6977548 6981756 4208 0.1
(read/write) 325601 325777 176 0.1
.data.rel.ro 209704 209800 96 0.0
.got 56504 56584 80 0.1
.rodata 383540 383748 208 0.1
.text 5902212 5905780 3568 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2337920 2339944 2024 0.1
.bss 188580 188588 8 0.0
.text 1300496 1302520 2024 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330760 2332784 2024 0.1
.bss 180920 180928 8 0.0
.data 5552 5560 8 0.1
.text 1293360 1295384 2024 0.2
lock-app CY8CPROTO_062_4343W+release (read/write) 2303792 2303984 192 0.0
.text 1266392 1266584 192 0.0
p6 all-clusters-app default (read/write) 2390040 2392176 2136 0.1
.data 2544 2552 8 0.3
.text 1348304 1350440 2136 0.2
light-app default (read/write) 2325120 2327256 2136 0.1
.bss 106160 106168 8 0.0
.text 1283384 1285520 2136 0.2
lock-app default (read/write) 2297328 2297568 240 0.0
.text 1255592 1255832 240 0.0
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
(read/write) 146936 146940 4 0.0
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
lock-app qpg6105+debug (read only) 504016 504208 192 0.0
.text 498696 498888 192 0.0
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
bss 87064 87068 4 0.0
text 580500 582666 2166 0.4
Full report (19 builds for efr32, k32w, linux, mbed, p6, qpg, telink)
platform target config section 7283e3a 2ade6b4 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
(read/write) 127360 127368 8 0.0
.bss 125480 125488 8 0.0
.data 1876 1876 0 0.0
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
(read/write) 144024 144032 8 0.0
.bss 142048 142056 8 0.0
.data 1976 1976 0 0.0
.text 818204 820332 2128 0.3
window-app BRD4161A (read only) 803960 803960 0 0.0
(read/write) 126296 126296 0 0.0
.bss 124464 124464 0 0.0
.data 1832 1832 0 0.0
.text 803952 803952 0 0.0
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.bss 76488 76496 8 0.0
.data 1904 1904 0 0.0
.text 564660 566680 2020 0.4
lock k32w061+release (read/write) 633568 633760 192 0.0
.bss 76208 76208 0 0.0
.data 1860 1860 0 0.0
.text 549700 549892 192 0.0
linux chip-tool-ipv6only arm64 (read only) 6977548 6981756 4208 0.1
(read/write) 325601 325777 176 0.1
.bss 54593 54593 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209704 209800 96 0.0
.dynamic 560 560 0 0.0
.got 56504 56584 80 0.1
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383540 383748 208 0.1
.text 5902212 5905780 3568 0.1
thermostat-no-ble arm64 (read only) 2006052 2006052 0 0.0
(read/write) 144065 144065 0 0.0
.bss 64353 64353 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72088 72088 0 0.0
.dynamic 560 560 0 0.0
.got 3840 3840 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128356 128356 0 0.0
.text 1666032 1666032 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2337920 2339944 2024 0.1
.bss 188580 188588 8 0.0
.data 5264 5264 0 0.0
.text 1300496 1302520 2024 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330760 2332784 2024 0.1
.bss 180920 180928 8 0.0
.data 5552 5560 8 0.1
.text 1293360 1295384 2024 0.2
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303792 2303984 192 0.0
.bss 179968 179968 0 0.0
.data 5544 5544 0 0.0
.text 1266392 1266584 192 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053688 2053688 0 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016288 1016288 0 0.0
p6 all-clusters-app default (read/write) 2390040 2392176 2136 0.1
.bss 116780 116780 0 0.0
.data 2544 2552 8 0.3
.text 1348304 1350440 2136 0.2
light-app default (read/write) 2325120 2327256 2136 0.1
.bss 106160 106168 8 0.0
.data 2384 2384 0 0.0
.text 1283384 1285520 2136 0.2
lock-app default (read/write) 2297328 2297568 240 0.0
.bss 105040 105040 0 0.0
.data 2336 2336 0 0.0
.text 1255592 1255832 240 0.0
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
(read/write) 146936 146940 4 0.0
.bss 86824 86824 0 0.0
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
lock-app qpg6105+debug (read only) 504016 504208 192 0.0
(read/write) 146940 146940 0 0.0
.bss 85960 85960 0 0.0
.data 952 952 0 0.0
.text 498696 498888 192 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
bss 87064 87068 4 0.0
noinit 37160 37160 0 0.0
text 580500 582666 2166 0.4

@github-actions
Copy link

github-actions bot commented Dec 17, 2021

PR #13133: Size comparison from 7283e3a to a7157d3

Increases above 0.2%:

platform target config section 7283e3a a7157d3 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
.text 818204 820332 2128 0.3
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.text 564660 566680 2020 0.4
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936111 938163 2052 0.2
text 632008 633892 1884 0.3
nrf52840dk_nrf52840+rpc (read/write) 922479 924563 2084 0.2
text 627320 629204 1884 0.3
nrf5340dk_nrf5340_cpuapp (read/write) 859842 861894 2052 0.2
text 559452 561340 1888 0.3
pump-app nrf52840dk_nrf52840 text 611072 612636 1564 0.3
p6 all-clusters-app default .data 2544 2552 8 0.3
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
text 580500 582666 2166 0.4
Increases (20 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7283e3a a7157d3 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
(read/write) 127360 127368 8 0.0
.bss 125480 125488 8 0.0
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
(read/write) 144024 144032 8 0.0
.bss 142048 142056 8 0.0
.text 818204 820332 2128 0.3
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.bss 76488 76496 8 0.0
.text 564660 566680 2020 0.4
lock k32w061+release (read/write) 633568 633760 192 0.0
.text 549700 549892 192 0.0
linux chip-tool-ipv6only arm64 (read only) 6977548 6982636 5088 0.1
(read/write) 325601 325793 192 0.1
.data.rel.ro 209704 209800 96 0.0
.got 56504 56600 96 0.2
.rodata 383540 383908 368 0.1
.text 5902212 5906452 4240 0.1
mbed all-clusters-app CY8CPROTO_062_4343W+release (read/write) 2337920 2339944 2024 0.1
.bss 188580 188588 8 0.0
.text 1300496 1302520 2024 0.2
lighting-app CY8CPROTO_062_4343W+release (read/write) 2330760 2332784 2024 0.1
.bss 180920 180928 8 0.0
.data 5552 5560 8 0.1
.text 1293360 1295384 2024 0.2
lock-app CY8CPROTO_062_4343W+release (read/write) 2303792 2303984 192 0.0
.text 1266392 1266584 192 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936111 938163 2052 0.2
bss 118408 118416 8 0.0
rodata 108124 108288 164 0.2
text 632008 633892 1884 0.3
nrf52840dk_nrf52840+rpc (read/write) 922479 924563 2084 0.2
bss 115452 115460 8 0.0
rodata 101540 101704 164 0.2
text 627320 629204 1884 0.3
nrf5340dk_nrf5340_cpuapp (read/write) 859842 861894 2052 0.2
bss 116692 116696 4 0.0
rodata 103048 103212 164 0.2
text 559452 561340 1888 0.3
lock-app nrf52840dk_nrf52840 (read/write) 908223 908431 208 0.0
text 609836 610036 200 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 832186 832378 192 0.0
text 537316 537520 204 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909519 911235 1716 0.2
bss 117356 117360 4 0.0
rodata 103644 103792 148 0.1
text 611072 612636 1564 0.3
p6 all-clusters-app default (read/write) 2390040 2392176 2136 0.1
.data 2544 2552 8 0.3
.text 1348304 1350440 2136 0.2
light-app default (read/write) 2325120 2327256 2136 0.1
.bss 106160 106168 8 0.0
.text 1283384 1285520 2136 0.2
lock-app default (read/write) 2297328 2297568 240 0.0
.text 1255592 1255832 240 0.0
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
(read/write) 146936 146940 4 0.0
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
lock-app qpg6105+debug (read only) 504016 504208 192 0.0
.text 498696 498888 192 0.0
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
bss 87064 87068 4 0.0
text 580500 582666 2166 0.4
Full report (29 builds for efr32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 7283e3a a7157d3 change % change
efr32 lighting-app BRD4161A (read only) 830584 832712 2128 0.3
(read/write) 127360 127368 8 0.0
.bss 125480 125488 8 0.0
.data 1876 1876 0 0.0
.text 830576 832704 2128 0.3
BRD4161A+rpc (read only) 818212 820340 2128 0.3
(read/write) 144024 144032 8 0.0
.bss 142048 142056 8 0.0
.data 1976 1976 0 0.0
.text 818204 820332 2128 0.3
window-app BRD4161A (read only) 803960 803960 0 0.0
(read/write) 126296 126296 0 0.0
.bss 124464 124464 0 0.0
.data 1832 1832 0 0.0
.text 803952 803952 0 0.0
k32w light k32w061+release (read/write) 648852 650880 2028 0.3
.bss 76488 76496 8 0.0
.data 1904 1904 0 0.0
.text 564660 566680 2020 0.4
lock k32w061+release (read/write) 633568 633760 192 0.0
.bss 76208 76208 0 0.0
.data 1860 1860 0 0.0
.text 549700 549892 192 0.0
linux chip-tool-ipv6only arm64 (read only) 6977548 6982636 5088 0.1
(read/write) 325601 325793 192 0.1
.bss 54593 54593 0 0.0
.data 1096 1096 0 0.0
.data.rel.ro 209704 209800 96 0.0
.dynamic 560 560 0 0.0
.got 56504 56600 96 0.2
.init 24 24 0 0.0
.init_array 168 168 0 0.0
.rodata 383540 383908 368 0.1
.text 5902212 5906452 4240 0.1
thermostat-no-ble arm64 (read only) 2006052 2006052 0 0.0
(read/write) 144065 144065 0 0.0
.bss 64353 64353 0 0.0
.data 880 880 0 0.0
.data.rel.ro 72088 72088 0 0.0
.dynamic 560 560 0 0.0
.got 3840 3840 0 0.0
.init 24 24 0 0.0
.init_array 296 296 0 0.0
.rodata 128356 128356 0 0.0
.text 1666032 1666032 0 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2337920 2339944 2024 0.1
.bss 188580 188588 8 0.0
.data 5264 5264 0 0.0
.text 1300496 1302520 2024 0.2
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2330760 2332784 2024 0.1
.bss 180920 180928 8 0.0
.data 5552 5560 8 0.1
.text 1293360 1295384 2024 0.2
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2303792 2303984 192 0.0
.bss 179968 179968 0 0.0
.data 5544 5544 0 0.0
.text 1266392 1266584 192 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1140008 1140008 0 0.0
.bss 11756 11756 0 0.0
.data 4368 4368 0 0.0
.text 103392 103392 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2053688 2053688 0 0.0
.bss 156972 156972 0 0.0
.data 4864 4864 0 0.0
.text 1016288 1016288 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 936111 938163 2052 0.2
bss 118408 118416 8 0.0
rodata 108124 108288 164 0.2
text 632008 633892 1884 0.3
nrf52840dk_nrf52840+rpc (read/write) 922479 924563 2084 0.2
bss 115452 115460 8 0.0
rodata 101540 101704 164 0.2
text 627320 629204 1884 0.3
nrf5340dk_nrf5340_cpuapp (read/write) 859842 861894 2052 0.2
bss 116692 116696 4 0.0
rodata 103048 103212 164 0.2
text 559452 561340 1888 0.3
lock-app nrf52840dk_nrf52840 (read/write) 908223 908431 208 0.0
bss 117596 117596 0 0.0
rodata 103428 103428 0 0.0
text 609836 610036 200 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 832186 832378 192 0.0
bss 115908 115908 0 0.0
rodata 98392 98392 0 0.0
text 537316 537520 204 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 542351 542351 0 0.0
bss 52588 52588 0 0.0
rodata 50668 50668 0 0.0
text 376892 376892 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 909519 911235 1716 0.2
bss 117356 117360 4 0.0
rodata 103644 103792 148 0.1
text 611072 612636 1564 0.3
pump-controller-app nrf52840dk_nrf52840 (read/write) 906335 906335 0 0.0
bss 117384 117384 0 0.0
rodata 102900 102900 0 0.0
text 608584 608584 0 0.0
shell nrf52840dk_nrf52840 (read/write) 796079 796079 0 0.0
bss 109464 109464 0 0.0
rodata 78096 78096 0 0.0
text 532048 532048 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 708710 708710 0 0.0
bss 107352 107352 0 0.0
rodata 72396 72396 0 0.0
text 449544 449544 0 0.0
p6 all-clusters-app default (read/write) 2390040 2392176 2136 0.1
.bss 116780 116780 0 0.0
.data 2544 2552 8 0.3
.text 1348304 1350440 2136 0.2
light-app default (read/write) 2325120 2327256 2136 0.1
.bss 106160 106168 8 0.0
.data 2384 2384 0 0.0
.text 1283384 1285520 2136 0.2
lock-app default (read/write) 2297328 2297568 240 0.0
.bss 105040 105040 0 0.0
.data 2336 2336 0 0.0
.text 1255592 1255832 240 0.0
qpg lighting-app qpg6105+debug (read only) 532352 534372 2020 0.4
(read/write) 146936 146940 4 0.0
.bss 86824 86824 0 0.0
.data 1004 1008 4 0.4
.text 527032 529052 2020 0.4
lock-app qpg6105+debug (read only) 504016 504208 192 0.0
(read/write) 146940 146940 0 0.0
.bss 85960 85960 0 0.0
.data 952 952 0 0.0
.text 498696 498888 192 0.0
persistent-storage-app qpg6105+debug (read only) 106448 106448 0 0.0
(read/write) 146938 146938 0 0.0
.bss 36146 36146 0 0.0
.data 288 288 0 0.0
.text 101128 101128 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 832370 834702 2332 0.3
bss 87064 87068 4 0.0
noinit 37160 37160 0 0.0
text 580500 582666 2166 0.4

@jmartinez-silabs jmartinez-silabs changed the title Update/Add Level control features based lastest cluster revision Update/Add Level control features based on lastest cluster revision Dec 17, 2021
Comment on lines -56 to +57
#endif // EMBER_AF_PLUGIN_SCENES
#endif
Copy link
Contributor

@bzbarsky-apple bzbarsky-apple Dec 18, 2021

Choose a reason for hiding this comment

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

Please leave the labels on #endif that indicate what it's for; otherwise it can get very confusing which #if is being ended....

@@ -409,7 +409,7 @@ bool emberAfLevelControlClusterMoveToLevelCallback(app::CommandHandler * command

emberAfLevelControlClusterPrintln("%pMOVE_TO_LEVEL %x %2x %x %x", "RX level-control:", level, transitionTime, optionMask,
optionOverride);
moveToLevelHandler(Commands::MoveToLevel::Id, level, transitionTime, optionMask, optionOverride,
moveToLevelHandler(emberAfCurrentEndpoint(), Commands::MoveToLevel::Id, level, transitionTime, optionMask, optionOverride,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
moveToLevelHandler(emberAfCurrentEndpoint(), Commands::MoveToLevel::Id, level, transitionTime, optionMask, optionOverride,
moveToLevelHandler(commandPath.mEndpointId, Commands::MoveToLevel::Id, level, transitionTime, optionMask, optionOverride,

and similar in other places in this PR.


if (resolvedLevel == 0xFF)
if (resolvedLevel.Value() == 0xFF)
Copy link
Contributor

Choose a reason for hiding this comment

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

This is never going to be true, actually.

What can be true is that resolvedLevel.IsNull() is true, in which case this .Value() call is going to crash.

What this should probably look more like is:

    if (resolvedLevel.IsNull()) {
        resolvedLevel.SetNonNull(temporaryCurrentLevelCache);
    }

}
#else
resolvedLevel = temporaryCurrentLevelCache;
resolvedLevel.Value() = temporaryCurrentLevelCache;
Copy link
Contributor

Choose a reason for hiding this comment

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

Was this codepath tested? I would expect this to crash.... This should be using SetNonNull as above.

Copy link
Member Author

Choose a reason for hiding this comment

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

You are right, I missed that code path. In both all cluster app and lighting app the attribute OnLevel is defined and used

I'll fix that

#ifdef ZCL_USING_LEVEL_CONTROL_CLUSTER_START_UP_CURRENT_LEVEL_ATTRIBUTE
// StartUp behavior relies StartUpCurrentLevel attributes being tokenized.
if (areStartUpLevelControlServerAttributesTokenized(endpoint))
// If Those read only attribute are enabled we use those values as our set minLevel and maxLevel
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
// If Those read only attribute are enabled we use those values as our set minLevel and maxLevel
// If these read only attributes are enabled we use those values as our set minLevel and maxLevel

@@ -556,4 +556,9 @@ limitations under the License.
<attribute side="server" code="0x006F" define="STATUS_FLAGS" type="BITMAP8" min="0x00" max="0x0F" writable="false" default="0x00" reportable="true" optional="false">status flags</attribute>
<attribute side="server" code="0x0100" define="APPLICATION_TYPE" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" optional="true">application type</attribute>
</cluster>
<bitmap name="LevelControlFeature" type="BITMAP32">
<field name="OnOff" mask="0x1"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

Should have a <cluster> tag here with the right code="..." bit so it will actually be attached to this cluster and codegen for it will happen properly.

Copy link
Member Author

Choose a reason for hiding this comment

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

I actually took examples on other bitmap for the featuremaps of other clusters that are done and they are never wrapped by a cluster tag. I believe I did put it in inside the cluster the first time while working on it and it wasn't generated correctly.

Any ideas? I will give it another try

Copy link
Contributor

Choose a reason for hiding this comment

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

Not wrapped in a cluster tag. You want:

  <bitmap name="LevelControlFeature" type="BITMAP32">
      <cluster code="0x0008"/>
      <field name="OnOff" mask="0x1"/>
      etc

all outside the <cluster> tag that defines the cluster

@stale
Copy link

stale bot commented Dec 27, 2021

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 Dec 27, 2021
@stale
Copy link

stale bot commented Jan 3, 2022

This stale pull request has been automatically closed. Thank you for your contributions.

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.

2 participants