#include #include "max80_wifi.h" #include "max80_func.h" #include "WiFi.h" #include #include #include #include #include #include "max80_config.h" #include "max80_callback.h" #include "max80_web.h" #include "max80_gpio.h" #include "max80_littlefs.h" #include #include #include #define USING_ESP32_S2 true //#include #include "ESPAsyncWiFiManager.h" static const char TAG[] = __FILE__; extern WiFiClass WiFi; extern TaskHandle_t WiFi_Task; extern max80::std_max80 max80_std; extern max80::web max80_web; extern max80::callback max80_callback; extern max80::gpio max80_gpio; extern AsyncWebServer webserver; extern DNSServer dns; extern AsyncElegantOtaClass AsyncElegantOTA; extern WiFiMulti wifiMulti; extern TaskHandle_t ledtask; extern max80Config max80_config; extern max80::littlefs max80_littlefs; AsyncWiFiManager ESPAsync_wifiManager(&webserver,&dns ); #define MIN_AP_PASSWORD_SIZE 8 const char* ntpServer = "pool.ntp.org"; const long gmtOffset_sec = 0; const int daylightOffset_sec = 3600; namespace max80 { void configModeCallback (AsyncWiFiManager *myESP_WiFiManager) { ESP_LOGD(TAG,"Entered WiFi config mode"); uint32_t led = 100 << 8 | 1; if (xTaskNotify(ledtask, led, eSetValueWithoutOverwrite) == pdTRUE) { } } void saveconfigCallback () { ESP_LOGD(TAG,"Saving config"); String tempSSID = ESPAsync_wifiManager.getConfiguredSTASSID(); String tempPW = ESPAsync_wifiManager.getConfiguredSTAPassword(); strcpy(max80_config.WiFi_Creds->wifi_ssid,tempSSID.c_str()); strcpy(max80_config.WiFi_Creds->wifi_pw,tempPW.c_str()); max80_littlefs.saveconfig(); } //setSaveConfigCallback void wifi::setup(){ ESP_LOGD(TAG,"Entered WiFi setup"); ESP_LOGD(TAG,"%s",max80_config.WiFi_Creds->wifi_ssid); ESP_LOGD(TAG,"%s",max80_config.WiFi_Creds->wifi_pw); ESPAsync_wifiManager.setAPStaticIPConfig(IPAddress(192,168,132,1), IPAddress(192,168,132,1), IPAddress(255,255,255,0)); ESPAsync_wifiManager.setAPCallback(configModeCallback); ESPAsync_wifiManager.setSaveConfigCallback(saveconfigCallback); WiFi.setHostname("MAX80"); ESPAsync_wifiManager.autoConnect(max80_config.WiFi_Creds->wifi_ssid,max80_config.WiFi_Creds->wifi_pw); max80_web.init(); max80_web.connected=true; configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); uint32_t led = 1 << 8 | 1; if (xTaskNotify(ledtask, led, eSetValueWithoutOverwrite) == pdTRUE) { } } void wifi::reconnect(){ uint32_t led = 500 << 8 | 1; if (xTaskNotify(ledtask, led, eSetValueWithoutOverwrite) == pdTRUE) { } ESPAsync_wifiManager.autoConnect(max80_config.WiFi_Creds->wifi_ssid,max80_config.WiFi_Creds->wifi_pw); led = 1 << 8 | 1; if (xTaskNotify(ledtask, led, eSetValueWithoutOverwrite) == pdTRUE) { } } }