KnxEsp/src/wifi.cpp

46 lines
895 B
C++

#include "wifi.h"
#include <ESP8266WiFi.h>
#define WIFI_TIMEOUT_MILLIS 20000
unsigned long wifiConnectBegin = 0;
bool wifiConnected = false;
bool isWiFiConnected() {
return wifiConnected;
}
void wifiSetup() {
wifiConnected = false;
WiFi.disconnect();
yield();
wifiConnectBegin = millis();
Serial.print("connecting wifi...\n");
WiFi.hostname("KnxEsp");
WiFi.begin("HappyNet", "1Grausame!Sackratte7");
}
void wifiLoop() {
if (!wifiConnected) {
if (WiFi.localIP() == 0UL) {
if (millis() - wifiConnectBegin > WIFI_TIMEOUT_MILLIS) {
if (wifiConnectBegin != 0) {
Serial.print("wifi timeout\n");
}
wifiSetup();
}
} else {
Serial.print("wifi connected\n");
wifiConnected = true;
}
} else {
if (WiFi.localIP() == 0UL) {
Serial.print("wifi disconnected\n");
wifiSetup();
}
}
}