Skip to content

Conversation

@cvinayak
Copy link
Contributor

@cvinayak cvinayak commented Aug 30, 2025

Add configuration overlay file to support observer sample with Extended Scanning on BBC Micro Bit board.

Due to slow CPU, there will be assertions, and this commit (for now) validates build-only. And the sample may run for a duration until it asserts.

Asserts:

  • ASSERTION FAIL [start_us == (aux_start_us + 1U)] @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/ nordic/lll/lll_scan_aux.c:359 This will happen for small aux offset value, definitely for the 300 us because CPU usage latency to setup such auxiliary PDU reception on nRF51 is high due to slow CPU.

  • ASSERTION FAIL [0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/ nordic/lll/lll_scan_aux.c:592 prepare_cb: Actual EVENT_OVERHEAD_START_US = 579 This will happen due to CPU usage latencies scheduling the radio events, due to slow CPU.

Sample console (receiving legacy, extended 1M and 2M extended advertising reports :-) ):

[2025-08-30 06:57:47.156] *** Booting Zephyr OS build v4.2.0-2543-gb90234b13d50 ***
[2025-08-30 06:57:47.162] Starting Observer Demo
[2025-08-30 06:57:47.175] Registered scan callbacks
[2025-08-30 06:57:47.180] Started scanning...
[2025-08-30 06:57:47.182] Exiting main thread.
[2025-08-30 06:57:47.185] Thread analyze:
[2025-08-30 06:57:47.187]  BT CTLR RX          : STACK: unused 568 usage 328 / 896 (36 %); CPU: 0 %
[2025-08-30 06:57:47.194]                      : Total CPU cycles used: 4
[2025-08-30 06:57:47.199]  BT CTLR RX pri      : STACK: unused 160 usage 288 / 448 (64 %); CPU: 0 %
[2025-08-30 06:57:47.211]                      : Total CPU cycles used: 3
[2025-08-30 06:57:47.217] Device found: 17:47:5C:4F:39:9D (random) (RSSI -90), type 5, AD data len 192
[2025-08-30 06:57:47.225] [DEVICE]: 17:47:5C:4F:39:9D (random), AD evt type 5, Tx Pwr: 127, RSSI -90 Data status: 0, AD data len: 192 Name: Broadcaster Multiple C:0 S:0 D:0 SR:0 E:1 Pri PHY: LE 1M, Sec PHY: LE 1M, Interval: 0x0000 (0 ms), SID: 2
[2025-08-30 06:57:47.248] Device found: 43:AE:C1:1C:55:F1 (random) (RSSI -74), type 0, AD data len 30
[2025-08-30 06:57:47.256] [DEVICE]: 43:AE:C1:1C:55:F1 (random), AD evt type 0, Tx Pwr: 127, RSSI -74 Data status: 0, AD data len: 30 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.277] Device found: 73:5A:AD:14:5A:A0 (random) (RSSI -56), type 0, AD data len 18
[2025-08-30 06:57:47.285] [DEVICE]: 73:5A:AD:14:5A:A0 (random), AD evt type 0, Tx Pwr: 127, RSSI -56 Data status: 0, AD data len: 18 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.306]  thread_analyzer     : STACK: unused 480 usage 544 / 1024 (53 %); CPU: 18 %
[2025-08-30 06:57:47.316]                      : Total CPU cycles used: 983
[2025-08-30 06:57:47.322] Device found: 3E:15:13:BE:14:1D (random) (RSSI -89), type 5, AD data len 192
[2025-08-30 06:57:47.330] [DEVICE]: 3E:15:13:BE:14:1D (random), AD evt type 5, Tx Pwr: 127, RSSI -89 Data status: 0, AD data len: 192 Name: Broadcaster Multiple C:0 S:0 D:0 SR:0 E:1 Pri PHY: LE 1M, Sec PHY: LE 2M, Interval: 0x0000 (0 ms), SID: 1
[2025-08-30 06:57:47.352]  sysworkq            : STACK: unused 296 usage 728 / 1024 (71 %); CPU: 62 %
[2025-08-30 06:57:47.360]                      : Total CPU cycles used: 4161
[2025-08-30 06:57:47.365]  idle                : STACK: unused 40 usage 88 / 128 (68 %); CPU: 1 %
[2025-08-30 06:57:47.372]                      : Total CPU cycles used: 118
[2025-08-30 06:57:47.378]  ISR0                : STACK: unused 296 usage 728 / 1024 (71 %)
[2025-08-30 06:57:47.429] Device found: D4:9D:C0:7F:F5:11 (public) (RSSI -92), type 3, AD data len 28
[2025-08-30 06:57:47.437] [DEVICE]: D4:9D:C0:7F:F5:11 (public), AD evt type 3, Tx Pwr: 127, RSSI -92 Data status: 0, AD data len: 28 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.459] Device found: 45:A6:2C:F9:69:78 (random) (RSSI -91), type 0, AD data len 17
[2025-08-30 06:57:47.467] [DEVICE]: 45:A6:2C:F9:69:78 (random), AD evt type 0, Tx Pwr: 127, RSSI -91 Data status: 0, AD data len: 17 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.488] Device found: 71:12:29:40:16:7D (random) (RSSI -93), type 2, AD data len 27
[2025-08-30 06:57:47.496] [DEVICE]: 71:12:29:40:16:7D (random), AD evt type 2, Tx Pwr: 127, RSSI -93 Data status: 0, AD data len: 27 Name:  C:0 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.519] Device found: 51:90:E8:54:06:C3 (random) (RSSI -90), type 0, AD data len 17
[2025-08-30 06:57:47.526] [DEVICE]: 51:90:E8:54:06:C3 (random), AD evt type 0, Tx Pwr: 127, RSSI -90 Data status: 0, AD data len: 17 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.549] Device found: 7F:7F:2A:4B:E0:6E (random) (RSSI -90), type 0, AD data len 18
[2025-08-30 06:57:47.557] [DEVICE]: 7F:7F:2A:4B:E0:6E (random), AD evt type 0, Tx Pwr: 127, RSSI -90 Data status: 0, AD data len: 18 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.578] Device found: 3C:A9:89:28:08:C9 (random) (RSSI -87), type 3, AD data len 22
[2025-08-30 06:57:47.586] [DEVICE]: 3C:A9:89:28:08:C9 (random), AD evt type 3, Tx Pwr: 127, RSSI -87 Data status: 0, AD data len: 22 Name: Broadcaster Multiple C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.610] Device found: E7:7B:66:7B:0C:F3 (random) (RSSI -80), type 3, AD data len 8
[2025-08-30 06:57:47.618] [DEVICE]: E7:7B:66:7B:0C:F3 (random), AD evt type 3, Tx Pwr: 127, RSSI -80 Data status: 0, AD data len: 8 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 06:57:47.640] Device found: 74:1A:E0:23:AA:34 (public) (RSSI -94), type 0, AD data len 19
[2025-08-30 06:57:47.647] [DEVICE]: 74:1A:E0:23:AA:34 (public), AD evt type 0, Tx Pwr: 127, RSSI -94 Data status: 0, AD data len: 19 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255

Example assertion:

[2025-08-30 07:00:25.778] Device found: C7:8D:B8:60:E3:B4 (random) (RSSI -94), type 0, AD data len 31
[2025-08-30 07:00:25.785] [DEVICE]: C7:8D:B8:60:E3:B4 (random), AD evt type 0, Tx Pwr: 127, RSSI -94 Data status: 0, AD data len: 31 Name: IDTW218H C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:25.971] Device found: 66:75:6D:E7:2E:7C (random) (RSSI -91), type 0, AD data len 18
[2025-08-30 07:00:25.979] [DEVICE]: 66:75:6D:E7:2E:7C (random), AD evt type 0, Tx Pwr: 127, RSSI -91 Data status: 0, AD data len: 18 Name:  C:1 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:26.641] Device found: 68:94:99:E8:1D:DE (random) (RSSI -95), type 2, AD data len 30
[2025-08-30 07:00:26.649] [DEVICE]: 68:94:99:E8:1D:DE (random), AD evt type 2, Tx Pwr: 127, RSSI -95 Data status: 0, AD data len: 30 Name:  C:0 S:1 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:26.926] Device found: D5:54:EC:C0:1F:F5 (random) (RSSI -66), type 3, AD data len 8
[2025-08-30 07:00:26.934] [DEVICE]: D5:54:EC:C0:1F:F5 (random), AD evt type 3, Tx Pwr: 127, RSSI -66 Data status: 0, AD data len: 8 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:27.353] Device found: 7C:64:56:35:A2:6D (public) (RSSI -98), type 3, AD data len 28
[2025-08-30 07:00:27.362] [DEVICE]: 7C:64:56:35:A2:6D (public), AD evt type 3, Tx Pwr: 127, RSSI -98 Data status: 0, AD data len: 28 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:27.407] Device found: D4:9D:C0:7F:F5:11 (public) (RSSI -96), type 3, AD data len 28
[2025-08-30 07:00:27.415] [DEVICE]: D4:9D:C0:7F:F5:11 (public), AD evt type 3, Tx Pwr: 127, RSSI -96 Data status: 0, AD data len: 28 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:27.477] Device found: 17:47:5C:4F:39:9D (random) (RSSI -88), type 5, AD data len 192
[2025-08-30 07:00:27.484] [DEVICE]: 17:47:5C:4F:39:9D (random), AD evt type 5, Tx Pwr: 127, RSSI -88 Data status: 0, AD data len: 192 Name: Broadcaster Multiple C:0 S:0 D:0 SR:0 E:1 Pri PHY: LE 1M, Sec PHY: LE 1M, Interval: 0x0000 (0 ms), SID: 2
[2025-08-30 07:00:27.914] Device found: 3E:15:13:BE:14:1D (random) (RSSI -89), type 5, AD data len 192
[2025-08-30 07:00:27.922] [DEVICE]: 3E:15:13:BE:14:1D (random), AD evt type 5, Tx Pwr: 127, RSSI -89 Data status: 0, AD data len: 192 Name: Broadcaster Multiple C:0 S:0 D:0 SR:0 E:1 Pri PHY: LE 1M, Sec PHY: LE 2M, Interval: 0x0000 (0 ms), SID: 1
[2025-08-30 07:00:28.022] Device found: E7:7B:66:7B:0C:F3 (random) (RSSI -84), type 3, AD data len 8
[2025-08-30 07:00:28.030] [DEVICE]: E7:7B:66:7B:0C:F3 (random), AD evt type 3, Tx Pwr: 127, RSSI -84 Data status: 0, AD data len: 8 Name:  C:0 S:0 D:0 SR:0 E:0 Pri PHY: LE 1M, Sec PHY: No packets, Interval: 0x0000 (0 ms), SID: 255
[2025-08-30 07:00:28.132] ASSERTION FAIL [0] @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/nordic/lll/lll_scan_aux.c:592
[2025-08-30 07:00:28.142]       prepare_cb: Actual EVENT_OVERHEAD_START_US = 457
[2025-08-30 07:00:28.147] ***** HARD FAULT *****
[2025-08-30 07:00:28.150] ARCH_EXCEPT with reason 3
[2025-08-30 07:00:28.152] 
[2025-08-30 07:00:28.152] r0/a1:  0x00000003  r1/a2:  0x000117b1  r2/a3:  0x00000001
[2025-08-30 07:00:28.158] r3/a4:  0x00000003 r12/ip:  0x00000000 r14/lr:  0x00010035
[2025-08-30 07:00:28.164]  xpsr:  0x01000011
[2025-08-30 07:00:28.166] Faulting instruction address (r15/pc): 0x0000914a

Build commandline:

cmake -GNinja -DBOARD=bbc_microbit -DCONF_FILE=prj_extended.conf -DEXTRA_CONF_FILE=overlay_bbc_microbit-bt_ll_sw_split.conf ../../samples/bluetooth/observer

Flashing:

ninja flash

Code and RAM Sizes:

[194/195] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       63724 B       256 KB     24.31%
             RAM:       15904 B        16 KB     97.07%
        IDT_LIST:          0 GB        32 KB      0.00%
Generating files from /home/jack/workspace/zephyrproject/zephyr/build/observer_microbit/zephyr/zephyr.elf for board: bbc_microbit

.window = BT_GAP_SCAN_FAST_WINDOW,
.options = BT_LE_SCAN_OPT_NONE,
.interval = BT_GAP_MS_TO_SCAN_INTERVAL(10U),
.window = BT_GAP_MS_TO_SCAN_INTERVAL(10U),
Copy link
Member

Choose a reason for hiding this comment

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

I suppose this should be BT_GAP_MS_TO_SCAN_WINDOW()

@cvinayak cvinayak force-pushed the github_observer_bbc_microbit branch 2 times, most recently from f1f3c77 to b524daf Compare August 30, 2025 09:08
@zephyrbot zephyrbot added the platform: nRF BSIM Nordic Semiconductors, nRF BabbleSim label Aug 30, 2025
Copy link
Contributor Author

@cvinayak cvinayak left a comment

Choose a reason for hiding this comment

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

BBC micro bit v1, in itself is deprecated, do not see much value of this PR for users.

I use nRF51, nrf52, nrf53 and nrf54 as sanity test on target as they are all of different CPU speeds, and help uncover any context safety issue where ISRs have different latencies and changes when they step/pre-empt each other.

Unless this will be interesting for hobbyists to optimize implementation and make extended scanning (not assert) work with reduced CPU use; I leave to the reviewers opinion, I can close this PR otherwise.

@jhedberg
Copy link
Member

jhedberg commented Sep 1, 2025

BBC micro bit v1, in itself is deprecated, do not see much value of this PR for users.

From a more objective perspective, as long as the board definition is part of the upstream tree, I think it makes sense to take support for it seriously. From a subjective perspective, I have many of these boards still lying around, so it's nice to be able to play with them and use them for testing :)

@cvinayak
Copy link
Contributor Author

cvinayak commented Sep 1, 2025

BBC micro bit v1, in itself is deprecated, do not see much value of this PR for users.

From a more objective perspective, as long as the board definition is part of the upstream tree, I think it makes sense to take support for it seriously. From a subjective perspective, I have many of these boards still lying around, so it's nice to be able to play with them and use them for testing :)

Very well, the BBC micro bit board can be used to scan extended advertising (assertions can be worked around, can be used as Auracast finder etc.). I have appended the assertion as known issue here: #82399

jhedberg
jhedberg previously approved these changes Sep 1, 2025
HaavardRei
HaavardRei previously approved these changes Sep 1, 2025
tags: bluetooth
extra_args:
- CONF_FILE="prj_extended.conf"
- EXTRA_CONF_FILE=overlay_bbc_microbit-bt_ll_sw_split.conf
Copy link
Contributor

Choose a reason for hiding this comment

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

It's kind of odd to have a board specific overlay, instead of having a file in the boards directory, although I kind of understand why, given the limitations of the build system.

It's also somewhat odd that overlay_bbc_microbit-bt_ll_sw_split.conf specifically is used (only with) prj_extended.conf, but the former has # CONFIG_BT_EXT_ADV=y.

Since overlay_bbc_microbit-bt_ll_sw_split.conf is an overlay, does it need values to include values that are otherwise set by prj.conf or prj_extended.conf?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It's kind of odd to have a board specific overlay

I am moving away from using board specific overlay for samples (many samples seems to not have board specific overlays) due to possibility of supporting different Controller implementations downstream (though nRF51 will not be supported by Nordic downstream). Also, there are too many boards in Zephyr, and board specific overlay will not scale.

Since overlay_bbc_microbit-bt_ll_sw_split.conf is an overlay, does it need values to include values that are otherwise set by prj.conf or prj_extended.conf?

in the case of BBC Micro Bit overlay the Scan Data Length is reduced to 192 (from 1650) bytes and rx buffer counts lowered due to RAM restrictions.

Copy link
Contributor

Choose a reason for hiding this comment

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

I am moving away from using board specific overlay for samples (many samples seems to not have board specific overlays) due to possibility of supporting different Controller implementations downstream (though nRF51 will not be supported by Nordic downstream). Also, there are too many boards in Zephyr, and board specific overlay will not scale.

I think I'm missing something here - Aren't you adding a board specific overlay in this PR?

in the case of BBC Micro Bit overlay the Scan Data Length is reduced to 192 (from 1650) bytes and rx buffer counts lowered due to RAM restrictions.

This overlay does way more than that though :o

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think I'm missing something here - Aren't you adding a board specific overlay in this PR?

board + Controller (choice) implementation overlay

This overlay does way more than that though :o

Yes, overlays to reduce code and RAM size, and use Controller Kconfig variants to workaround some CPU usage overheads/latencies (at the expense of reduced IRQ priorities available for application peripherals). Default Kconfigs for nRF51 cover BT Spec v4.2 features only.

Comment on lines 55 to 59
# Enable thread analysis
CONFIG_THREAD_ANALYZER=y
CONFIG_THREAD_ANALYZER_AUTO=y
CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=5
CONFIG_THREAD_NAME=y
Copy link
Contributor

Choose a reason for hiding this comment

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

Should this really be enabled by default? IIRC the bbc_microbit is fairly resource contrained, so it's odd to enable this for that board specifically.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It was a chicken-or-egg problem when setting the stack size; with large values the firmware does not build or with low value it does not run. Hence, had to have the thread analysis enabled by default to ensure future (code or RAM usage changes require) tuning, is possible. If the firmware is running expected with thread analysis, then it can be disabled to save on code and RAM usage.

Copy link
Contributor

Choose a reason for hiding this comment

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

But why do we only specifically enable the thread analyzer for this specific board? And by default? Seems like a debugging configuration

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will move this to debug.conf and include in the sample.yaml for CI builds. Please request changes.

Copy link
Contributor

Choose a reason for hiding this comment

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

I won't block the PR on this, and if @jhedberg and @HaavardRei both are fine with this, then it's OK :)

Copy link
Contributor

Choose a reason for hiding this comment

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

It does strike me as a bit odd to include a debugging config for one specific board/CI build.
At the least could you add a line to README.rst describing the debug.conf file? It would also be nice to have a future reference besides this PR for the motivation of adding the thread analyzer specifically for this board (commit message?).

Copy link
Member

Choose a reason for hiding this comment

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

Seems like they've now been moved to a new debug.conf

@cvinayak cvinayak dismissed stale reviews from HaavardRei and jhedberg via ddfa54e September 1, 2025 20:11
@cvinayak cvinayak force-pushed the github_observer_bbc_microbit branch from b524daf to ddfa54e Compare September 1, 2025 20:11
Relax the radio packet pointer assignment deadline assertion
until access address being transmitted. The PDU buffer is
probably only needed just after access address is being
transmitted or received by the radio. This will give some
more breathing room for slow CPUs like in nRF51x SoCs.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
Updated observer sample to use 10 ms continuous scanning
parameters.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
@cvinayak cvinayak force-pushed the github_observer_bbc_microbit branch from ddfa54e to 4681e08 Compare September 1, 2025 22:07
Add configuration overlay file to support observer sample
with Extended Scanning on BBC Micro Bit board.

Due to slow CPU, there will be assertions, and this commit
(for now) validates build-only. And the sample may run for
a duration until it asserts.

Asserts:

- ASSERTION FAIL [start_us == (aux_start_us + 1U)]
  @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/
  nordic/lll/lll_scan_aux.c:359
  This will happen for small aux offset value, definitely
  for the 300 us because CPU usage latency to setup such
  auxiliary PDU reception on nRF51 is high due to slow CPU.

- ASSERTION FAIL [0]
  @ WEST_TOPDIR/zephyr/subsys/bluetooth/controller/ll_sw/
  nordic/lll/lll_scan_aux.c:592
    prepare_cb: Actual EVENT_OVERHEAD_START_US = 579
  This will happen due to CPU usage latencies scheduling
  the radio events, due to slow CPU.

Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
@cvinayak cvinayak force-pushed the github_observer_bbc_microbit branch from 4681e08 to 20354b2 Compare September 2, 2025 07:32
@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 2, 2025

@kartben kartben merged commit eba3128 into zephyrproject-rtos:main Sep 2, 2025
28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Bluetooth Controller area: Bluetooth Host Bluetooth Host (excluding BR/EDR) area: Bluetooth area: Samples Samples platform: nRF BSIM Nordic Semiconductors, nRF BabbleSim

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants