#include #include "config.h" NET_IP NET_GATEWAY NET_SUBNET bool wifiEnabled = false; void startWifi() { wifiEnabled = true; if (!WiFi.config(local_IP, gateway, subnet)) { // err return; } WiFi.mode(WIFI_STA); WiFi.begin(ssid, password); // while (WiFi.waitForConnectResult() != WL_CONNECTED) { // DEBUG_PRINTLN("Connection Failed! Rebooting..."); // delay(5000); // ESP.restart(); // } ArduinoOTA.setPasswordHash(PASSWORD_HASH); ArduinoOTA .onStart([]() { String type; if (ArduinoOTA.getCommand() == U_FLASH) type = "sketch"; else // U_SPIFFS type = "filesystem"; // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() // Serial.println("Start updating " + type); }) .onEnd([]() { // Serial.println("\nEnd"); }) .onProgress([](unsigned int progress, unsigned int total) { // Serial.printf("Progress: %u%%\r", (progress / (total / 100))); }) .onError([](ota_error_t error) { // Serial.printf("Error[%u]: ", error); // if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); // else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); // else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); // else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); // else if (error == OTA_END_ERROR) Serial.println("End Failed"); }); ArduinoOTA.begin(); // Serial.println("Wifi started"); } void stopWifi() { wifiEnabled = false; WiFi.disconnect(); } void triggerWifi() { if (!wifiEnabled) { startWifi(); } else { stopWifi(); } } void handleWifi() { if (!wifiEnabled) { return; } ArduinoOTA.handle(); } bool isWifiEnabled() { return wifiEnabled; } void setup_Wifi() { if (WIFI_INITIALLY_STARTED) startWifi(); }