Scanning on Coded PHY and 1M PHY with softdevice Controller

Hi,

I created an application, that scans on Coded PHY and 1M PHY simultaneously. The problem is, it only works with the Zephyr opensource LL, but not with the Nordic Softdevice LL.

With the Softdevice LL, I dont get any error and it seems like its working, but its only scanning for 1M devices. if I add the SCAN_OPT_NO_1M flag, coded scanning works, but ofcourse no 1M scanning.

these are my scan parameters:

static constexpr struct bt_le_scan_param scanParams{
.type=BT_LE_SCAN_TYPE_PASSIVE,
.options=BT_LE_SCAN_OPT_CODED,
.interval=BT_GAP_SCAN_SLOW_INTERVAL_1,
.window=0x320,
.timeout=0,
.interval_coded=BT_GAP_SCAN_SLOW_INTERVAL_1,
.window_coded=0x320,
};
This seems to be a bug in Nordics LL implementation? Im using sdk 2.6.1.
any help is much appreciated!
Kind regards,
Jonas
Parents Reply
  • Hi, 

    Are you using nRF52840DK? If not, could you test on nRF52840DK?

    I think there might be a bug in your code - something that is very easy to miss. BT_CONN_LE_OPT_CODED  is not the same as BT_LE_SCAN_OPT_CODED. The first is for connection establishment, the second one is for scanning.

    I tried using the samples peripheral_hr_coded and central_hr_coded in NCS 2.6.1 where I changed the scan parameters and the connection establishment parameters to what the customer wanted (see attached patch 1057.sample_diff.patch). That works as expected. 

    If the above doesn't help, please provide the project to investigate the issue. 

Children
Related