From 617e52cb848f6031037aa57ab752d8992fd443e8 Mon Sep 17 00:00:00 2001 From: Shawn A Date: Mon, 12 Feb 2018 10:54:51 -0600 Subject: [PATCH] implemented info strings for esp32 --- WiFiManager.cpp | 285 ++++++++++++++++++++++++------------------------ strings_en.h | 36 +++--- 2 files changed, 165 insertions(+), 156 deletions(-) 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}
";