Revert "Add conservative BMS reconnect backoff"
This reverts commit decbd655bb.
This commit is contained in:
@@ -511,31 +511,58 @@ void initBms() {
|
||||
}
|
||||
|
||||
void updateBms() {
|
||||
if (bmsSetupMode) {
|
||||
if (!appConfig.bms.enabled || appConfig.bms.address.length() == 0) {
|
||||
bmsData.connected = false;
|
||||
return;
|
||||
}
|
||||
|
||||
if ((long)(bmsReconnectPausedUntil - millis()) > 0) {
|
||||
unsigned long now = millis();
|
||||
|
||||
if (!client || !client->isConnected()) {
|
||||
bmsData.connected = false;
|
||||
|
||||
if (now - lastBmsAttemptMs < bmsRetryIntervalMs) {
|
||||
return;
|
||||
}
|
||||
|
||||
lastBmsAttemptMs = now;
|
||||
|
||||
if (!connectBms()) {
|
||||
consecutiveBmsFailures++;
|
||||
|
||||
if (consecutiveBmsFailures >= 3) {
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_LONG_FAIL_MS;
|
||||
} else {
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_FAILED_MS;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
consecutiveBmsFailures = 0;
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_CONNECTED_MS;
|
||||
}
|
||||
|
||||
if (!requestBmsData()) {
|
||||
bmsData.connected = false;
|
||||
consecutiveBmsFailures++;
|
||||
|
||||
if (client) {
|
||||
client->disconnect();
|
||||
}
|
||||
|
||||
if (consecutiveBmsFailures >= 3) {
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_LONG_FAIL_MS;
|
||||
} else {
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_FAILED_MS;
|
||||
}
|
||||
|
||||
lastBmsAttemptMs = now;
|
||||
return;
|
||||
}
|
||||
|
||||
if (millis() - lastReadAttempt < READ_INTERVAL_MS) {
|
||||
return;
|
||||
}
|
||||
|
||||
lastReadAttempt = millis();
|
||||
|
||||
if (!connectBms()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (requestPacket(JBD_STATUS_REQUEST, sizeof(JBD_STATUS_REQUEST))) {
|
||||
parseBasicInfo();
|
||||
}
|
||||
|
||||
delay(100);
|
||||
|
||||
if (requestPacket(JBD_CELL_REQUEST, sizeof(JBD_CELL_REQUEST))) {
|
||||
parseCellVoltages();
|
||||
}
|
||||
consecutiveBmsFailures = 0;
|
||||
bmsRetryIntervalMs = BMS_RETRY_INTERVAL_CONNECTED_MS;
|
||||
bmsData.connected = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user