mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-30 22:53:59 +00:00 
			
		
		
		
	[esp32_ble_tracker] Optimize connection by promoting client immediately after scan stop trigger
This commit is contained in:
		| @@ -238,19 +238,19 @@ void ESP32BLETracker::loop() { | ||||
|         if (this->scanner_state_ == ScannerState::RUNNING) { | ||||
|           ESP_LOGD(TAG, "Stopping scan to make connection"); | ||||
|           this->stop_scan_(); | ||||
|         } else if (this->scanner_state_ == ScannerState::IDLE) { | ||||
|           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 | ||||
|           ESP_LOGD(TAG, "Setting coexistence to Bluetooth to make connection."); | ||||
|           if (!this->coex_prefer_ble_) { | ||||
|             this->coex_prefer_ble_ = true; | ||||
|             esp_coex_preference_set(ESP_COEX_PREFER_BT);  // Prioritize Bluetooth | ||||
|           } | ||||
| #endif | ||||
|           client->set_state(ClientState::READY_TO_CONNECT); | ||||
|           // 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"); | ||||
| #ifdef USE_ESP32_BLE_SOFTWARE_COEXISTENCE | ||||
|         ESP_LOGD(TAG, "Setting coexistence to Bluetooth to make connection."); | ||||
|         if (!this->coex_prefer_ble_) { | ||||
|           this->coex_prefer_ble_ = true; | ||||
|           esp_coex_preference_set(ESP_COEX_PREFER_BT);  // Prioritize Bluetooth | ||||
|         } | ||||
| #endif | ||||
|         client->set_state(ClientState::READY_TO_CONNECT); | ||||
|         break; | ||||
|       } | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user