Jens Hauke 82670b96f8
Fix for missed scan response data (BLEScan). (#4358)
This is a fix for missing scan responses after a first successfull scan.

While running the BLE_scan.ino sketch with wantDuplicates=false, i got
only one result with correct advertising and scan response length (31,26):

pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks(), false);
pBLEScan->start(scanTime, false);
...
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1

All following calls to start() just returned the advertising data without
scan response data:

pBLEScan->start(scanTime, false);
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1

With "wantDuplicates=true" i got:

pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks(), true);
pBLEScan->start(scanTime, false);
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 26, addr type: 1
[W][BLEScan.cpp:73] handleGAPEvent(): ESP_GAP_SEARCH_INQ_CMPL_EVT
Devices found: 1
Scan done!
pBLEScan->start(scanTime, false);
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 0 + 26, addr type: 1
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 31 + 0, addr type: 1
[W][BLEScan.cpp:109] handleGAPEvent(): bytes length: 0 + 26, addr type: 1

Explicitly initializing m_scan_params.scan_duplicate of BLEScan solves
this issue (In my case the un-initialized value was
m_scan_params.scan_duplicate == 1073599044).

Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
2020-10-01 15:43:30 +03:00
..
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2020-09-30 15:25:42 +03:00
2020-09-30 15:25:42 +03:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-10-01 11:54:21 +03:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00
2019-04-12 15:43:53 +02:00