mirror of
https://github.com/esphome/esphome.git
synced 2025-09-08 14:22:21 +01:00
[esp32_ble_tracker] Optimize connection by promoting client immediately after scan stop trigger
This commit is contained in:
@@ -238,10 +238,11 @@ void ESP32BLETracker::loop() {
|
|||||||
if (this->scanner_state_ == ScannerState::RUNNING) {
|
if (this->scanner_state_ == ScannerState::RUNNING) {
|
||||||
ESP_LOGD(TAG, "Stopping scan to make connection");
|
ESP_LOGD(TAG, "Stopping scan to make connection");
|
||||||
this->stop_scan_();
|
this->stop_scan_();
|
||||||
} else if (this->scanner_state_ == ScannerState::IDLE) {
|
// Don't wait for scan stop complete - promote immediately
|
||||||
|
// The BLE stack processes commands in order through its queue
|
||||||
|
}
|
||||||
|
|
||||||
ESP_LOGD(TAG, "Promoting client to connect");
|
ESP_LOGD(TAG, "Promoting client to connect");
|
||||||
// We only want to promote one client at a time.
|
|
||||||
// once the scanner is fully stopped.
|
|
||||||
#ifdef USE_ESP32_BLE_SOFTWARE_COEXISTENCE
|
#ifdef USE_ESP32_BLE_SOFTWARE_COEXISTENCE
|
||||||
ESP_LOGD(TAG, "Setting coexistence to Bluetooth to make connection.");
|
ESP_LOGD(TAG, "Setting coexistence to Bluetooth to make connection.");
|
||||||
if (!this->coex_prefer_ble_) {
|
if (!this->coex_prefer_ble_) {
|
||||||
@@ -250,7 +251,6 @@ void ESP32BLETracker::loop() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
client->set_state(ClientState::READY_TO_CONNECT);
|
client->set_state(ClientState::READY_TO_CONNECT);
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user