diff --git a/WiFiManager.cpp b/WiFiManager.cpp
index 477bc22..83f3f08 100644
--- a/WiFiManager.cpp
+++ b/WiFiManager.cpp
@@ -228,7 +228,7 @@ boolean WiFiManager::configPortalHasTimeout(){
} else {
// log timeout
if(_debug){
- uint16_t logintvl = 10000; // how often to emit timeing out counter logging
+ uint16_t logintvl = 30000; // how often to emit timeing out counter logging
if((millis() - timer) > logintvl){
timer = millis();
DEBUG_WM("Portal Timeout In " + (String)((_configPortalStart + _configPortalTimeout-millis())/1000) + " seconds");
@@ -932,127 +932,77 @@ void WiFiManager::handleInfo() {
reportStatus(page);
#ifdef ESP8266
- 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"
- };
+ String infoids[] = {
+ "esphead",
+ "uptime",
+ "chipid",
+ "fchipid", //esp8266
+ "idesize", //esp8266
+ "flashsize",
+ "sdkver",
+ "corever", //esp8266
+ "bootver", //esp8266
+ "cpufreq",
+ "freeheap",
+ "memsketch", //esp8266
+ "memsmeter", //esp8266
+ "lastreset", //esp8266
+ "wifihead",
+ "apip",
+ "apmac",
+ "apssid",
+ "apbssid",
+ "staip",
+ "stagw",
+ "stasub",
+ "dnss",
+ "host",
+ "stamac",
+ "conx",
+ "autoconx"
+ };
- for(int i=0; i<25;i++){
- page += getInfoData(infoids[i]);
- }
+ for(int i=0; i<25;i++){
+ if(infoids[i] != NULL) page += getInfoData(infoids[i]);
+ }
+ page += F("");
- page += F("");
- #endif
+ #elif defined(ESP32)
+ String infoids[] = {
+ "esphead",
+ "uptime",
+ "chipid",
+ "chiprev",
+ // "fchipid", //esp8266
+ "idesize", //esp8266
+ // "flashsize",
+ "sdkver",
+ // "corever", //esp8266
+ // "bootver", //esp8266
+ "cpufreq",
+ "freeheap",
+ // "memsketch", //esp8266
+ // "memsmeter", //esp8266
+ "lastreset", //esp8266
+ "wifihead",
+ "apip",
+ "apmac",
+ "apssid",
+ "apbssid",
+ "staip",
+ "stagw",
+ "stasub",
+ "dnss",
+ "host",
+ "stamac",
+ "conx",
+ "autoconx"
+ };
- #ifdef ESP32
- page += F("
esp32
");
-
- // subject to rollover!
- page += F("- Uptime
- ");
- page += (String)(millis() / 1000 / 60) + " mins ";
- page += (String)((millis() / 1000) % 60) + " secs";
-
- page += F("
- Chip ID
- ");
- page += WIFI_getChipId();
- page += F("
");
-
- page += F("- Chip Rev
- ");
- page += ESP.getChipRevision();
- page += F("
");
-
- page += F("- Flash Size
- ");
- page += ESP.getFlashChipSize();
- page += F(" bytes
");
-
- page += F("- SDK Version
- ");
- page += esp_get_idf_version();
- page += F("
");
-
- // page += F("- Core Version
- ");
- // page += ESP.getCoreVersion();
- // page += F("
");
-
- page += F("- CPU Frequency
- ");
- page += ESP.getCpuFreqMHz();
- page += F("MHz
");
-
- page += F("- Memory - Free Heap
- ");
- page += ESP.getFreeHeap();
- page += F(" bytes available
");
-
- page += F("
WiFi
- Access Point IP
- ");
- page += WiFi.softAPIP().toString();
- page += F("
");
-
- page += F("- Access Point MAC
- ");
- 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
- ");
- page += WiFi.localIP().toString();
- page += F("
");
-
- page += F("- Station Gateway
- ");
- page += WiFi.gatewayIP().toString();
- page += F("
");
-
- page += F("- Station Subnet
- ");
- page += WiFi.subnetMask().toString();
- page += F("
");
-
- page += F("- DNS Server
- ");
- page += WiFi.dnsIP().toString();
- page += F("
");
-
- page += F("- Hostname
- ");
- page += WiFi.getHostname();
- page += F("
");
-
- page += F("- Station MAC
- ");
- page += WiFi.macAddress();
- page += F("
");
-
- page += F("- Connected
- ");
- page += WiFi.isConnected() ? "Yes" : "No";
- page += F("
");
-
- page += F("- Autoconnect
- ");
- page += WiFi.getAutoConnect() ? "Enabled" : "Disabled";
- page += F("
");
- page += F("
");
+ for(int i=0; i<19;i++){
+ if(infoids[i] != NULL) page += getInfoData(infoids[i]);
+ }
+ page += F("");
#endif
page += FPSTR(HTTP_ERASEBTN);
@@ -1074,36 +1024,54 @@ String WiFiManager::getInfoData(String id){
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));
+ p.replace("{1}",(String)(millis() / 1000 / 60));
+ p.replace("{2}",(String)((millis() / 1000) % 60));
}
else if(id=="chipid"){
p = FPSTR(HTTP_INFO_chipid);
p.replace("{1}",(String)WIFI_getChipId());
}
+ else if(id=="chiprev"){
+ #ifdef ESP32
+ p = FPSTR(HTTP_INFO_chiprev);
+ p.replace("{1}",(String)ESP.getChipRevision());
+ #endif
+ }
else if(id=="fchipid"){
- p = FPSTR(HTTP_INFO_fchipid);
- p.replace("{1}",(String)ESP.getFlashChipId());
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_fchipid);
+ p.replace("{1}",(String)ESP.getFlashChipId());
+ #endif
}
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());
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_flashsize);
+ p.replace("{1}",(String)ESP.getFlashChipRealSize());
+ #endif
}
else if(id=="sdkver"){
p = FPSTR(HTTP_INFO_sdkver);
- p.replace("{1}",(String)system_get_sdk_version());
+ #ifdef ESP32
+ p.replace("{1}",(String)esp_get_idf_version());
+ #else
+ p.replace("{1}",(String)system_get_sdk_version());
+ #endif
}
else if(id=="corever"){
- p = FPSTR(HTTP_INFO_corever);
- p.replace("{1}",(String)ESP.getCoreVersion());
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_corever);
+ p.replace("{1}",(String)ESP.getCoreVersion());
+ #endif
}
else if(id=="bootver"){
- p = FPSTR(HTTP_INFO_bootver);
- p.replace("{1}",(String)system_get_boot_version());
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_bootver);
+ p.replace("{1}",(String)system_get_boot_version());
+ #endif
}
else if(id=="cpufreq"){
p = FPSTR(HTTP_INFO_cpufreq);
@@ -1114,18 +1082,50 @@ String WiFiManager::getInfoData(String id){
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()));
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_memsketch);
+ p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace()));
+ p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace()));
+ #endif
}
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()));
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_memsmeter);
+ p.replace("{1}",(String)((ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace()));
+ p.replace("{2}",(String)(ESP.getSketchSize()+ESP.getFreeSketchSpace()));
+ #endif
}
else if(id=="lastreset"){
- p = FPSTR(HTTP_INFO_lastreset);
- p.replace("{1}",(String)ESP.getResetReason());
+ #ifdef ESP8266
+ p = FPSTR(HTTP_INFO_lastreset);
+ p.replace("{1}",(String)ESP.getResetReason());
+ #elif defined(ESP32) && defined(_ROM_RTC_H_)
+ // requires #include
+ p = FPSTR(HTTP_INFO_lastreset);
+ for(int i=0;i<2;i++){
+ int reason = rtc_get_reset_reason(i);
+ String tok = "{"+(String)(i+1)+"}";
+ switch (reason)
+ {
+ case 1 : p.replace(tok,"Vbat power on reset");break;
+ case 3 : p.replace(tok,"Software reset digital core");break;
+ case 4 : p.replace(tok,"Legacy watch dog reset digital core");break;
+ case 5 : p.replace(tok,"Deep Sleep reset digital core");break;
+ case 6 : p.replace(tok,"Reset by SLC module, reset digital core");break;
+ case 7 : p.replace(tok,"Timer Group0 Watch dog reset digital core");break;
+ case 8 : p.replace(tok,"Timer Group1 Watch dog reset digital core");break;
+ case 9 : p.replace(tok,"RTC Watch dog Reset digital core");break;
+ case 10 : p.replace(tok,"Instrusion tested to reset CPU");break;
+ case 11 : p.replace(tok,"Time Group reset CPU");break;
+ case 12 : p.replace(tok,"Software reset CPU");break;
+ case 13 : p.replace(tok,"RTC Watch dog Reset CPU");break;
+ case 14 : p.replace(tok,"for APP CPU, reseted by PRO CPU");break;
+ case 15 : p.replace(tok,"Reset when the vdd voltage is not stable");break;
+ case 16 : p.replace(tok,"RTC Watch dog reset digital core and rtc module");break;
+ default : p.replace(tok,"NO_MEAN");
+ }
+ }
+ #endif
}
else if(id=="apip"){
p = FPSTR(HTTP_INFO_apip);
@@ -1137,7 +1137,7 @@ String WiFiManager::getInfoData(String id){
}
else if(id=="apssid"){
p = FPSTR(HTTP_INFO_apssid);
- p.replace("{1}",(String)WiFi.SSID());
+ p.replace("{1}",(String)WiFi_SSID());
}
else if(id=="apbssid"){
p = FPSTR(HTTP_INFO_apbssid);
@@ -1161,7 +1161,11 @@ String WiFiManager::getInfoData(String id){
}
else if(id=="host"){
p = FPSTR(HTTP_INFO_host);
- p.replace("{1}",WiFi.hostname());
+ #ifdef ESP32
+ p.replace("{1}",WiFi.getHostname());
+ #else
+ p.replace("{1}",WiFi.hostname());
+ #endif
}
else if(id=="stamac)"){
p = FPSTR(HTTP_INFO_stamac);
@@ -1175,7 +1179,6 @@ String WiFiManager::getInfoData(String id){
p = FPSTR(HTTP_INFO_autoconx);
p.replace("{1}",WiFi.getAutoConnect() ? FPSTR(S_enable) : FPSTR(S_disable));
}
-
return p;
}
diff --git a/strings_en.h b/strings_en.h
index dcc13c9..47834e6 100644
--- a/strings_en.h
+++ b/strings_en.h
@@ -92,23 +92,29 @@ const char HTTP_JS[] PROGMEM =
"postAjax('/status', { p1: 1, p2: 'Hello World' }, function(data){ console.log(data); });"
"";
-const char HTTP_INFO_esphead[] PROGMEM = "esp8266
";
-const char HTTP_INFO_wifihead[] PROGMEM = "
WiFi
";
+#ifdef ESP32
+ const char HTTP_INFO_esphead[] PROGMEM = "esp32
";
+ const char HTTP_INFO_chiprev[] PROGMEM = "- Chip Rev
- {1}
";
+ const char HTTP_INFO_lastreset[] PROGMEM = "- Last reset reason
- CPU0: {1}
CPU1: {2} ";
+#else
+ const char HTTP_INFO_esphead[] PROGMEM = "esp8266
";
+ const char HTTP_INFO_flashsize[] PROGMEM = "- Real Flash Size
- {1} bytes
";
+ const char HTTP_INFO_fchipid[] PROGMEM = "- Flash Chip ID
- {1}
";
+ const char HTTP_INFO_corever[] PROGMEM = "- Core Version
- {1}
";
+ const char HTTP_INFO_bootver[] PROGMEM = "- Boot Version
- {1}
";
+ 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}
";
+#endif
-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_uptime[] PROGMEM = "- Uptime
- {1} Mins {2} Secs
";
+const char HTTP_INFO_chipid[] PROGMEM = "- Chip ID
- {1}
";
+const char HTTP_INFO_idesize[] PROGMEM = "- Flash Size
- {1} bytes
";
+const char HTTP_INFO_sdkver[] PROGMEM = "- SDK Version
- {1}
";
+const char HTTP_INFO_cpufreq[] PROGMEM = "- CPU Frequency
- {1}MHz
";
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}
";