Wifi utils add multiple SSID

This commit is contained in:
Petr Kracik
2026-03-05 23:31:07 +01:00
committed by Petr Kracík
parent b0d441a519
commit 9775c601bb
2 changed files with 16 additions and 21 deletions
-4
View File
@@ -82,10 +82,6 @@ WiFiClient mqttClient;
NetworkManager *networkManager;
uint8_t myWiFiAPIndex = 0;
int myWiFiAPSize = Config.wifiAPs.size();
WiFi_AP *currentWiFi = &Config.wifiAPs[myWiFiAPIndex];
bool isUpdatingOTA = false;
uint32_t lastBatteryCheck = 0;
+16 -17
View File
@@ -28,9 +28,6 @@
extern Configuration Config;
extern NetworkManager *networkManager;
extern uint8_t myWiFiAPIndex;
extern int myWiFiAPSize;
extern WiFi_AP *currentWiFi;
extern bool backupDigiMode;
extern uint32_t lastServerCheck;
@@ -85,25 +82,27 @@ namespace WIFI_Utils {
}
void startWiFi() {
if (currentWiFi->ssid.isEmpty()) {
bool hasNetworks = false;
networkManager->clearWiFiNetworks();
for (size_t i = 0; i < Config.wifiAPs.size(); i++) {
const WiFi_AP& wifiAP = Config.wifiAPs[i];
if (wifiAP.ssid.isEmpty()) {
continue;
}
hasNetworks = true;
networkManager->addWiFiNetwork(wifiAP.ssid, wifiAP.password);
}
if (!hasNetworks) {
Serial.println("WiFi SSID not set! Starting Auto AP");
startAutoAP();
return;
}
// TODO: Create generic multi-SSID support in Network Manager
while (!networkManager->isWiFiConnected()) {
displayShow("", "Connecting to WiFi:", "", currentWiFi->ssid + " ...", 0);
networkManager->disconnectWiFi();
networkManager->connectWiFi(currentWiFi->ssid, currentWiFi->password);
if(myWiFiAPIndex >= (myWiFiAPSize - 1)) {
break;
}
myWiFiAPIndex++;
currentWiFi = &Config.wifiAPs[myWiFiAPIndex];
}
displayShow("", "Connecting to WiFi:", "", " loading ...", 0);
networkManager->connectWiFi();
#ifdef INTERNAL_LED_PIN
digitalWrite(INTERNAL_LED_PIN, LOW);