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

Fix incorrect return codes in door lock cluster #20433

Merged

Conversation

woody-apple
Copy link
Contributor

Problem

Change overview

  • Now door lock cluster returns generic failure instead of NOT_FOUND when working with Week Day/Year Day credentials.
  • Door lock now checks the enum ranges for Set Credential, Set User and Set Holiday Schedule commands.
  • Refactor the door lock cluster a little bit

Testing

  • Run DL_LockUnlock, DL_Schedules and DL_UsersAndCredentials tests
  • Run commands from linked issues to make sure they return appropriate error codes

* [#19622] Return generic failure instead of not found for schedule operations in the door lock

* [#19563] Check enum ranges for Door Lock commands
- Refactor the cluster, so it is consistent in way of handling commands

* Refactoring of the door lock cluster: move credential error checking into a single function, fix typos

* Fix tests for Door Lock cluster and run them against the lock app

* Update auto-generated files
@github-actions
Copy link

github-actions bot commented Jul 7, 2022

PR #20433: Size comparison from cb33c86 to a6ce628

Increases above 0.2%:

platform target config section cb33c86 a6ce628 change % change
nrfconnect all-clusters-app nrf52840dk_nrf52840 rodata 141376 141776 400 0.3
Increases (14 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, mbed, nrfconnect, p6)
platform target config section cb33c86 a6ce628 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 665443 665651 208 0.0
.text 577060 577268 208 0.0
lock-ftd LP_CC2652R7 (read only) 668343 668551 208 0.0
.text 591656 591864 208 0.0
lock-mtd LP_CC2652R7 (read only) 617759 617959 200 0.0
.text 541184 541384 200 0.0
pump-controller-app LP_CC2652R7 (read only) 663519 663527 8 0.0
.text 578744 578752 8 0.0
shell LP_CC2652R7 (read only) 657942 658150 208 0.0
.text 572780 572988 208 0.0
cyw30739 lock cyw930739m2evb_01 (read/write) 584862 585070 208 0.0
.app_xip_area 458896 459104 208 0.0
efr32 lock-app BRD4161A+wf200 (read/write) 1127288 1127960 672 0.1
.text 981020 981692 672 0.1
esp32 all-clusters-app c3devkit (read only) 1019368 1019474 106 0.0
(read/write) 1485050 1485458 408 0.0
.flash.rodata 214936 215344 408 0.2
.flash.text 1019368 1019474 106 0.0
m5stack (read only) 1073243 1073383 140 0.0
(read/write) 487136 487536 400 0.1
.flash.rodata 245396 245796 400 0.2
.flash.text 1067859 1067999 140 0.0
k32w lock k32w061+release (read/write) 684788 684964 176 0.0
.text 607004 607180 176 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2447400 2447488 88 0.0
.text 1410044 1410132 88 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1173807 1174495 688 0.1
rodata 141376 141776 400 0.3
text 810640 810916 276 0.0
p6 all-clusters-app default (read/write) 2563088 2563896 808 0.0
.text 1521352 1522160 808 0.1
lock-app default (read/write) 2465672 2466496 824 0.0
.text 1423936 1424760 824 0.1
Decreases (7 builds for cc13x2_26x2, linux, telink)
platform target config section cb33c86 a6ce628 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 185780 185572 -208 -0.1
lock-ftd LP_CC2652R7 (read/write) 173024 172816 -208 -0.1
pump-controller-app LP_CC2652R7 (read/write) 178816 178808 -8 -0.0
shell LP_CC2652R7 (read/write) 188784 188576 -208 -0.1
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9971956 9971940 -16 -0.0
.rodata 475572 475556 -16 -0.0
telink light-switch-app tlsr9518adk80d (read/write) 796636 796628 -8 -0.0
text 565130 565128 -2 -0.0
lighting-app tlsr9518adk80d text 581454 581452 -2 -0.0
Full report (30 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section cb33c86 a6ce628 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 665443 665651 208 0.0
(read/write) 185780 185572 -208 -0.1
.bss 74116 74116 0 0.0
.data 3356 3356 0 0.0
.rodata 88067 88067 0 0.0
.text 577060 577268 208 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 631443 631443 0 0.0
(read/write) 157684 157684 0 0.0
.bss 73412 73412 0 0.0
.data 3356 3356 0 0.0
.rodata 77307 77307 0 0.0
.text 553812 553812 0 0.0
lock-ftd LP_CC2652R7 (read only) 668343 668551 208 0.0
(read/write) 173024 172816 -208 -0.1
.bss 71148 71148 0 0.0
.data 3280 3280 0 0.0
.rodata 76207 76207 0 0.0
.text 591656 591864 208 0.0
lock-mtd LP_CC2652R7 (read only) 617759 617959 200 0.0
(read/write) 144264 144264 0 0.0
.bss 66868 66868 0 0.0
.data 3280 3280 0 0.0
.rodata 76087 76087 0 0.0
.text 541184 541384 200 0.0
pump-app LP_CC2652R7 (read only) 677703 677703 0 0.0
(read/write) 164512 164512 0 0.0
.bss 71228 71228 0 0.0
.data 3280 3280 0 0.0
.rodata 88431 88431 0 0.0
.text 588788 588788 0 0.0
pump-controller-app LP_CC2652R7 (read only) 663519 663527 8 0.0
(read/write) 178816 178808 -8 -0.0
.bss 71348 71348 0 0.0
.data 3276 3276 0 0.0
.rodata 84295 84295 0 0.0
.text 578744 578752 8 0.0
shell LP_CC2652R7 (read only) 657942 658150 208 0.0
(read/write) 188784 188576 -208 -0.1
.bss 76420 76420 0 0.0
.data 3360 3360 0 0.0
.rodata 84846 84846 0 0.0
.text 572780 572988 208 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 579134 579134 0 0.0
.app_xip_area 457904 457904 0 0.0
.bss 64184 64184 0 0.0
.data 716 716 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 584862 585070 208 0.0
.app_xip_area 458896 459104 208 0.0
.bss 68912 68912 0 0.0
.data 720 720 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 582206 582206 0 0.0
.app_xip_area 461824 461824 0 0.0
.bss 63392 63392 0 0.0
.data 660 660 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read/write) 1080652 1080652 0 0.0
.bss 132996 132996 0 0.0
.data 2048 2048 0 0.0
.text 945588 945588 0 0.0
BRD4161A+rpc (read only) 983040 983040 0 0.0
(read/write) 151948 151948 0 0.0
.bss 149676 149676 0 0.0
.data 2260 2260 0 0.0
.text 983032 983032 0 0.0
BRD4161A+rs911x (read/write) 946756 946756 0 0.0
.bss 140768 140768 0 0.0
.data 2048 2048 0 0.0
.text 803920 803920 0 0.0
lock-app BRD4161A+wf200 (read/write) 1127288 1127960 672 0.1
.bss 144184 144184 0 0.0
.data 2060 2060 0 0.0
.text 981020 981692 672 0.1
window-app BRD4161A (read/write) 1074436 1074436 0 0.0
.bss 134468 134468 0 0.0
.data 2076 2076 0 0.0
.text 937868 937868 0 0.0
esp32 all-clusters-app c3devkit (read only) 1019368 1019474 106 0.0
(read/write) 1485050 1485458 408 0.0
.dram0.bss 70080 70080 0 0.0
.dram0.data 14600 14600 0 0.0
.flash.rodata 214936 215344 408 0.2
.flash.text 1019368 1019474 106 0.0
.iram0.text 62902 62902 0 0.0
m5stack (read only) 1073243 1073383 140 0.0
(read/write) 487136 487536 400 0.1
.dram0.bss 75600 75600 0 0.0
.dram0.data 34144 34144 0 0.0
.flash.rodata 245396 245796 400 0.2
.flash.text 1067859 1067999 140 0.0
.iram0.text 123267 123267 0 0.0
k32w light k32w061+release (read/write) 658192 658192 0 0.0
.bss 69516 69516 0 0.0
.data 1992 1992 0 0.0
.text 580884 580884 0 0.0
lock k32w061+release (read/write) 684788 684964 176 0.0
.bss 69980 69980 0 0.0
.data 2004 2004 0 0.0
.text 607004 607180 176 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 9971956 9971940 -16 -0.0
(read/write) 680689 680689 0 0.0
.bss 42609 42609 0 0.0
.data 1152 1152 0 0.0
.data.rel.ro 619624 619624 0 0.0
.dynamic 528 528 0 0.0
.got 13488 13488 0 0.0
.init 24 24 0 0.0
.init_array 192 192 0 0.0
.rodata 475572 475556 -16 -0.0
.text 7944804 7944804 0 0.0
thermostat-no-ble arm64 (read only) 2592644 2592644 0 0.0
(read/write) 158289 158289 0 0.0
.bss 65249 65249 0 0.0
.data 1704 1704 0 0.0
.data.rel.ro 83240 83240 0 0.0
.dynamic 528 528 0 0.0
.got 5072 5072 0 0.0
.init 24 24 0 0.0
.init_array 400 400 0 0.0
.rodata 165348 165348 0 0.0
.text 2187520 2187520 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2447400 2447488 88 0.0
.bss 213940 213940 0 0.0
.data 5872 5872 0 0.0
.text 1410044 1410132 88 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1173807 1174495 688 0.1
bss 142900 142900 0 0.0
rodata 141376 141776 400 0.3
text 810640 810916 276 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1154691 1154691 0 0.0
bss 142136 142136 0 0.0
rodata 133308 133308 0 0.0
text 800360 800360 0 0.0
p6 all-clusters-app default (read/write) 2563088 2563896 808 0.0
.bss 149120 149120 0 0.0
.data 2776 2776 0 0.0
.text 1521352 1522160 808 0.1
all-clusters-minimal-app default (read/write) 2508952 2508952 0 0.0
.bss 148400 148400 0 0.0
.data 2776 2776 0 0.0
.text 1467216 1467216 0 0.0
light-app default (read/write) 2439240 2439240 0 0.0
.bss 140456 140456 0 0.0
.data 2592 2592 0 0.0
.text 1397504 1397504 0 0.0
lock-app default (read/write) 2465672 2466496 824 0.0
.bss 140304 140304 0 0.0
.data 2600 2600 0 0.0
.text 1423936 1424760 824 0.1
telink light-switch-app tlsr9518adk80d (read/write) 796636 796628 -8 -0.0
bss 70576 70576 0 0.0
noinit 40416 40416 0 0.0
text 565130 565128 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 816464 816464 0 0.0
bss 71420 71420 0 0.0
noinit 40416 40416 0 0.0
text 581454 581452 -2 -0.0

@andy31415 andy31415 merged commit 0f0ddcf into sve Jul 7, 2022
@andy31415 andy31415 deleted the cherry-pick-acbe9cdba654d86aba735ce63dd38a1f0b49435a branch July 7, 2022 16:05
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.

3 participants