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

[app] Implement deferred attribute persister #23366

Merged
merged 3 commits into from
Nov 5, 2022

Conversation

Damian-Nordic
Copy link
Contributor

Fast-changing attributes with NVM storage, such as CurrentLevel of the LevelControl cluster, may result in rapid flash wearout using the default attribute persister which stores all values immediately.
Implement a helper adapter class for the attribute persistence interface to defer writes of selected attributes.

Use the new class in nRF Connect lighting-app for verification.
Fixes #23222.

@github-actions
Copy link

github-actions bot commented Nov 2, 2022

PR #23366: Size comparison from 50ac33d to f4b0186

Increases (13 builds for bl602, bl702, cc13x2_26x2, nrfconnect, psoc6)
platform target config section 50ac33d f4b0186 change % change
bl602 lighting-app bl602+rpc .text 1101414 1101416 2 0.0
bl702 lighting-app bl702 .debug_info 37964827 37965286 459 0.0
.debug_line 5257208 5257212 4 0.0
.debug_str 3451542 3451563 21 0.0
.text 957778 957782 4 0.0
bl702+rpc .debug_info 41877795 41878292 497 0.0
.debug_line 5632788 5632792 4 0.0
.debug_str 3847670 3847691 21 0.0
.text 1031484 1031488 4 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 173688 173696 8 0.0
lock-ftd LP_CC2652R7 (read/write) 172316 172332 16 0.0
pump-app LP_CC2652R7 (read/write) 160796 160812 16 0.0
nrfconnect lighting-app nrf52840dk_nrf52840+rpc (read/write) 1148683 1149187 504 0.0
bss 148037 148089 52 0.0
rodata 117120 117144 24 0.0
text 801174 801650 476 0.1
nrf52840dongle_nrf52840 (read/write) 1086123 1086627 504 0.0
bss 154298 154350 52 0.0
rodata 94792 94816 24 0.0
text 752658 753138 480 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 1080386 1080890 504 0.0
bss 142980 143032 52 0.0
rodata 118340 118364 24 0.0
text 735954 736430 476 0.1
psoc6 all-clusters cy8ckit_062s2_43012 .debug_frame 371204 371220 16 0.0
.debug_info 26899490 26899944 454 0.0
.debug_line 3673871 3673879 8 0.0
.debug_str 3435299 3435320 21 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_frame 374284 374300 16 0.0
.debug_info 26636120 26636573 453 0.0
.debug_line 3694663 3694671 8 0.0
.debug_str 3424320 3424341 21 0.0
light cy8ckit_062s2_43012 .debug_frame 344600 344616 16 0.0
.debug_info 22097475 22097889 414 0.0
.debug_line 3264197 3264205 8 0.0
.debug_str 3229759 3229780 21 0.0
lock cy8ckit_062s2_43012 .debug_frame 346472 346488 16 0.0
.debug_info 22330841 22331295 454 0.0
.debug_line 3261187 3261195 8 0.0
.debug_str 3249234 3249255 21 0.0
Decreases (29 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, nrfconnect, psoc6, telink)
platform target config section 50ac33d f4b0186 change % change
bl602 lighting-app bl602 .text 1069812 1069810 -2 -0.0
bl702 lighting-app bl702 .debug_loc 3366388 3366330 -58 -0.0
.strtab 565954 565926 -28 -0.0
bl702+rpc .debug_loc 3559215 3559157 -58 -0.0
.strtab 625127 625099 -28 -0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 677871 677863 -8 -0.0
.text 587672 587664 -8 -0.0
lock-ftd LP_CC2652R7 (read only) 676379 676363 -16 -0.0
.text 598488 598472 -16 -0.0
pump-app LP_CC2652R7 (read only) 688635 688619 -16 -0.0
.text 597292 597276 -16 -0.0
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 544482 544474 -8 -0.0
.app_xip_area 426148 426140 -8 -0.0
efr32 lighting-app BRD4161A+rs911x (read/write) 1034672 1034656 -16 -0.0
.text 845812 845796 -16 -0.0
BRD4187C (read/write) 1146720 1146712 -8 -0.0
.text 980864 980856 -8 -0.0
window-app BRD4187C (read/write) 1139940 1139932 -8 -0.0
.text 972644 972636 -8 -0.0
esp32 all-clusters-app c3devkit (read only) 1223972 1223970 -2 -0.0
.flash.text 1223972 1223970 -2 -0.0
m5stack (read/write) 564404 564396 -8 -0.0
.flash.rodata 315104 315096 -8 -0.0
k32w light k32w0+release (read/write) 672008 671992 -16 -0.0
.text 592380 592364 -16 -0.0
lock k32w0+release (read/write) 633484 633468 -16 -0.0
.text 553076 553060 -16 -0.0
linux chip-tool-ipv6only arm64 (read only) 10436348 10436332 -16 -0.0
.text 8262292 8262276 -16 -0.0
thermostat-no-ble arm64 (read only) 2392844 2392828 -16 -0.0
.text 2005296 2005280 -16 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 text 816996 816992 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 text 805334 805326 -8 -0.0
light-switch-app nrf52840dk_nrf52840 text 760432 760428 -4 -0.0
lock-app nrf52840dk_nrf52840 text 771640 771636 -4 -0.0
nrf5340dk_nrf5340_cpuapp text 683826 683822 -4 -0.0
pump-app nrf52840dk_nrf52840 text 752244 752240 -4 -0.0
pump-controller-app nrf52840dk_nrf52840 text 742342 742338 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_loc 3588816 3588760 -56 -0.0
.strtab 570460 570432 -28 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_loc 3576453 3576397 -56 -0.0
.strtab 534549 534521 -28 -0.0
light cy8ckit_062s2_43012 (read/write) 1607004 1606988 -16 -0.0
.debug_loc 3274179 3274123 -56 -0.0
.strtab 470874 470846 -28 -0.0
.text 1416144 1416128 -16 -0.0
lock cy8ckit_062s2_43012 (read/write) 1640780 1640764 -16 -0.0
.debug_loc 3301773 3301702 -71 -0.0
.strtab 473277 473249 -28 -0.0
.text 1444928 1444912 -16 -0.0
telink light-switch-app tlsr9518adk80d text 554266 554264 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 806068 806060 -8 -0.0
text 566414 566412 -2 -0.0
Full report (46 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 50ac33d f4b0186 change % change
bl602 lighting-app bl602 (read/write) 1390518 1390518 0 0.0
.bss 90745 90745 0 0.0
.data 9936 9936 0 0.0
.text 1069812 1069810 -2 -0.0
bl602+rpc (read/write) 1435974 1435974 0 0.0
.bss 98177 98177 0 0.0
.data 10320 10320 0 0.0
.text 1101414 1101416 2 0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1189323 1189323 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67134 67134 0 0.0
.bss_psram 29696 29696 0 0.0
.comment 48 48 0 0.0
.data 4280 4280 0 0.0
.debug_abbrev 1509373 1509373 0 0.0
.debug_aranges 132040 132040 0 0.0
.debug_frame 484428 484428 0 0.0
.debug_info 37964827 37965286 459 0.0
.debug_line 5257208 5257212 4 0.0
.debug_loc 3366388 3366330 -58 -0.0
.debug_ranges 358064 358064 0 0.0
.debug_str 3451542 3451563 21 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 116616 116616 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 565954 565926 -28 -0.0
.symtab 171968 171968 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
957778 957782 4 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1285251 1285251 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75166 75166 0 0.0
.bss_psram 29936 29936 0 0.0
.comment 48 48 0 0.0
.data 4816 4816 0 0.0
.debug_abbrev 1646772 1646772 0 0.0
.debug_aranges 139544 139544 0 0.0
.debug_frame 509800 509800 0 0.0
.debug_info 41877795 41878292 497 0.0
.debug_line 5632788 5632792 4 0.0
.debug_loc 3559215 3559157 -58 -0.0
.debug_ranges 380864 380864 0 0.0
.debug_str 3847670 3847691 21 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 130024 130024 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 625127 625099 -28 -0.0
.symtab 189776 189776 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1031484 1031488 4 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 677871 677863 -8 -0.0
(read/write) 173688 173696 8 0.0
.bss 81252 81252 0 0.0
.data 3380 3380 0 0.0
.rodata 89887 89887 0 0.0
.text 587672 587664 -8 -0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 642119 642119 0 0.0
(read/write) 158020 158020 0 0.0
.bss 80524 80524 0 0.0
.data 3380 3380 0 0.0
.rodata 79023 79023 0 0.0
.text 562776 562776 0 0.0
lock-ftd LP_CC2652R7 (read only) 676379 676363 -16 -0.0
(read/write) 172316 172332 16 0.0
.bss 78476 78476 0 0.0
.data 3304 3304 0 0.0
.rodata 77411 77411 0 0.0
.text 598488 598472 -16 -0.0
lock-mtd LP_CC2652R7 (read only) 660167 660167 0 0.0
(read/write) 184216 184216 0 0.0
.bss 74164 74164 0 0.0
.data 3304 3304 0 0.0
.rodata 103263 103263 0 0.0
.text 556424 556424 0 0.0
pump-app LP_CC2652R7 (read only) 688635 688619 -16 -0.0
(read/write) 160796 160812 16 0.0
.bss 78444 78444 0 0.0
.data 3296 3296 0 0.0
.rodata 90859 90859 0 0.0
.text 597292 597276 -16 -0.0
pump-controller-app LP_CC2652R7 (read only) 672911 672911 0 0.0
(read/write) 176616 176616 0 0.0
.bss 78540 78540 0 0.0
.data 3292 3292 0 0.0
.rodata 86407 86407 0 0.0
.text 586024 586024 0 0.0
shell LP_CC2652R7 (read only) 668890 668890 0 0.0
(read/write) 184988 184988 0 0.0
.bss 83572 83572 0 0.0
.data 3376 3376 0 0.0
.rodata 86594 86594 0 0.0
.text 581980 581980 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 588542 588542 0 0.0
.app_xip_area 465128 465128 0 0.0
.bss 65832 65832 0 0.0
.data 760 760 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592590 592590 0 0.0
.app_xip_area 463880 463880 0 0.0
.bss 71120 71120 0 0.0
.data 768 768 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 544482 544474 -8 -0.0
.app_xip_area 426148 426140 -8 -0.0
.bss 60800 60800 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+rpc (read/write) 974732 974732 0 0.0
.bss 152276 152276 0 0.0
.data 2248 2248 0 0.0
.text 820188 820188 0 0.0
BRD4161A+rs911x (read/write) 1034672 1034656 -16 -0.0
.bss 186744 186744 0 0.0
.data 2092 2092 0 0.0
.text 845812 845796 -16 -0.0
BRD4187C (read/write) 1146720 1146712 -8 -0.0
.bss 138664 138664 0 0.0
.data 2596 2596 0 0.0
.text 980864 980856 -8 -0.0
lock-app BRD4161A+wf200 (read/write) 1160424 1160424 0 0.0
.bss 158272 158272 0 0.0
.data 2100 2100 0 0.0
.text 1000032 1000032 0 0.0
window-app BRD4187C (read/write) 1139940 1139932 -8 -0.0
.bss 140080 140080 0 0.0
.data 2620 2620 0 0.0
.text 972644 972636 -8 -0.0
esp32 all-clusters-app c3devkit (read only) 1223972 1223970 -2 -0.0
(read/write) 1788470 1788470 0 0.0
.dram0.bss 76960 76960 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 258024 258024 0 0.0
.flash.text 1223972 1223970 -2 -0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1234039 1234039 0 0.0
(read/write) 564404 564396 -8 -0.0
.dram0.bss 82336 82336 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 315104 315096 -8 -0.0
.flash.text 1228655 1228655 0 0.0
.iram0.text 123939 123939 0 0.0
k32w contact k32w0+release (read/write) 661676 661676 0 0.0
.bss 77040 77040 0 0.0
.data 2104 2104 0 0.0
.text 563420 563420 0 0.0
light k32w0+release (read/write) 672008 671992 -16 -0.0
.bss 74840 74840 0 0.0
.data 2060 2060 0 0.0
.text 592380 592364 -16 -0.0
lock k32w0+release (read/write) 633484 633468 -16 -0.0
.bss 75600 75600 0 0.0
.data 2080 2080 0 0.0
.text 553076 553060 -16 -0.0
linux chip-tool-ipv6only arm64 (read only) 10436348 10436332 -16 -0.0
(read/write) 706465 706465 0 0.0
.bss 33953 33953 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 650720 650720 0 0.0
.dynamic 560 560 0 0.0
.got 13928 13928 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 518220 518220 0 0.0
.text 8262292 8262276 -16 -0.0
thermostat-no-ble arm64 (read only) 2392844 2392828 -16 -0.0
(read/write) 143665 143665 0 0.0
.bss 55377 55377 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77280 77280 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 144548 144548 0 0.0
.text 2005296 2005280 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452768 2452768 0 0.0
.bss 215028 215028 0 0.0
.data 5872 5872 0 0.0
.text 1415412 1415412 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1188191 1188191 0 0.0
bss 145301 145301 0 0.0
rodata 144836 144836 0 0.0
text 816996 816992 -4 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1167475 1167475 0 0.0
bss 144528 144528 0 0.0
rodata 136576 136576 0 0.0
text 805334 805326 -8 -0.0
light-switch-app nrf52840dk_nrf52840 (read/write) 1100435 1100435 0 0.0
bss 136907 136907 0 0.0
rodata 122072 122072 0 0.0
text 760432 760428 -4 -0.0
lighting-app nrf52840dk_nrf52840+rpc (read/write) 1148683 1149187 504 0.0
bss 148037 148089 52 0.0
rodata 117120 117144 24 0.0
text 801174 801650 476 0.1
nrf52840dongle_nrf52840 (read/write) 1086123 1086627 504 0.0
bss 154298 154350 52 0.0
rodata 94792 94816 24 0.0
text 752658 753138 480 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 1080386 1080890 504 0.0
bss 142980 143032 52 0.0
rodata 118340 118364 24 0.0
text 735954 736430 476 0.1
lock-app nrf52840dk_nrf52840 (read/write) 1133959 1133959 0 0.0
bss 137912 137912 0 0.0
rodata 143524 143524 0 0.0
text 771640 771636 -4 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1036614 1036614 0 0.0
bss 133797 133797 0 0.0
rodata 135928 135928 0 0.0
text 683826 683822 -4 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 1089335 1089335 0 0.0
bss 136736 136736 0 0.0
rodata 119340 119340 0 0.0
text 752244 752240 -4 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1075655 1075655 0 0.0
bss 136503 136503 0 0.0
rodata 115820 115820 0 0.0
text 742342 742338 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 0 0 0 0.0
(read only) 841952 841952 0 0.0
(read/write) 1745940 1745940 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188728 188728 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 2664 2664 0 0.0
.debug_abbrev 1231262 1231262 0 0.0
.debug_aranges 110712 110712 0 0.0
.debug_frame 371204 371220 16 0.0
.debug_info 26899490 26899944 454 0.0
.debug_line 3673871 3673879 8 0.0
.debug_loc 3588816 3588760 -56 -0.0
.debug_ranges 337960 337960 0 0.0
.debug_str 3435299 3435320 21 0.0
.heap 841952 841952 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 570460 570432 -28 -0.0
.symtab 421744 421744 0 0.0
.text 1546160 1546160 0 0.0
.zero.table 8 8 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 0 0 0 0.0
(read only) 842688 842688 0 0.0
(read/write) 1688548 1688548 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187992 187992 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 2664 2664 0 0.0
.debug_abbrev 1223105 1223105 0 0.0
.debug_aranges 110184 110184 0 0.0
.debug_frame 374284 374300 16 0.0
.debug_info 26636120 26636573 453 0.0
.debug_line 3694663 3694671 8 0.0
.debug_loc 3576453 3576397 -56 -0.0
.debug_ranges 336576 336576 0 0.0
.debug_str 3424320 3424341 21 0.0
.heap 842688 842688 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 534549 534521 -28 -0.0
.symtab 408176 408176 0 0.0
.text 1489504 1489504 0 0.0
.zero.table 8 8 0 0.0
light cy8ckit_062s2_43012 0 0 0 0.0
(read only) 850872 850872 0 0.0
(read/write) 1607004 1606988 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 180016 180016 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 2456 2456 0 0.0
.debug_abbrev 1057613 1057613 0 0.0
.debug_aranges 102384 102384 0 0.0
.debug_frame 344600 344616 16 0.0
.debug_info 22097475 22097889 414 0.0
.debug_line 3264197 3264205 8 0.0
.debug_loc 3274179 3274123 -56 -0.0
.debug_ranges 301872 301872 0 0.0
.debug_str 3229759 3229780 21 0.0
.heap 850872 850872 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 470874 470846 -28 -0.0
.symtab 376560 376560 0 0.0
.text 1416144 1416128 -16 -0.0
.zero.table 8 8 0 0.0
lock cy8ckit_062s2_43012 0 0 0 0.0
(read only) 845880 845880 0 0.0
(read/write) 1640780 1640764 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184992 184992 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 2472 2472 0 0.0
.debug_abbrev 1059619 1059619 0 0.0
.debug_aranges 102784 102784 0 0.0
.debug_frame 346472 346488 16 0.0
.debug_info 22330841 22331295 454 0.0
.debug_line 3261187 3261195 8 0.0
.debug_loc 3301773 3301702 -71 -0.0
.debug_ranges 303816 303816 0 0.0
.debug_str 3249234 3249255 21 0.0
.heap 845880 845880 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 473277 473249 -28 -0.0
.symtab 378240 378240 0 0.0
.text 1444928 1444912 -16 -0.0
.zero.table 8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1149968 1149968 0 0.0
.bss 110612 110612 0 0.0
.data 848 848 0 0.0
.text 597068 597068 0 0.0
lock-app qpg6105+debug (read/write) 1114760 1114760 0 0.0
.bss 106388 106388 0 0.0
.data 836 836 0 0.0
.text 561856 561856 0 0.0
telink light-switch-app tlsr9518adk80d (read/write) 790820 790820 0 0.0
bss 72480 72480 0 0.0
noinit 43520 43520 0 0.0
text 554266 554264 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 806068 806060 -8 -0.0
bss 73240 73240 0 0.0
noinit 43520 43520 0 0.0
text 566414 566412 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 804952 804952 0 0.0
bss 74052 74052 0 0.0
noinit 43520 43520 0 0.0
text 565286 565286 0 0.0

Copy link
Contributor

@LuDuda LuDuda left a comment

Choose a reason for hiding this comment

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

This is great 👍 Thank you.

Fast-changing attributes with NVM storage, such as
CurrentLevel of the LevelControl cluster, may result in
rapid flash wearout using the default attribute persister
which stores all values immediately.
Implement a helper adapter class for the attribute
persistence interface to defer writes of selected
attributes.

Use the new class in nRF Connect lighting-app for
verification.
@github-actions
Copy link

github-actions bot commented Nov 4, 2022

PR #23366: Size comparison from a99675e to 7d71e03

Increases (13 builds for bl702, cc13x2_26x2, esp32, nrfconnect, psoc6)
platform target config section a99675e8 7d71e03 change % change
bl702 lighting-app bl702 .debug_info 38087205 38087662 457 0.0
.debug_line 5271085 5271088 3 0.0
.debug_str 3451996 3452017 21 0.0
bl702+rpc .debug_info 42004560 42005055 495 0.0
.debug_line 5647232 5647235 3 0.0
.debug_str 3848124 3848145 21 0.0
cc13x2_26x2 lock-ftd LP_CC2652R7 (read/write) 172528 172544 16 0.0
lock-mtd LP_CC2652R7 (read/write) 184428 184444 16 0.0
esp32 all-clusters-app c3devkit (read/write) 1788518 1788526 8 0.0
.flash.rodata 258088 258096 8 0.0
m5stack (read/write) 564332 564340 8 0.0
.flash.rodata 315048 315056 8 0.0
nrfconnect lighting-app nrf52840dk_nrf52840+rpc (read/write) 1148219 1148723 504 0.0
bss 148021 148073 52 0.0
rodata 116720 116744 24 0.0
text 801118 801594 476 0.1
nrf52840dongle_nrf52840 (read/write) 1085387 1085891 504 0.0
bss 154282 154334 52 0.0
rodata 94392 94416 24 0.0
text 752318 752798 480 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 1079874 1080442 568 0.1
bss 142964 143016 52 0.0
rodata 117940 117964 24 0.0
text 735898 736378 480 0.1
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 2702594 27026401 454 0.0
.debug_line 3685828 3685829 1 0.0
.debug_str 3435719 3435740 21 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26762577 26763031 454 0.0
.debug_line 3706812 3706813 1 0.0
.debug_str 3424748 3424769 21 0.0
light cy8ckit_062s2_43012 .debug_info 22228025 2222844 415 0.0
.debug_line 3276154 3276155 1 0.0
.debug_str 3230175 3230196 21 0.0
lock cy8ckit_062s2_43012 .debug_info 22461403 22461855 452 0.0
.debug_line 3273048 3273049 1 0.0
.debug_str 3249646 3249667 21 0.0
Decreases (24 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, linux, mbed, nrfconnect, psoc6, telink)
platform target config section a99675e8 7d71e03 change % change
bl602 lighting-app bl602+rpc .text 1100364 1100362 -2 -0.0
bl702 lighting-app bl702 .debug_loc 3373269 3373212 -57 -0.0
.strtab 565774 565746 -28 -0.0
bl702+rpc .debug_loc 3566096 3566038 -58 -0.0
.strtab 624947 624919 -28 -0.0
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 676151 676135 -16 -0.0
.text 598600 598584 -16 -0.0
lock-mtd LP_CC2652R7 (read only) 659939 659923 -16 -0.0
.text 556536 556520 -16 -0.0
cyw30739 lock cyw930739m2evb_01 (read/write) 592318 592310 -8 -0.0
.app_xip_area 463624 463616 -8 -0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 544402 544394 -8 -0.0
.app_xip_area 426084 426076 -8 -0.0
efr32 lighting-app BRD4187C (read/write) 1146656 1146648 -8 -0.0
.text 980816 980808 -8 -0.0
window-app BRD4187C (read/write) 1139876 1139868 -8 -0.0
.text 972596 972588 -8 -0.0
linux thermostat-no-ble arm64 (read only) 2394748 2394732 -16 -0.0
.text 2007216 2007200 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2452224 2452160 -64 -0.0
.text 1414868 1414804 -64 -0.0
nrfconnect all-clusters-minimal-app nrf52840dk_nrf52840 text 805458 805454 -4 -0.0
light-switch-app nrf52840dk_nrf52840 text 760404 760400 -4 -0.0
lock-app nrf52840dk_nrf52840 text 771588 771584 -4 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1036166 1036150 -16 -0.0
text 683774 683766 -8 -0.0
pump-app nrf52840dk_nrf52840 text 752204 752200 -4 -0.0
pump-controller-app nrf52840dk_nrf52840 text 742302 742298 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_loc 3603682 3603616 -66 -0.0
.strtab 570280 570252 -28 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_loc 3591319 3591253 -66 -0.0
.strtab 534369 534341 -28 -0.0
light cy8ckit_062s2_43012 .debug_loc 3289030 3288964 -66 -0.0
.strtab 470694 470666 -28 -0.0
lock cy8ckit_062s2_43012 (read/write) 1640764 1640748 -16 -0.0
.debug_loc 3316624 3316558 -66 -0.0
.strtab 473097 473069 -28 -0.0
.text 1444928 1444912 -16 -0.0
telink all-clusters-app tlsr9518adk80d text 648610 648606 -4 -0.0
all-clusters-minimal-app tlsr9518adk80d text 612580 612578 -2 -0.0
lighting-app tlsr9518adk80d (read/write) 874468 874460 -8 -0.0
text 624086 624084 -2 -0.0
Full report (48 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section a99675e8 7d71e03 change % change
bl602 lighting-app bl602 (read/write) 1388990 1388990 0 0.0
.bss 90729 90729 0 0.0
.data 9936 9936 0 0.0
.text 1068758 1068758 0 0.0
bl602+rpc (read/write) 1434454 1434454 0 0.0
.bss 98161 98161 0 0.0
.data 10320 10320 0 0.0
.text 1100364 1100362 -2 -0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1188163 1188163 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67126 67126 0 0.0
.bss_psram 29696 29696 0 0.0
.comment 48 48 0 0.0
.data 4280 4280 0 0.0
.debug_abbrev 1514492 1514492 0 0.0
.debug_aranges 132064 132064 0 0.0
.debug_frame 484664 484664 0 0.0
.debug_info 38087205 38087662 457 0.0
.debug_line 5271085 5271088 3 0.0
.debug_loc 3373269 3373212 -57 -0.0
.debug_ranges 359744 359744 0 0.0
.debug_str 3451996 3452017 21 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 116168 116168 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 565774 565746 -28 -0.0
.symtab 171984 171984 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
957074 957074 0 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1284075 1284075 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75158 75158 0 0.0
.bss_psram 29936 29936 0 0.0
.comment 48 48 0 0.0
.data 4816 4816 0 0.0
.debug_abbrev 1651926 1651926 0 0.0
.debug_aranges 139568 139568 0 0.0
.debug_frame 510036 510036 0 0.0
.debug_info 42004560 42005055 495 0.0
.debug_line 5647232 5647235 3 0.0
.debug_loc 3566096 3566038 -58 -0.0
.debug_ranges 382544 382544 0 0.0
.debug_str 3848124 3848145 21 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 129560 129560 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 624947 624919 -28 -0.0
.symtab 189792 189792 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030782 1030782 0 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 677387 677387 0 0.0
(read/write) 174156 174156 0 0.0
.bss 81236 81236 0 0.0
.data 3380 3380 0 0.0
.rodata 89547 89547 0 0.0
.text 587528 587528 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 641635 641635 0 0.0
(read/write) 158004 158004 0 0.0
.bss 80508 80508 0 0.0
.data 3380 3380 0 0.0
.rodata 78683 78683 0 0.0
.text 562632 562632 0 0.0
lock-ftd LP_CC2652R7 (read only) 676151 676135 -16 -0.0
(read/write) 172528 172544 16 0.0
.bss 78460 78460 0 0.0
.data 3304 3304 0 0.0
.rodata 77071 77071 0 0.0
.text 598600 598584 -16 -0.0
lock-mtd LP_CC2652R7 (read only) 659939 659923 -16 -0.0
(read/write) 184428 184444 16 0.0
.bss 74148 74148 0 0.0
.data 3304 3304 0 0.0
.rodata 102923 102923 0 0.0
.text 556536 556520 -16 -0.0
pump-app LP_CC2652R7 (read only) 688599 688599 0 0.0
(read/write) 160816 160816 0 0.0
.bss 78428 78428 0 0.0
.data 3296 3296 0 0.0
.rodata 90559 90559 0 0.0
.text 597556 597556 0 0.0
pump-controller-app LP_CC2652R7 (read only) 672899 672899 0 0.0
(read/write) 176612 176612 0 0.0
.bss 78524 78524 0 0.0
.data 3292 3292 0 0.0
.rodata 86107 86107 0 0.0
.text 586312 586312 0 0.0
shell LP_CC2652R7 (read only) 668606 668606 0 0.0
(read/write) 185256 185256 0 0.0
.bss 83556 83556 0 0.0
.data 3376 3376 0 0.0
.rodata 86294 86294 0 0.0
.text 581996 581996 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 588270 588270 0 0.0
.app_xip_area 464872 464872 0 0.0
.bss 65816 65816 0 0.0
.data 760 760 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592318 592310 -8 -0.0
.app_xip_area 463624 463616 -8 -0.0
.bss 71104 71104 0 0.0
.data 768 768 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 544402 544394 -8 -0.0
.app_xip_area 426084 426076 -8 -0.0
.bss 60784 60784 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+rpc (read/write) 974252 974252 0 0.0
.bss 152260 152260 0 0.0
.data 2248 2248 0 0.0
.text 819724 819724 0 0.0
BRD4161A+rs911x (read/write) 1034792 1034792 0 0.0
.bss 186728 186728 0 0.0
.data 2092 2092 0 0.0
.text 845948 845948 0 0.0
BRD4187C (read/write) 1146656 1146648 -8 -0.0
.bss 138648 138648 0 0.0
.data 2596 2596 0 0.0
.text 980816 980808 -8 -0.0
lock-app BRD4161A+wf200 (read/write) 1160072 1160072 0 0.0
.bss 158256 158256 0 0.0
.data 2100 2100 0 0.0
.text 999692 999692 0 0.0
window-app BRD4187C (read/write) 1139876 1139868 -8 -0.0
.bss 140064 140064 0 0.0
.data 2620 2620 0 0.0
.text 972596 972588 -8 -0.0
esp32 all-clusters-app c3devkit (read only) 1224290 1224290 0 0.0
(read/write) 1788518 1788526 8 0.0
.dram0.bss 76944 76944 0 0.0
.dram0.data 13840 13840 0 0.0
.flash.rodata 258088 258096 8 0.0
.flash.text 1224290 1224290 0 0.0
.iram0.text 65204 65204 0 0.0
m5stack (read only) 1234091 1234091 0 0.0
(read/write) 564332 564340 8 0.0
.dram0.bss 82320 82320 0 0.0
.dram0.data 34296 34296 0 0.0
.flash.rodata 315048 315056 8 0.0
.flash.text 1228707 1228707 0 0.0
.iram0.text 123939 123939 0 0.0
k32w contact k32w0+release (read/write) 661212 661212 0 0.0
.bss 77024 77024 0 0.0
.data 2104 2104 0 0.0
.text 562972 562972 0 0.0
light k32w0+release (read/write) 671256 671256 0 0.0
.bss 74824 74824 0 0.0
.data 2060 2060 0 0.0
.text 591644 591644 0 0.0
lock k32w0+release (read/write) 632732 632732 0 0.0
.bss 75584 75584 0 0.0
.data 2080 2080 0 0.0
.text 552340 552340 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10438300 10438300 0 0.0
(read/write) 706417 706417 0 0.0
.bss 33905 33905 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 650720 650720 0 0.0
.dynamic 560 560 0 0.0
.got 13928 13928 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 518364 518364 0 0.0
.text 8264100 8264100 0 0.0
thermostat-no-ble arm64 (read only) 2394748 2394732 -16 -0.0
(read/write) 143649 143649 0 0.0
.bss 55361 55361 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 77280 77280 0 0.0
.dynamic 560 560 0 0.0
.got 5176 5176 0 0.0
.init 24 24 0 0.0
.init_array 440 440 0 0.0
.rodata 144548 144548 0 0.0
.text 2007216 2007200 -16 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2452224 2452160 -64 -0.0
.bss 215012 215012 0 0.0
.data 5872 5872 0 0.0
.text 1414868 1414804 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1187759 1187759 0 0.0
bss 145285 145285 0 0.0
rodata 144436 144436 0 0.0
text 816964 816964 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1167123 1167123 0 0.0
bss 144512 144512 0 0.0
rodata 136224 136224 0 0.0
text 805458 805454 -4 -0.0
light-switch-app nrf52840dk_nrf52840 (read/write) 1100003 1100003 0 0.0
bss 136891 136891 0 0.0
rodata 121672 121672 0 0.0
text 760404 760400 -4 -0.0
lighting-app nrf52840dk_nrf52840+rpc (read/write) 1148219 1148723 504 0.0
bss 148021 148073 52 0.0
rodata 116720 116744 24 0.0
text 801118 801594 476 0.1
nrf52840dongle_nrf52840 (read/write) 1085387 1085891 504 0.0
bss 154282 154334 52 0.0
rodata 94392 94416 24 0.0
text 752318 752798 480 0.1
nrf5340dk_nrf5340_cpuapp (read/write) 1079874 1080442 568 0.1
bss 142964 143016 52 0.0
rodata 117940 117964 24 0.0
text 735898 736378 480 0.1
lock-app nrf52840dk_nrf52840 (read/write) 1133511 1133511 0 0.0
bss 137896 137896 0 0.0
rodata 143124 143124 0 0.0
text 771588 771584 -4 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1036166 1036150 -16 -0.0
bss 133781 133781 0 0.0
rodata 135528 135528 0 0.0
text 683774 683766 -8 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 1088903 1088903 0 0.0
bss 136720 136720 0 0.0
rodata 118940 118940 0 0.0
text 752204 752200 -4 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1075223 1075223 0 0.0
bss 136487 136487 0 0.0
rodata 115420 115420 0 0.0
text 742302 742298 -4 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 841968 841968 0 0.0
(read/write) 1746036 1746036 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188712 188712 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 2664 2664 0 0.0
.debug_abbrev 1235810 1235810 0 0.0
.debug_aranges 110736 110736 0 0.0
.debug_frame 371344 371344 0 0.0
.debug_info 2702594 27026401 454 0.0
.debug_line 3685828 3685829 1 0.0
.debug_loc 3603682 3603616 -66 -0.0
.debug_ranges 339560 339560 0 0.0
.debug_str 3435719 3435740 21 0.0
.heap 841968 841968 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 570280 570252 -28 -0.0
.symtab 421424 421424 0 0.0
.text 0 0 0 0.0
1546272 1546272 0 0.0
.zero.table 8 8 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842704 842704 0 0.0
(read/write) 1688644 1688644 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187976 187976 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 2664 2664 0 0.0
.debug_abbrev 1227653 1227653 0 0.0
.debug_aranges 110208 110208 0 0.0
.debug_frame 374424 374424 0 0.0
.debug_info 26762577 26763031 454 0.0
.debug_line 3706812 3706813 1 0.0
.debug_loc 3591319 3591253 -66 -0.0
.debug_ranges 338176 338176 0 0.0
.debug_str 3424748 3424769 21 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 534369 534341 -28 -0.0
.symtab 407856 407856 0 0.0
.text 1489616 1489616 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850888 850888 0 0.0
(read/write) 1606972 1606972 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 180000 180000 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 2456 2456 0 0.0
.debug_abbrev 1062114 1062114 0 0.0
.debug_aranges 102408 102408 0 0.0
.debug_frame 344740 344740 0 0.0
.debug_info 22228025 2222844 415 0.0
.debug_line 3276154 3276155 1 0.0
.debug_loc 3289030 3288964 -66 -0.0
.debug_ranges 303472 303472 0 0.0
.debug_str 3230175 3230196 21 0.0
.heap 850888 850888 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 470694 470666 -28 -0.0
.symtab 376240 376240 0 0.0
.text 1416128 1416128 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845896 845896 0 0.0
(read/write) 1640764 1640748 -16 -0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184976 184976 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 2472 2472 0 0.0
.debug_abbrev 1064089 1064089 0 0.0
.debug_aranges 102808 102808 0 0.0
.debug_frame 346612 346612 0 0.0
.debug_info 22461403 22461855 452 0.0
.debug_line 3273048 3273049 1 0.0
.debug_loc 3316624 3316558 -66 -0.0
.debug_ranges 305416 305416 0 0.0
.debug_str 3249646 3249667 21 0.0
.heap 845896 845896 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 473097 473069 -28 -0.0
.symtab 377920 377920 0 0.0
.text 1444928 1444912 -16 -0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1149520 1149520 0 0.0
.bss 110596 110596 0 0.0
.data 848 848 0 0.0
.text 596620 596620 0 0.0
lock-app qpg6105+debug (read/write) 1114312 1114312 0 0.0
.bss 106372 106372 0 0.0
.data 836 836 0 0.0
.text 561408 561408 0 0.0
telink all-clusters-app tlsr9518adk80d (read/write) 936772 936772 0 0.0
bss 81616 81616 0 0.0
noinit 43440 43440 0 0.0
text 648610 648606 -4 -0.0
all-clusters-minimal-app tlsr9518adk80d (read/write) 874748 874748 0 0.0
bss 80840 80840 0 0.0
noinit 43440 43440 0 0.0
text 612580 612578 -2 -0.0
light-switch-app tlsr9518adk80d (read/write) 790244 790244 0 0.0
bss 72464 72464 0 0.0
noinit 43520 43520 0 0.0
text 554106 554106 0 0.0
lighting-app tlsr9518adk80d (read/write) 874468 874460 -8 -0.0
bss 82232 82232 0 0.0
noinit 43520 43520 0 0.0
text 624086 624084 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 804736 804736 0 0.0
bss 74036 74036 0 0.0
noinit 43520 43520 0 0.0
text 565484 565484 0 0.0

@Damian-Nordic Damian-Nordic enabled auto-merge (squash) November 4, 2022 12:23
@Damian-Nordic Damian-Nordic merged commit 1ee863e into project-chip:master Nov 5, 2022
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
* [app] Implement deferred attribute persister

Fast-changing attributes with NVM storage, such as
CurrentLevel of the LevelControl cluster, may result in
rapid flash wearout using the default attribute persister
which stores all values immediately.
Implement a helper adapter class for the attribute
persistence interface to defer writes of selected
attributes.

Use the new class in nRF Connect lighting-app for
verification.

* Code review

* Add a comment
adbridge pushed a commit to ARM-software/connectedhomeip that referenced this pull request Nov 18, 2022
* [app] Implement deferred attribute persister

Fast-changing attributes with NVM storage, such as
CurrentLevel of the LevelControl cluster, may result in
rapid flash wearout using the default attribute persister
which stores all values immediately.
Implement a helper adapter class for the attribute
persistence interface to defer writes of selected
attributes.

Use the new class in nRF Connect lighting-app for
verification.

* Code review

* Add a comment
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.

[BUG] Level Control Cluster persists all values during move-to-level
3 participants