cargo: fix BMS reconnect backoff helper order

This commit is contained in:
2026-06-22 22:42:17 -06:00
parent b11151c832
commit db666190cf
2 changed files with 29 additions and 2 deletions
+28 -1
View File
@@ -290,7 +290,34 @@ int scanBleDevices(uint32_t scanSeconds) {
return bleScanResultCount;
}
static bool connectBms() {
static static void scheduleBmsReconnectBackoff();
static void clearBmsReconnectBackoff();
static void scheduleBmsReconnectBackoff() {
bmsConnectFailCount++;
if (bmsConnectBackoffMs == 0) {
bmsConnectBackoffMs = BMS_CONNECT_BACKOFF_INITIAL_MS;
} else {
bmsConnectBackoffMs = min(bmsConnectBackoffMs * 2, BMS_CONNECT_BACKOFF_MAX_MS);
}
bmsReconnectPausedUntil = millis() + bmsConnectBackoffMs;
Serial.print("BMS: reconnect backoff ");
Serial.print(bmsConnectBackoffMs / 1000);
Serial.print("s after ");
Serial.print(bmsConnectFailCount);
Serial.println(" failed attempt(s)");
}
static void clearBmsReconnectBackoff() {
bmsConnectFailCount = 0;
bmsConnectBackoffMs = 0;
bmsReconnectPausedUntil = 0;
}
bool connectBms() {
if (client && client->isConnected()) {
bmsData.connected = true;
return true;
@@ -1,4 +1,4 @@
#pragma once
#define FIRMWARE_VERSION "0.5.2-bms-missing-backoff"
#define FIRMWARE_VERSION "0.5.3-bms-backoff-compile-fix"
#define FIRMWARE_NAME "overland-controller"