I have a sensor that uses 3 different BLE mechanisms. It is part of a mesh, it sometimes sends beacons and it provides GATT services in a peripheral role. The project I'm working on needs to connect to this sensor. So, I set up a filter that filters on UUID (the GATT service that's needed runs NUS) and the sensor's address.
Sometimes this works great, but sometimes it keeps telling me there is no match on the filter - I just get tons of NRF_BLE_SCAN_EVT_NOT_FOUND events from the scan event handler. It looks like the system doesn't check if the advertisement packets it sees are actually the same as the one it has seen before - e.g. is caches.
Is it possible to tell the scanning mechanism it should clear its cache? I set up the scanner to automatically stop after 30 seconds and than start it again, I would like to clear the cache before restarting it.