Hello.
I try to add scanning filter to central_multilink example from Zephyr examples. Filter is set to short_name, I added filter settings just before start scanner.
static void start_scan(void)
{
struct bt_le_scan_param scan_param = {
.type = BT_HCI_LE_SCAN_PASSIVE,
.options = BT_LE_SCAN_OPT_NONE,
.interval = SCAN_INTERVAL,
.window = SCAN_WINDOW,
};
int err;
struct bt_scan_short_name myname;
myname.name="DEVX";
myname.min_len=7;
err = bt_scan_filter_add(BT_SCAN_FILTER_TYPE_SHORT_NAME, &myname);
if (err)
{
printk("\nScanning filters cannot be set (err %d)\n", err);
}
err = bt_scan_filter_enable(BT_SCAN_SHORT_NAME_FILTER, false);
if (err)
{
printk("\nFilters cannot be turned on (err %d)\n", err);
}
err = bt_le_scan_start(&scan_param, device_found);
if (err)
{
printk("Scanning failed to start (err %d)\n", err);
return;
}
printk("Scanning successfully started\n");
}
Unfortunatelly it doesn't work. If I set in prj.conf: