From 9d67ddcf6e22ed3ea9d7da2dfcb368f87d3411f7 Mon Sep 17 00:00:00 2001 From: ailurux Date: Wed, 29 May 2024 08:14:07 +1000 Subject: [PATCH] Fix issue where failing to connect bt device initially won't retry --- src/drivers/bluetooth.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/drivers/bluetooth.cpp b/src/drivers/bluetooth.cpp index f812eb4a..13d6747e 100644 --- a/src/drivers/bluetooth.cpp +++ b/src/drivers/bluetooth.cpp @@ -408,7 +408,10 @@ auto BluetoothState::connect(const MacAndName& dev) -> bool { dev.mac[0], dev.mac[1], dev.mac[2], dev.mac[3], dev.mac[4], dev.mac[5]); if (esp_a2d_source_connect(sConnectingDevice_->mac.data()) != ESP_OK) { - return false; + ESP_LOGI(kTag, "Connecting failed..."); + if (sConnectAttemptsRemaining_>1) { + ESP_LOGI(kTag, "Will retry."); + } } transit(); @@ -537,7 +540,7 @@ static void timeoutCallback(TimerHandle_t) { } void Connecting::entry() { - sTimeoutTimer = xTimerCreate("bt_timeout", pdMS_TO_TICKS(15000), false, NULL, + sTimeoutTimer = xTimerCreate("bt_timeout", pdMS_TO_TICKS(15000), false, NULL, timeoutCallback); xTimerStart(sTimeoutTimer, portMAX_DELAY); @@ -565,7 +568,7 @@ void Connecting::react(const events::ConnectTimedOut& ev) { void Connecting::react(const events::Disable& ev) { // TODO: disconnect gracefully - transit(); + transit(); } void Connecting::react(const events::PreferredDeviceChanged& ev) {