Set scan_duplicate in BLE scan params (#4126)
This value is uninitialised and as such can be a random (and invalid) value. It's needs to be set per the espressif documentation here: https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/bluetooth/esp_gap_ble.html#_CPPv4N21esp_ble_scan_params_t14scan_duplicateE This PR sets it to DUPLICATE_DISABLE. Chosen as this is needed to ensure all scan data is populated in the scan callback, per this comment in the IDF: https://github.com/espressif/esp-idf/blob/master/components/bt/host/bluedroid/stack/btm/btm_ble_gap.c#L3591 "//if scan duplicate is enabled, the adv packet without scan response is allowed to report to higher layer" We **don't** want it to report to the higher layer (ie BLEScan.cpp) **unless** it has the active scan response. Seems to resolve #3770 #3677 and possibly others.
Showing
想要评论请 注册 或 登录