From bf27b471d5231ffabe33f6d564adeb9e19db6294 Mon Sep 17 00:00:00 2001 From: aridet Date: Wed, 19 Oct 2022 11:35:08 +0200 Subject: [PATCH] Fix BluetoothSerial thinking it's disconnected Currently, if a second connection occur in Bluetooth, this second connection is automatically disconnected (line 284). This disconnection trigger the ESP_SPP_CLOSE_EVT, which clear the bit SPP_CONNECTED. But the first connection remain active, and this flag shouldn't be cleared. This fix the issue, by clearing the flag only if the last connection is closed --- libraries/BluetoothSerial/src/BluetoothSerial.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/BluetoothSerial/src/BluetoothSerial.cpp b/libraries/BluetoothSerial/src/BluetoothSerial.cpp index d58a254d961..e430fe7255e 100644 --- a/libraries/BluetoothSerial/src/BluetoothSerial.cpp +++ b/libraries/BluetoothSerial/src/BluetoothSerial.cpp @@ -301,8 +301,8 @@ static void esp_spp_cb(esp_spp_cb_event_t event, esp_spp_cb_param_t *param) xEventGroupSetBits(_spp_event_group, SPP_DISCONNECTED); xEventGroupSetBits(_spp_event_group, SPP_CONGESTED); xEventGroupSetBits(_spp_event_group, SPP_CLOSED); + xEventGroupClearBits(_spp_event_group, SPP_CONNECTED); } - xEventGroupClearBits(_spp_event_group, SPP_CONNECTED); } else { log_e("ESP_SPP_CLOSE_EVT failed!, status:%d", param->close.status); }