diff --git a/WiFiManager.cpp b/WiFiManager.cpp
index 53e0d50..74e5bf1 100644
--- a/WiFiManager.cpp
+++ b/WiFiManager.cpp
@@ -917,123 +917,8 @@ void WiFiManager::handleInfo() {
String page = getHTTPHead("Info"); // @token titleinfo
reportStatus(page);
- // @todo add versioning here
-
page += F("
esp8266
");
-
- // subject to rollover!
- page += F("- Uptime
- "); // @token uptime
- page += (String)(system_get_time() / 1000000 / 60) + " mins "; // @token mins
- page += (String)((system_get_time() / 1000000)%60) + " secs"; // @token secs
-
- page += F("
- Chip ID
- "); // @token chipid
- page += WIFI_getChipId();
- page += F("
");
-
- page += F("- Flash Chip ID
- "); // @token flashid
- page += ESP.getFlashChipId();
- page += F("
");
-
- page += F("- IDE Flash Size
- "); // @token flashsize
- page += ESP.getFlashChipSize();
- page += F(" bytes
");
-
- page += F("- Actual Flash Size
- "); // @token actualflashsize
- page += ESP.getFlashChipRealSize();
- page += F(" bytes
");
-
- page += F("- SDK Version
- "); // @token sdkver
- page += system_get_sdk_version();
- page += F("
");
-
- page += F("- Core Version
- "); // @token corever
- page += ESP.getCoreVersion();
- page += F("
");
-
- page += F("- Boot Version
- "); // @token boot ver
- page += system_get_boot_version();
- page += F("
");
-
- page += F("- CPU Frequency
- "); // @token cpufreq
- page += ESP.getCpuFreqMHz();
- page += F("MHz
");
-
- // heap is dynamic, would have to have a known starting for graph
- // uint32_t heapstart = 47000;
- // page += F("- Memory Heap
- ");
- // page += F("Used/Total bytes
");
- // page += (heapstart)-ESP.getFreeHeap();
- // page += "/";
- // page += (heapstart);
- // page += "
";
- // page += F(" ");
-
- page += F("- Memory - Free Heap
- "); // @token freeheap
- page += ESP.getFreeHeap();
- page += F(" bytes available
"); // @token bytesavail
-
- page += F("- Memory - Sketch Size
- "); // @token sketchsize
- page += F("Used/Total bytes
"); // @token usedtotal
- page += (ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace();
- page += "/";
- page += (ESP.getSketchSize()+ESP.getFreeSketchSpace());
- page += F("
");
-
- page += F("- Last reset reason
- "); // @token resetreason
- page += ESP.getResetReason();
- page += F("
");
-
- page += F("
WiFi
- Access Point IP
- "); // @token apip
- page += WiFi.softAPIP().toString();
- page += F("
");
-
- page += F("- Access Point MAC
- "); // @token apmac
- page += WiFi.softAPmacAddress();
- page += F("
");
-
- page += F("- SSID
- ");
- page += WiFi.SSID();
- page += F("
");
-
- page += F("- BSSID
- ");
- page += WiFi.BSSIDstr();
- page += F("
");
-
- page += F("- Station IP
- "); // @token staip
- page += WiFi.localIP().toString();
- page += F("
");
-
- page += F("- Station Gateway
- "); // @token stagw
- page += WiFi.gatewayIP().toString();
- page += F("
");
-
- page += F("- Station Subnet
- "); // @token stasub
- page += WiFi.subnetMask().toString();
- page += F("
");
-
- page += F("- DNS Server
- "); // @token dnss
- page += WiFi.dnsIP().toString();
- page += F("
");
-
- page += F("- Hostname
- "); // @token hostname
- page += WiFi.hostname();
- page += F("
");
-
- page += F("- Station MAC
- "); // @stamac
- page += WiFi.macAddress();
- page += F("
");
-
- page += F("- Connected
- "); // @token connected
- page += WiFi.isConnected() ? "Yes" : "No"; //@token Y,N
- page += F("
");
-
- page += F("- Autoconnect
- ");
- page += WiFi.getAutoConnect() ? "Enabled" : "Disabled"; // @token enabled,disabled
- page += F("
");
+ page += getInfoData("HTTP_INFO_uptime");
page += F("
");
page += FPSTR(HTTP_ERASEBTN);
page += FPSTR(HTTP_HELP);
@@ -1045,6 +930,117 @@ void WiFiManager::handleInfo() {
DEBUG_WM(F("Sent info page"));
}
+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
+}
+
+return p;
+}
/**
* HTTPD CALLBACK root or redirect to captive portal
diff --git a/WiFiManager.h b/WiFiManager.h
index 0511e84..d828e0d 100644
--- a/WiFiManager.h
+++ b/WiFiManager.h
@@ -227,6 +227,7 @@ class WiFiManager
String encryptionTypeStr(uint8_t authmode);
void reportStatus(String &page);
void debugPlatformInfo();
+ String getInfoData(String id);
// flags
boolean connect;
diff --git a/strings_en.h b/strings_en.h
index 9ec0541..595554e 100644
--- a/strings_en.h
+++ b/strings_en.h
@@ -91,4 +91,34 @@ const char HTTP_JS[] PROGMEM =
"// example request with data object\n"
"postAjax('/status', { p1: 1, p2: 'Hello World' }, function(data){ console.log(data); });"
"";
-#endif
\ No newline at end of file
+
+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";
+const char HTTP_INFO_flashsize[] PROGMEM = "Actual Flash Size{1} bytes";
+const char HTTP_INFO_sdkver[] PROGMEM = "SDK Version{1}";
+const char HTTP_INFO_corever[] PROGMEM = "Core Version{1}";
+const char HTTP_INFO_bootver[] PROGMEM = "Boot Version{1}";
+const char HTTP_INFO_cpufreq[] PROGMEM = "CPU Frequency{1}MHz";
+const char HTTP_INFO_freeheap[] PROGMEM = "Memory - Free Heap{1} bytes available";
+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}";
+const char HTTP_INFO_apbssid[] PROGMEM = "BSSID{1}";
+const char HTTP_INFO_staip[] PROGMEM = "Station IP{1}";
+const char HTTP_INFO_stagw[] PROGMEM = "Station Gateway{1}";
+const char HTTP_INFO_stasub[] PROGMEM = "Station Subnet{1}";
+const char HTTP_INFO_dnss[] PROGMEM = "DNS Server{1}";
+const char HTTP_INFO_host[] PROGMEM = "Hostname{1}";
+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}";
+
+#endif
+