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

[nrfconnect] Introduce BLE advertising arbiter #24637

Merged
merged 2 commits into from
Jan 30, 2023

Conversation

Damian-Nordic
Copy link
Contributor

Add a class that enables easier coexistence of Matter and custom BLE services.
Use the new class to simplify nRF Connect examples that enable DFU over BLE SMP besides Matter OTA.

Add a class that enables easier coexistence of Matter and
custom BLE services.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
@github-actions
Copy link

github-actions bot commented Jan 25, 2023

PR #24637: Size comparison from 612fc1c to a364d00

Increases (20 builds for cyw30739, nrfconnect, psoc6, telink)
platform target config section 612fc1c a364d00 change % change
cyw30739 light cyw930739m2evb_01 (read/write) 585394 585402 8 0.0
.app_xip_area 461412 461420 8 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 rodata 133232 133276 44 0.0
nrf7002dk_nrf5340_cpuapp rodata 210720 210760 40 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 rodata 110380 110424 44 0.0
light-switch-app nrf52840dk_nrf52840 rodata 111308 111352 44 0.0
nrf7002dk_nrf5340_cpuapp rodata 177840 177880 40 0.0
lighting-app nrf52840dk_nrf52840+rpc rodata 105924 105968 44 0.0
nrf52840dongle_nrf52840 rodata 84616 84660 44 0.1
nrf5340dk_nrf5340_cpuapp rodata 108716 108756 40 0.0
nrf7002dk_nrf5340_cpuapp rodata 177840 177880 40 0.0
lock-app nrf52840dk_nrf52840 rodata 134064 134104 40 0.0
nrf5340dk_nrf5340_cpuapp rodata 127024 127064 40 0.0
nrf7002dk_nrf5340_cpuapp rodata 200668 200708 40 0.0
pump-app nrf52840dk_nrf52840 rodata 109572 109612 40 0.0
pump-controller-app nrf52840dk_nrf52840 rodata 106656 106700 44 0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 27465099 27465100 1 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 27022863 27022864 1 0.0
lock cy8ckit_062s2_43012 .debug_info 22704396 22704397 1 0.0
telink all-clusters-minimal-app tlsr9518adk80d text 652282 652284 2 0.0
contact-sensor-app tlsr9518adk80d (read/write) 869236 869244 8 0.0
text 582572 582574 2 0.0
Decreases (19 builds for esp32, nrfconnect, psoc6, telink)
platform target config section 612fc1c a364d00 change % change
esp32 all-clusters-app c3devkit (read only) 1041544 1041542 -2 -0.0
(read/write) 1515938 1515930 -8 -0.0
.flash.rodata 220024 220016 -8 -0.0
.flash.text 1041544 1041542 -2 -0.0
m5stack (read/write) 497607 497603 -4 -0.0
.flash.rodata 248812 248808 -4 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1164968 1161680 -3288 -0.3
bss 147118 144199 -2919 -2.0
text 804396 804344 -52 -0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1366544 1365704 -840 -0.1
bss 106418 105926 -492 -0.5
text 763568 763492 -76 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1110692 1107404 -3288 -0.3
bss 146274 143355 -2919 -2.0
text 773940 773888 -52 -0.0
light-switch-app nrf52840dk_nrf52840 (read/write) 1076884 1073580 -3304 -0.3
bss 138661 135742 -2919 -2.1
text 746756 746692 -64 -0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1279824 1278904 -920 -0.1
bss 99996 99504 -492 -0.5
text 716144 716068 -76 -0.0
lighting-app nrf52840dk_nrf52840+rpc (read/write) 1119828 1116516 -3312 -0.3
bss 149006 146087 -2919 -2.0
text 783404 783332 -72 -0.0
nrf52840dongle_nrf52840 (read/write) 1064544 1061216 -3328 -0.3
bss 157131 154212 -2919 -1.9
text 739248 739172 -76 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1064012 1063192 -820 -0.1
bss 143616 143124 -492 -0.3
text 728284 728212 -72 -0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1279824 1278904 -920 -0.1
bss 99996 99504 -492 -0.5
text 716144 716068 -76 -0.0
lock-app nrf52840dk_nrf52840 (read/write) 1112440 1109132 -3308 -0.3
bss 139705 136786 -2919 -2.1
text 758628 758564 -64 -0.0
nrf5340dk_nrf5340_cpuapp (read/write) 1021440 1020548 -892 -0.1
bss 134537 134045 -492 -0.4
text 676404 676328 -76 -0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1315688 1314840 -848 -0.1
bss 101074 100582 -492 -0.5
text 728156 728080 -76 -0.0
pump-app nrf52840dk_nrf52840 (read/write) 1066460 1063152 -3308 -0.3
bss 138466 135547 -2919 -2.1
text 738372 738308 -64 -0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 1054664 1051360 -3304 -0.3
bss 138249 135330 -2919 -2.1
text 729632 729564 -68 -0.0
psoc6 light cy8ckit_062s2_43012 .debug_info 22483781 22483780 -1 -0.0
telink ota-requestor-app tlsr9518adk80d (read/write) 899540 899532 -8 -0.0
text 608290 608288 -2 -0.0
thermostat tlsr9518adk80d text 597938 597936 -2 -0.0
Full report (50 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section 612fc1c a364d00 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 677223 677223 0 0.0
(read/write) 174632 174632 0 0.0
.bss 81548 81548 0 0.0
.data 3384 3384 0 0.0
.rodata 87471 87471 0 0.0
.text 589440 589440 0 0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 640847 640847 0 0.0
(read/write) 158240 158240 0 0.0
.bss 80740 80740 0 0.0
.data 3384 3384 0 0.0
.rodata 77423 77423 0 0.0
.text 563100 563100 0 0.0
lock-ftd LP_CC2652R7 (read only) 674347 674347 0 0.0
(read/write) 174980 174980 0 0.0
.bss 79108 79108 0 0.0
.data 3312 3312 0 0.0
.rodata 76267 76267 0 0.0
.text 597600 597600 0 0.0
lock-mtd LP_CC2652R7 (read only) 660663 660663 0 0.0
(read/write) 183928 183928 0 0.0
.bss 74372 74372 0 0.0
.data 3312 3312 0 0.0
.rodata 102735 102735 0 0.0
.text 557448 557448 0 0.0
pump-app LP_CC2652R7 (read only) 687379 687379 0 0.0
(read/write) 162676 162676 0 0.0
.bss 79068 79068 0 0.0
.data 3276 3276 0 0.0
.rodata 90395 90395 0 0.0
.text 596504 596504 0 0.0
pump-controller-app LP_CC2652R7 (read only) 672811 672811 0 0.0
(read/write) 177356 177356 0 0.0
.bss 79180 79180 0 0.0
.data 3300 3300 0 0.0
.rodata 86475 86475 0 0.0
.text 585856 585856 0 0.0
shell LP_CC2652R7 (read only) 668494 668494 0 0.0
(read/write) 185432 185432 0 0.0
.bss 83620 83620 0 0.0
.data 3380 3380 0 0.0
.rodata 84206 84206 0 0.0
.text 583972 583972 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 585394 585402 8 0.0
.app_xip_area 461412 461420 8 0.0
.bss 66432 66432 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 589118 589118 0 0.0
.app_xip_area 459840 459840 0 0.0
.bss 71720 71720 0 0.0
.data 744 744 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 550766 550766 0 0.0
.app_xip_area 432272 432272 0 0.0
.bss 60984 60984 0 0.0
.data 692 692 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 974240 974240 0 0.0
.bss 147144 147144 0 0.0
.data 2196 2196 0 0.0
.text 824880 824880 0 0.0
BRD4161A+rs911x (read/write) 1037308 1037308 0 0.0
.bss 181632 181632 0 0.0
.data 2040 2040 0 0.0
.text 853616 853616 0 0.0
BRD4187C (read/write) 1151392 1151392 0 0.0
.bss 133644 133644 0 0.0
.data 2544 2544 0 0.0
.text 990608 990608 0 0.0
lock-app BRD4161A+wf200 (read/write) 1064932 1064932 0 0.0
.bss 153152 153152 0 0.0
.data 2048 2048 0 0.0
.text 909712 909712 0 0.0
window-app BRD4187C (read/write) 1144108 1144108 0 0.0
.bss 135060 135060 0 0.0
.data 2568 2568 0 0.0
.text 981884 981884 0 0.0
esp32 all-clusters-app c3devkit (read only) 1041544 1041542 -2 -0.0
(read/write) 1515938 1515930 -8 -0.0
.dram0.bss 75904 75904 0 0.0
.dram0.data 13792 13792 0 0.0
.flash.rodata 220024 220016 -8 -0.0
.flash.text 1041544 1041542 -2 -0.0
.iram0.text 72896 72896 0 0.0
m5stack (read only) 1093759 1093759 0 0.0
(read/write) 497607 497603 -4 -0.0
.dram0.bss 80952 80952 0 0.0
.dram0.data 34072 34072 0 0.0
.flash.rodata 248812 248808 -4 -0.0
.flash.text 1088375 1088375 0 0.0
.iram0.text 124855 124855 0 0.0
k32w contact k32w0+release (read/write) 660908 660908 0 0.0
.bss 77360 77360 0 0.0
.data 2112 2112 0 0.0
.text 562324 562324 0 0.0
light k32w0+release (read/write) 672820 672820 0 0.0
.bss 75144 75144 0 0.0
.data 2064 2064 0 0.0
.text 592884 592884 0 0.0
lock k32w0+release (read/write) 632288 632288 0 0.0
.bss 75912 75912 0 0.0
.data 2084 2084 0 0.0
.text 551564 551564 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10960732 10960732 0 0.0
(read/write) 696664 696664 0 0.0
.bss 34248 34248 0 0.0
.data 3008 3008 0 0.0
.data.rel.ro 640096 640096 0 0.0
.dynamic 560 560 0 0.0
.got 14112 14112 0 0.0
.init 24 24 0 0.0
.init_array 208 208 0 0.0
.rodata 568716 568716 0 0.0
.text 8742484 8742484 0 0.0
thermostat-no-ble arm64 (read only) 2503556 2503556 0 0.0
(read/write) 144648 144648 0 0.0
.bss 56456 56456 0 0.0
.data 1824 1824 0 0.0
.data.rel.ro 76944 76944 0 0.0
.dynamic 560 560 0 0.0
.got 5392 5392 0 0.0
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 150816 150816 0 0.0
.text 2090944 2090944 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2463192 2463192 0 0.0
.bss 215956 215956 0 0.0
.data 5880 5880 0 0.0
.text 1425836 1425836 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1164968 1161680 -3288 -0.3
bss 147118 144199 -2919 -2.0
rodata 133232 133276 44 0.0
text 804396 804344 -52 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1366544 1365704 -840 -0.1
bss 106418 105926 -492 -0.5
rodata 210720 210760 40 0.0
text 763568 763492 -76 -0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1110692 1107404 -3288 -0.3
bss 146274 143355 -2919 -2.0
rodata 110380 110424 44 0.0
text 773940 773888 -52 -0.0
light-switch-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1076884 1073580 -3304 -0.3
bss 138661 135742 -2919 -2.1
rodata 111308 111352 44 0.0
text 746756 746692 -64 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1279824 1278904 -920 -0.1
bss 99996 99504 -492 -0.5
rodata 177840 177880 40 0.0
text 716144 716068 -76 -0.0
lighting-app nrf52840dk_nrf52840+rpc (read only) 4 4 0 0.0
(read/write) 1119828 1116516 -3312 -0.3
bss 149006 146087 -2919 -2.0
rodata 105924 105968 44 0.0
text 783404 783332 -72 -0.0
nrf52840dongle_nrf52840 (read only) 4 4 0 0.0
(read/write) 1064544 1061216 -3328 -0.3
bss 157131 154212 -2919 -1.9
rodata 84616 84660 44 0.1
text 739248 739172 -76 -0.0
nrf5340dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1064012 1063192 -820 -0.1
bss 143616 143124 -492 -0.3
rodata 108716 108756 40 0.0
text 728284 728212 -72 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1279824 1278904 -920 -0.1
bss 99996 99504 -492 -0.5
rodata 177840 177880 40 0.0
text 716144 716068 -76 -0.0
lock-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1112440 1109132 -3308 -0.3
bss 139705 136786 -2919 -2.1
rodata 134064 134104 40 0.0
text 758628 758564 -64 -0.0
nrf5340dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1021440 1020548 -892 -0.1
bss 134537 134045 -492 -0.4
rodata 127024 127064 40 0.0
text 676404 676328 -76 -0.0
nrf7002dk_nrf5340_cpuapp (read only) 4 4 0 0.0
(read/write) 1315688 1314840 -848 -0.1
bss 101074 100582 -492 -0.5
rodata 200668 200708 40 0.0
text 728156 728080 -76 -0.0
pump-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1066460 1063152 -3308 -0.3
bss 138466 135547 -2919 -2.1
rodata 109572 109612 40 0.0
text 738372 738308 -64 -0.0
pump-controller-app nrf52840dk_nrf52840 (read only) 4 4 0 0.0
(read/write) 1054664 1051360 -3304 -0.3
bss 138249 135330 -2919 -2.1
rodata 106656 106700 44 0.0
text 729632 729564 -68 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 840944 840944 0 0.0
(read/write) 1749972 1749972 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 189736 189736 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 1251009 1251009 0 0.0
.debug_aranges 111256 111256 0 0.0
.debug_frame 373620 373620 0 0.0
.debug_info 27465099 27465100 1 0.0
.debug_line 3766626 3766626 0 0.0
.debug_loc 3651664 3651664 0 0.0
.debug_ranges 357376 357376 0 0.0
.debug_str 3484013 3484013 0 0.0
.heap 840944 840944 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 575760 575760 0 0.0
.symtab 423440 423440 0 0.0
.text 0 0 0 0.0
1549184 1549184 0 0.0
.zero.table 8 8 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 841752 841752 0 0.0
(read/write) 1691372 1691372 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188928 188928 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 1236720 1236720 0 0.0
.debug_aranges 110520 110520 0 0.0
.debug_frame 376064 376064 0 0.0
.debug_info 27022863 27022864 1 0.0
.debug_line 3774912 3774912 0 0.0
.debug_loc 3635394 3635394 0 0.0
.debug_ranges 355344 355344 0 0.0
.debug_str 3469766 3469766 0 0.0
.heap 841752 841752 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 536226 536226 0 0.0
.symtab 408432 408432 0 0.0
.text 1491392 1491392 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 849944 849944 0 0.0
(read/write) 1611148 1611148 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 180936 180936 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 2464 2464 0 0.0
.debug_abbrev 1071778 1071778 0 0.0
.debug_aranges 102800 102800 0 0.0
.debug_frame 346624 346624 0 0.0
.debug_info 22483781 22483780 -1 -0.0
.debug_line 3339092 3339092 0 0.0
.debug_loc 3336402 3336402 0 0.0
.debug_ranges 319416 319416 0 0.0
.debug_str 3274787 3274787 0 0.0
.heap 849944 849944 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 474042 474042 0 0.0
.symtab 377600 377600 0 0.0
.text 1419360 1419360 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 844960 844960 0 0.0
(read/write) 1645212 1645212 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 185912 185912 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 1073126 1073126 0 0.0
.debug_aranges 103184 103184 0 0.0
.debug_frame 348424 348424 0 0.0
.debug_info 22704396 22704397 1 0.0
.debug_line 3340859 3340859 0 0.0
.debug_loc 3357990 3357990 0 0.0
.debug_ranges 321272 321272 0 0.0
.debug_str 3291194 3291194 0 0.0
.heap 844960 844960 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 476977 476977 0 0.0
.symtab 379424 379424 0 0.0
.text 1448440 1448440 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1148304 1148304 0 0.0
.bss 100668 100668 0 0.0
.data 848 848 0 0.0
.text 595404 595404 0 0.0
lock-app qpg6105+debug (read/write) 1115992 1115992 0 0.0
.bss 97188 97188 0 0.0
.data 860 860 0 0.0
.text 563088 563088 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1026616 1026616 0 0.0
bss 98552 98552 0 0.0
text 688798 688798 0 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 964972 964972 0 0.0
bss 97696 97696 0 0.0
text 652282 652284 2 0.0
contact-sensor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 869236 869244 8 0.0
bss 89844 89844 0 0.0
text 582572 582574 2 0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 885700 885700 0 0.0
bss 89940 89940 0 0.0
text 597178 597178 0 0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 964052 964052 0 0.0
bss 97996 97996 0 0.0
text 663182 663182 0 0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 899540 899532 -8 -0.0
bss 90888 90888 0 0.0
text 608290 608288 -2 -0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 888916 888916 0 0.0
bss 91328 91328 0 0.0
text 597938 597936 -2 -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 👍 (reviewed already internally).

@andy31415 andy31415 merged commit 927b494 into project-chip:master Jan 30, 2023
@Damian-Nordic Damian-Nordic deleted the ble-adv-upstream branch January 30, 2023 17:50
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
* [nrfconnect] Introduce BLE advertising arbiter

Add a class that enables easier coexistence of Matter and
custom BLE services.

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>

* Restyled by clang-format

---------

Signed-off-by: Damian Krolik <damian.krolik@nordicsemi.no>
Co-authored-by: Restyled.io <commits@restyled.io>
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.

4 participants