diff --git a/src/LoRa_APRS_iGate.cpp b/src/LoRa_APRS_iGate.cpp index bdf6b84..de8ab9f 100644 --- a/src/LoRa_APRS_iGate.cpp +++ b/src/LoRa_APRS_iGate.cpp @@ -13,7 +13,7 @@ #include #include -#define VERSION "2023.06.04" +#define VERSION "2023.06.06" WiFiClient espClient; AsyncWebServer server(80); @@ -35,7 +35,7 @@ std::vector lastHeardStation_temp; String firstLine, secondLine, thirdLine, fourthLine, iGateLatitude, iGateLongitude; -void setup_wifi() { +/*void setup_wifi() { int status = WL_IDLE_STATUS; Serial.print("\nConnecting to WiFi '"); Serial.print(currentWiFi->ssid); Serial.print("' "); show_display("", "Connecting to Wifi:", currentWiFi->ssid + " ...", 0); @@ -50,7 +50,7 @@ void setup_wifi() { Serial.println("STA Failed to configure"); } //WiFi.config(Config.network.ip, Config.network.gateway, Config.network.subnet, Config.network.dns1, Config.network.dns2); - }*/ + } WiFi.begin(currentWiFi->ssid.c_str(), currentWiFi->password.c_str()); while (WiFi.status() != WL_CONNECTED) { @@ -71,7 +71,7 @@ void setup_wifi() { } Serial.print("Connected as "); Serial.println(WiFi.localIP()); -} +}*/ void APRS_IS_connect(){ int count = 0; diff --git a/src/display.cpp b/src/display.cpp index 1bc9cf8..e9fc2ba 100644 --- a/src/display.cpp +++ b/src/display.cpp @@ -1,4 +1,3 @@ - #include #include #include diff --git a/src/utils.h b/src/utils.h index e232d26..b29bd57 100644 --- a/src/utils.h +++ b/src/utils.h @@ -8,4 +8,5 @@ namespace utils { void processStatus(); } + #endif \ No newline at end of file diff --git a/src/wifi_utils.cpp b/src/wifi_utils.cpp new file mode 100644 index 0000000..0400c1f --- /dev/null +++ b/src/wifi_utils.cpp @@ -0,0 +1,39 @@ +#include +#include "wifi_utils.h" +#include "configuration.h" + +extern Configuration Config; +extern WiFi_AP *currentWiFi; +extern int myWiFiAPIndex; +extern int myWiFiAPSize; + +namespace WIFI_Utils { + +void setup() { + int status = WL_IDLE_STATUS; + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + delay(500); + unsigned long start = millis(); + Serial.print("\nConnecting to '"); Serial.print(currentWiFi->ssid); Serial.println("' WiFi ..."); + WiFi.begin(currentWiFi->ssid.c_str(), currentWiFi->password.c_str()); + while (WiFi.status() != WL_CONNECTED) { + Serial.print('.'); + delay(1000); + if ((millis() - start) > 15000){ + if(myWiFiAPIndex >= (myWiFiAPSize-1)) { + myWiFiAPIndex = 0; + } else { + myWiFiAPIndex++; + } + currentWiFi = &Config.wifiAPs[myWiFiAPIndex]; + start = millis(); + Serial.print("\nConnect to WiFi '"); Serial.print(currentWiFi->ssid); Serial.println("' ..."); + WiFi.begin(currentWiFi->ssid.c_str(), currentWiFi->password.c_str()); + } + } + Serial.print("Connected as "); + Serial.println(WiFi.localIP()); +} + +} \ No newline at end of file diff --git a/src/wifi_utils.h b/src/wifi_utils.h new file mode 100644 index 0000000..235c84a --- /dev/null +++ b/src/wifi_utils.h @@ -0,0 +1,12 @@ +#ifndef WIFI_UTILS_H_ +#define WIFI_UTILS_H_ + +#include + +namespace WIFI_Utils { + +void setup(); + +} + +#endif \ No newline at end of file