coded PHY advertising isn't connecting on connect_if_match=1

i'm trying to change nrf/samples/bluetooth/throghput to coded PHY advertising.

I changed the scan options to BT_LE_SCAN_OPT_FILTER_DUPLICATE | BT_LE_SCAN_OPT_CODED | BT_LE_SCAN_OPT_NO_1M.

I changed the adv_start function to:

static void adv_start(void)
 {
     struct bt_le_adv_param *adv_param =
         BT_LE_ADV_PARAM(BT_LE_ADV_OPT_CONNECTABLE |
                 BT_LE_ADV_OPT_ONE_TIME | BT_LE_ADV_OPT_EXT_ADV | BT_LE_ADV_OPT_CODED,
                 BT_GAP_ADV_FAST_INT_MIN_2,
                 BT_GAP_ADV_FAST_INT_MAX_2,
                 NULL);
     int err;

     struct bt_le_ext_adv *adv;
     err = bt_le_ext_adv_create(adv_param, NULL, &adv);
     if (err) {
         printk("Failed to create advertiser (%d)\n", err);
         return;
     }

     err = bt_le_ext_adv_set_data(adv, ad, ARRAY_SIZE(ad), NULL, 0);
       if (err) {
            printk("Failed to set advertiser data set (%d)\n", err);
            return;
        }

     err = bt_le_ext_adv_start(adv, NULL);
       if (err) {
            printk("Failed to start advertiser (%d)\n", err);
            return;
        }
 }

and added CONFIG_BT_EXT_ADV=y

there is a filter match but nothing happens next.. i tried to add a printk "scan_connecting_data" callback and it is called..

if i keep the same changes but remove the BT_LE_ADV/SCAN_OPT_CODED and BT_LE_SCAN_OPT_NO_1M it works again...

what can be the issue?

uart:~$
Central. Starting scanning
Filters matched. Address: F9:6C:29:6F:41:64 (random) connectable: 1
Connecting data callback

Parents Reply Children
No Data
Related