mirror of
https://github.com/richonguzman/LoRa_APRS_iGate.git
synced 2026-04-10 00:45:25 +00:00
Wifi utils add multiple SSID
This commit is contained in:
parent
5750ca31b5
commit
4b0d5a4ca0
2 changed files with 16 additions and 21 deletions
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -28,9 +28,6 @@
|
|||
extern Configuration Config;
|
||||
extern NetworkManager *networkManager;
|
||||
|
||||
extern uint8_t myWiFiAPIndex;
|
||||
extern int myWiFiAPSize;
|
||||
extern WiFi_AP *currentWiFi;
|
||||
extern bool backUpDigiMode;
|
||||
|
||||
uint32_t previousWiFiMillis = 0;
|
||||
|
|
@ -79,25 +76,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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue