diff --git a/WiFiManager.cpp b/WiFiManager.cpp index 74e5bf1..3034a9d 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -576,7 +576,7 @@ void WiFiManager::handleRoot() { DEBUG_WM(F("<- HTTP Root")); if (captivePortal()) return; // If captive portal redirect instead of displaying the page handleRequest(); - String page = getHTTPHead("options"); // @token options + String page = getHTTPHead(FPSTR(S_options)); // @token options String str = FPSTR(HTTP_ROOT_MAIN); str.replace("{v}",configPortalActive ? _apName : WiFi.localIP().toString()); // use ip if ap is not active for heading page += str; @@ -595,7 +595,7 @@ void WiFiManager::handleRoot() { void WiFiManager::handleWifi(boolean scan) { DEBUG_WM("<- HTTP Wifi"); handleRequest(); - String page = getHTTPHead("Config ESP"); // @token titlewifi + String page = getHTTPHead(FPSTR(S_titlewifi)); // @token titlewifi if (scan) { page += getScanItemOut(); } @@ -627,7 +627,7 @@ String WiFiManager::getScanItemOut(){ DEBUG_WM(F("Scan done")); if (n == 0) { DEBUG_WM(F("No networks found")); - page += F("No networks found. Refresh to scan again."); // @token scannotfound + page += FPSTR(S_nonetworks); // @token nonetworks } else { //sort networks @@ -724,7 +724,7 @@ String WiFiManager::getStaticOut(){ item.replace("{i}", "ip"); item.replace("{n}", "ip"); item.replace("{p}", "{t}"); - item.replace("{t}", "Static IP"); // @token staticip + item.replace("{t}", FPSTR(S_staticip)); // @token staticip item.replace("{l}", "15"); item.replace("{v}", (_sta_static_ip ? _sta_static_ip.toString() : "")); item.replace("{c}", ""); @@ -740,7 +740,7 @@ String WiFiManager::getStaticOut(){ item.replace("{i}", "gw"); item.replace("{n}", "gw"); item.replace("{p}", "{t}"); - item.replace("{t}", "Static Gateway"); // @token staticgateway + item.replace("{t}", FPSTR(S_staticgw)); // @token staticgw item.replace("{l}", "15"); item.replace("{v}", (_sta_static_gw ? _sta_static_gw.toString() : "")); item.replace("{c}", ""); @@ -756,7 +756,7 @@ String WiFiManager::getStaticOut(){ item.replace("{i}", "sn"); item.replace("{n}", "sn"); item.replace("{p}", "{t}"); - item.replace("{t}", "Subnet"); // @token subnet + item.replace("{t}", FPSTR(S_subnet)); // @token subnet item.replace("{l}", "15"); item.replace("{v}", (_sta_static_sn ? _sta_static_sn.toString() : "")); item.replace("{c}", ""); @@ -896,7 +896,7 @@ void WiFiManager::handleWifiSave() { DEBUG_WM(F("static netmask:"),sn); } - String page = getHTTPHead("Credentials Saved"); // @token titlewifisaved + String page = getHTTPHead(FPSTR(S_titlewifisaved)); // @token titlewifisaved page += FPSTR(HTTP_SAVED); page += FPSTR(HTTP_END); @@ -914,11 +914,43 @@ void WiFiManager::handleWifiSave() { void WiFiManager::handleInfo() { DEBUG_WM(F("<- HTTP Info")); handleRequest(); - String page = getHTTPHead("Info"); // @token titleinfo + String page = getHTTPHead(FPSTR(S_titleinfo)); // @token titleinfo reportStatus(page); - page += F("

esp8266


"); - page += getInfoData("HTTP_INFO_uptime"); + String infoids[] = { + "esphead", + "uptime", + "chipid", + "fchipid", + "idesize", + "flashsize", + "sdkver", + "corever", + "bootver", + "cpufreq", + "freeheap", + "memsketch", + "memsmeter", + "lastreset", + "wifihead", + "apip", + "apmac", + "apssid", + "apbssid", + "staip", + "stagw", + "stasub", + "dnss", + "host", + "stamac", + "conx", + "autoconx" + }; + + for(int i=0; i<25;i++){ + page += getInfoData(infoids[i]); + } + page += F("
"); page += FPSTR(HTTP_ERASEBTN); page += FPSTR(HTTP_HELP); @@ -932,114 +964,116 @@ void WiFiManager::handleInfo() { String WiFiManager::getInfoData(String id){ -String p; -// @todo add versioning -if(id=="HTTP_INFO_uptime"){ - // subject to rollover! - p = FPSTR(HTTP_INFO_uptime); - p.replace("{1}",(String)(system_get_time() / 1000000 / 60) + " mins "); // @token mins - p.replace("{2}",(String)((system_get_time() / 1000000)%60) + " secs"); // @token secs -} -if(id=="HTTP_INFO_chipid"){ - p = FPSTR(HTTP_INFO_chipid); - p.replace("{1}",(String)WIFI_getChipId()); -} -if(id=="HTTP_INFO_fchipid"){ - p = FPSTR(HTTP_INFO_fchipid); - p.replace("{1}",(String)ESP.getFlashChipId()); -} -if(id=="HTTP_INFO_idesize"){ - p = FPSTR(HTTP_INFO_idesize); - p.replace("{1}",(String)ESP.getFlashChipSize()); -} -if(id=="HTTP_INFO_flashsize"){ - p = FPSTR(HTTP_INFO_flashsize); - p.replace("{1}",(String)ESP.getFlashChipRealSize()); -} -if(id=="HTTP_INFO_sdkver"){ - p = FPSTR(HTTP_INFO_sdkver); - p.replace("{1}",(String)system_get_sdk_version()); -} -if(id=="HTTP_INFO_corever"){ - p = FPSTR(HTTP_INFO_corever); - p.replace("{1}",(String)ESP.getCoreVersion()); -} -if(id=="HTTP_INFO_bootver"){ - p = FPSTR(HTTP_INFO_bootver); - p.replace("{1}",(String)system_get_boot_version()); -} -if(id=="HTTP_INFO_cpufreq"){ - p = FPSTR(HTTP_INFO_cpufreq); - p.replace("{1}",(String)ESP.getCpuFreqMHz()); -} -if(id=="HTTP_INFO_freeheap"){ - p = FPSTR(HTTP_INFO_freeheap); - p.replace("{1}",(String)ESP.getFreeHeap()); -} -if(id=="HTTP_INFO_memsketch"){ - p = FPSTR(HTTP_INFO_memsketch); - p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace())); - p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace())); -} -if(id=="HTTP_INFO_memsmeter"){ - p = FPSTR(HTTP_INFO_memsmeter); - p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace())); - p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace())); -} -if(id=="HTTP_INFO_lastreset"){ - p = FPSTR(HTTP_INFO_lastreset); - p.replace("{1}",(String)ESP.getResetReason()); -} -if(id=="HTTP_INFO_apip"){ - p = FPSTR(HTTP_INFO_apip); - p.replace("{1}",WiFi.softAPIP().toString()); -} -if(id=="HTTP_INFO_apmac"){ - p = FPSTR(HTTP_INFO_apmac); - p.replace("{1}",(String)WiFi.softAPmacAddress()); -} -if(id=="HTTP_INFO_apssid"){ - p = FPSTR(HTTP_INFO_apssid); - p.replace("{1}",(String)WiFi.SSID()); -} -if(id=="HTTP_INFO_apbssid"){ - p = FPSTR(HTTP_INFO_apbssid); - p.replace("{1}",(String)WiFi.BSSIDstr()); -} -if(id=="HTTP_INFO_staip"){ - p = FPSTR(HTTP_INFO_staip); - p.replace("{1}",WiFi.localIP().toString()); -} -if(id=="HTTP_INFO_stagw"){ - p = FPSTR(HTTP_INFO_stagw); - p.replace("{1}",WiFi.gatewayIP().toString()); -} -if(id=="HTTP_INFO_stasub"){ - p = FPSTR(HTTP_INFO_stasub); - p.replace("{1}",WiFi.subnetMask().toString()); -} -if(id=="HTTP_INFO_dnss"){ - p = FPSTR(HTTP_INFO_dnss); - p.replace("{1}",WiFi.dnsIP().toString()); -} -if(id=="HTTP_INFO_host"){ - p = FPSTR(HTTP_INFO_host); - p.replace("{1}",WiFi.hostname()); -} -if(id=="HTTP_INFO_stamac)"){ - p = FPSTR(HTTP_INFO_stamac); - p.replace("{1}",WiFi.macAddress()); -} -if(id=="HTTP_INFO_conx"){ - p = FPSTR(HTTP_INFO_conx); - p.replace("{1}",WiFi.isConnected() ? "Yes" : "No"); //@token Y,N -} -if(id=="HTTP_INFO_autoconx"){ - p = FPSTR(HTTP_INFO_autoconx); - p.replace("{1}",WiFi.getAutoConnect() ? "Enabled" : "Disabled"); // @token enabled,disabled -} + String p; + // @todo add versioning + if(id=="esphead")p = FPSTR(HTTP_INFO_esphead); + else if(id=="wifihead")p = FPSTR(HTTP_INFO_wifihead); + else if(id=="uptime"){ + // subject to rollover! + p = FPSTR(HTTP_INFO_uptime); + p.replace("{1}",(String)(system_get_time() / 1000000 / 60)); + p.replace("{2}",(String)((system_get_time() / 1000000)%60)); + } + else if(id=="chipid"){ + p = FPSTR(HTTP_INFO_chipid); + p.replace("{1}",(String)WIFI_getChipId()); + } + else if(id=="fchipid"){ + p = FPSTR(HTTP_INFO_fchipid); + p.replace("{1}",(String)ESP.getFlashChipId()); + } + else if(id=="idesize"){ + p = FPSTR(HTTP_INFO_idesize); + p.replace("{1}",(String)ESP.getFlashChipSize()); + } + else if(id=="flashsize"){ + p = FPSTR(HTTP_INFO_flashsize); + p.replace("{1}",(String)ESP.getFlashChipRealSize()); + } + else if(id=="sdkver"){ + p = FPSTR(HTTP_INFO_sdkver); + p.replace("{1}",(String)system_get_sdk_version()); + } + else if(id=="corever"){ + p = FPSTR(HTTP_INFO_corever); + p.replace("{1}",(String)ESP.getCoreVersion()); + } + else if(id=="bootver"){ + p = FPSTR(HTTP_INFO_bootver); + p.replace("{1}",(String)system_get_boot_version()); + } + else if(id=="cpufreq"){ + p = FPSTR(HTTP_INFO_cpufreq); + p.replace("{1}",(String)ESP.getCpuFreqMHz()); + } + else if(id=="freeheap"){ + p = FPSTR(HTTP_INFO_freeheap); + p.replace("{1}",(String)ESP.getFreeHeap()); + } + else if(id=="memsketch"){ + p = FPSTR(HTTP_INFO_memsketch); + p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace())); + p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace())); + } + else if(id=="memsmeter"){ + p = FPSTR(HTTP_INFO_memsmeter); + p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace())); + p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace())); + } + else if(id=="lastreset"){ + p = FPSTR(HTTP_INFO_lastreset); + p.replace("{1}",(String)ESP.getResetReason()); + } + else if(id=="apip"){ + p = FPSTR(HTTP_INFO_apip); + p.replace("{1}",WiFi.softAPIP().toString()); + } + else if(id=="apmac"){ + p = FPSTR(HTTP_INFO_apmac); + p.replace("{1}",(String)WiFi.softAPmacAddress()); + } + else if(id=="apssid"){ + p = FPSTR(HTTP_INFO_apssid); + p.replace("{1}",(String)WiFi.SSID()); + } + else if(id=="apbssid"){ + p = FPSTR(HTTP_INFO_apbssid); + p.replace("{1}",(String)WiFi.BSSIDstr()); + } + else if(id=="staip"){ + p = FPSTR(HTTP_INFO_staip); + p.replace("{1}",WiFi.localIP().toString()); + } + else if(id=="stagw"){ + p = FPSTR(HTTP_INFO_stagw); + p.replace("{1}",WiFi.gatewayIP().toString()); + } + else if(id=="stasub"){ + p = FPSTR(HTTP_INFO_stasub); + p.replace("{1}",WiFi.subnetMask().toString()); + } + else if(id=="dnss"){ + p = FPSTR(HTTP_INFO_dnss); + p.replace("{1}",WiFi.dnsIP().toString()); + } + else if(id=="host"){ + p = FPSTR(HTTP_INFO_host); + p.replace("{1}",WiFi.hostname()); + } + else if(id=="stamac)"){ + p = FPSTR(HTTP_INFO_stamac); + p.replace("{1}",WiFi.macAddress()); + } + else if(id=="conx"){ + p = FPSTR(HTTP_INFO_conx); + p.replace("{1}",WiFi.isConnected() ? FPSTR(S_y) : FPSTR(S_n)); + } + else if(id=="autoconx"){ + p = FPSTR(HTTP_INFO_autoconx); + p.replace("{1}",WiFi.getAutoConnect() ? FPSTR(S_enable) : FPSTR(S_disable)); + } -return p; + return p; } /** @@ -1048,8 +1082,8 @@ return p; void WiFiManager::handleExit() { DEBUG_WM(F("<- HTTP Exit")); handleRequest(); - String page = getHTTPHead("Exit"); // @token titleexit - page += "Exiting"; // @token exiting + String page = getHTTPHead(FPSTR(S_titleexit)); // @token titleexit + page += FPSTR(S_exiting); // @token exiting server->sendHeader("Content-Length", String(page.length())); server->send(200, "text/html", page); abort = true; @@ -1061,8 +1095,8 @@ void WiFiManager::handleExit() { void WiFiManager::handleReset() { DEBUG_WM(F("<- HTTP Reset")); handleRequest(); - String page = getHTTPHead("Reset"); //@token titlereset - page += F("Module will reset in a few seconds."); + String page = getHTTPHead(FPSTR(S_titlereset)); //@token titlereset + page += FPSTR(S_resetting); //@token resetting page += FPSTR(HTTP_END); server->sendHeader("Content-Length", String(page.length())); @@ -1079,14 +1113,14 @@ void WiFiManager::handleReset() { void WiFiManager::handleErase() { DEBUG_WM(F("<- HTTP Erase")); handleRequest(); - String page = getHTTPHead("Erase"); // @token titleerase + String page = getHTTPHead(FPSTR(S_titleerase)); // @token titleerase page += FPSTR(HTTP_HEAD_END); bool ret = WiFi_eraseConfig(); - if(ret) page += F("Module will reset in a few seconds."); // @token resetting + if(ret) page += FPSTR(S_resetting); // @token resetting else { - page += F("An Error Occured"); // @token erroroccur + page += FPSTR(S_error); // @token erroroccur DEBUG_WM(F("[ERROR] WiFi EraseConfig failed")); } @@ -1107,12 +1141,12 @@ void WiFiManager::handleErase() { void WiFiManager::handleNotFound() { if (captivePortal()) return; // If captive portal redirect instead of displaying the page handleRequest(); - String message = "File Not Found\n\n"; // @token notfound - message += "URI: "; // @token uri + String message = FPSTR(S_notfound); // @token notfound + message += FPSTR(S_uri); // @token uri message += server->uri(); - message += "\nMethod: "; // @token method + message += FPSTR(S_method); // @token method message += ( server->method() == HTTP_GET ) ? "GET" : "POST"; - message += "\nArguments: "; // @token args + message += FPSTR(S_args); // @token args message += server->args(); message += "\n"; diff --git a/strings_en.h b/strings_en.h index 595554e..dcc13c9 100644 --- a/strings_en.h +++ b/strings_en.h @@ -92,7 +92,10 @@ const char HTTP_JS[] PROGMEM = "postAjax('/status', { p1: 1, p2: 'Hello World' }, function(data){ console.log(data); });" ""; -const char HTTP_INFO_uptime[] PROGMEM = "
Uptime
{1} mins {2} secs
"; +const char HTTP_INFO_esphead[] PROGMEM = "

esp8266


"; +const char HTTP_INFO_wifihead[] PROGMEM = "

WiFi


"; + +const char HTTP_INFO_uptime[] PROGMEM = "
Uptime
{1} Mins {2} Secs
"; const char HTTP_INFO_chipid[] PROGMEM = "
Chip ID
{1}
"; const char HTTP_INFO_fchipid[] PROGMEM = "
Flash Chip ID
{1}
"; const char HTTP_INFO_idesize[] PROGMEM = "
IDE Flash Size
{1} bytes
"; @@ -106,7 +109,6 @@ const char HTTP_INFO_memsketch[] PROGMEM = "
Memory - Sketch Size
{1 const char HTTP_INFO_memstbytes[] PROGMEM = "Used/Total bytes
{1}/{2}"; const char HTTP_INFO_memsmeter[] PROGMEM = "
"; const char HTTP_INFO_lastreset[] PROGMEM = "
Last reset reason
{1}
"; -const char HTTP_INFO_wifihead[] PROGMEM = "

WiFi


"; const char HTTP_INFO_apip[] PROGMEM = "
Access Point IP
{1}
"; const char HTTP_INFO_apmac[] PROGMEM = "
Access Point MAC
{1}
"; const char HTTP_INFO_apssid[] PROGMEM = "
SSID
{1}
"; @@ -120,5 +122,29 @@ const char HTTP_INFO_stamac[] PROGMEM = "
Station MAC
{1}
"; const char HTTP_INFO_conx[] PROGMEM = "
Connected
{1}
"; const char HTTP_INFO_autoconx[] PROGMEM = "
Autoconnect
{1}
"; +const char S_y[] PROGMEM = "Yes"; +const char S_n[] PROGMEM = "No"; +const char S_enable[] PROGMEM = "Enabled"; +const char S_disable[] PROGMEM = "Disabled"; + +const char S_titlewifisaved[] PROGMEM = "Credentials Saved"; // @token titlewifisaved +const char S_titlewifi[] PROGMEM = "Config ESP"; // @token titlewifi +const char S_titleinfo[] PROGMEM = "Info"; // @token titleinfo +const char S_titleexit[] PROGMEM = "Exit"; // @token titleexit +const char S_titlereset[] PROGMEM = "Reset"; //@token titlereset +const char S_titleerase[] PROGMEM = "Erase"; // @token titleerase +const char S_options[] PROGMEM = "options"; // @token options +const char S_nonetworks[] PROGMEM = "No networks found. Refresh to scan again."; // @token nonetworks +const char S_staticip[] PROGMEM = "Static IP"; // @token staticip +const char S_staticgw[] PROGMEM = "Static Gateway"; // @token staticgw +const char S_subnet[] PROGMEM = "Subnet"; // @token subnet +const char S_exiting[] PROGMEM = "Exiting"; // @token exiting +const char S_resetting[] PROGMEM = "Module will reset in a few seconds."; //@token resetting +const char S_error[] PROGMEM = "An Error Occured"; // @token erroroccur +const char S_notfound[] PROGMEM = "File Not Found\n\n"; // @token notfound +const char S_uri[] PROGMEM = "URI: "; // @token uri +const char S_method[] PROGMEM = "\nMethod: "; // @token method +const char S_args[] PROGMEM = "\nArguments: "; // @token args + #endif