This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is it possible for central to disable scan filter?

Hi Nordics,

all the examples provided for searching for advertising peripherals use some sort of filter ( NAME, MAC, UUID, WHITELIST etc) . My questions is: Is it possible for a Central to disable the scan filter, and return all the devices in the surrounding environment ?

If that is possible , in theory after the "no filter" scan the adv report (should ??) have all these peripheral devices' information , which can then be accessed using ble_data_t data that contains the advertising packet as a byte array (uint8_t) and the length of the data. The reason for trying to things this way is because we are finding for alternate ways to search for the slave devices without modifying the library itself. With this adv report, we can match for devices name that have the prefix we are looking for, which would be another way to search for specific devices.

https://devzone.nordicsemi.com/f/nordic-q-a/36981/find-short-name-in-advertising-packet-using-ble_advdata_short_name_find-getting-always-false

I understand the correct way to search for specific devices with prefix names should be done as above, but like explained, we would like to ask if other ways are possible. Your reply would definitely help clarify if such thinking is correct, thx.

Parents Reply
  • Hi,

    the situation is that we are deploying a number of slave devices that have the same prefix, for e.g , "DorNSlav-", followed by a serial no. Let's say DorNSlav-0001 , DorNSlav-0002 , DorNSlav-0003 .... DorNSlav-0010 are in the field , and of course there are many other devices with various names that could be searched if using a no filter search. If using the typical searching method of using a COMPLETE NAME, only one device would be searched because it is pinpointing that particular device. Which explains why I said that we are looking for ways to report back devices that have the same prefix (DorNSlav-) . I hope that sort of explains the situation, and why i said that the below is the solution if library changes could be done directly https://devzone.nordicsemi.com/f/nordic-q-a/36981/find-short-name-in-advertising-packet-using-ble_advdata_short_name_find-getting-always-false

    What we want to do is to only add a name filter to the adv report, and filter out which devices with the prefix DorNSlav- are available. Then based on this filter result, connect to the slave devices that are available one by one.

    In the multicentral example, I have commented out all filter_set and filter enable settings in the scan_init, then commence  the scan_start. The  returned report was not what was expected as described here https://devzone.nordicsemi.com/nordic/short-range-guides/b/bluetooth-low-energy/posts/ble-central-tutorial , which led me to ask this question of whether no filter scanning is  even possible or not. Would it be possible for you to try out if such scanning results in reporting every device in the surrounding ?

    On the other hand, may I ask if the event "NRF_BLE_SCAN_EVT_NOT_FOUND" results in reporting the exact opposite of the filtered result ? If not, what is this event supposed to be applied for ? thx.

Children
No Data
Related