I'm working with the MADY40 C# example. I'm seeing some strange behavior where multiple identical instances of a device will show up in the scan list. This issue is intermittent.
Has anyone else seen this?
The scanning operation itself for bluetooth will receive packets from every device every time it sends out a "scan" ping. It could very well be that you aren't filtering the scanning packets to ignore/discard repeated scan response packets from the device(s).
Yes, that's true; however, it appears that the packets are supposed to be filtered in the example:
BLEManager.StartScan(new CyBleScanSettings(CyScanType.PASSIVE_SCAN, DEFAULT_SCAN_INTERVAL, DEFAULT_SCAN_WINDOW, CyInitiatorAddrType.PUBLIC, CyScanInitiatorFilterPolicy.ACCEPT_ALL_ADV, CyDiscoveryType.OBSERVATION_PROCEDURE, DEFAULT_SCAN_TIMEOUT, CyScanDuplicateFilterPolicy.ENABLE_DUPLICATE_FILTERING), ScanCallBack);
CyScanDuplicateFilterPolicy.ENABLE_DUPLICATE_FILTERING should enable scan advertisement duplicate filtering.
So far I haven't seen this issue in that example. Have you done any modification to the project? If so what are those? Can you please attach your modified code here?