Fix issue where failing to connect bt device initially won't retry

custom
ailurux 11 months ago
parent c846146c2f
commit 9d67ddcf6e
  1. 9
      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[0], dev.mac[1], dev.mac[2], dev.mac[3], dev.mac[4],
dev.mac[5]); dev.mac[5]);
if (esp_a2d_source_connect(sConnectingDevice_->mac.data()) != ESP_OK) { 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<Connecting>(); transit<Connecting>();
@ -537,7 +540,7 @@ static void timeoutCallback(TimerHandle_t) {
} }
void Connecting::entry() { void Connecting::entry() {
sTimeoutTimer = xTimerCreate("bt_timeout", pdMS_TO_TICKS(15000), false, NULL, sTimeoutTimer = xTimerCreate("bt_timeout", pdMS_TO_TICKS(15000), false, NULL,
timeoutCallback); timeoutCallback);
xTimerStart(sTimeoutTimer, portMAX_DELAY); xTimerStart(sTimeoutTimer, portMAX_DELAY);
@ -565,7 +568,7 @@ void Connecting::react(const events::ConnectTimedOut& ev) {
void Connecting::react(const events::Disable& ev) { void Connecting::react(const events::Disable& ev) {
// TODO: disconnect gracefully // TODO: disconnect gracefully
transit<Disabled>(); transit<Disabled>();
} }
void Connecting::react(const events::PreferredDeviceChanged& ev) { void Connecting::react(const events::PreferredDeviceChanged& ev) {

Loading…
Cancel
Save