diff --git a/WiFiManager.cpp b/WiFiManager.cpp index cc6edb0..0fe2c24 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -749,29 +749,114 @@ void WiFiManager::handleInfo() { page += FPSTR(HTTP_STYLE); page += _customHeadElement; page += FPSTR(HTTP_HEAD_END); - page += F("
"); + + page += "
"; + reportStatus(page); + page +="
"; + // @todo add versioning here + + page += F("

esp8266


"); page += F("
Chip ID
"); page += ESP.getChipId(); page += F("
"); + page += F("
Flash Chip ID
"); page += ESP.getFlashChipId(); page += F("
"); + page += F("
IDE Flash Size
"); page += ESP.getFlashChipSize(); page += F(" bytes
"); - page += F("
Real Flash Size
"); + + page += F("
Actual Flash Size
"); page += ESP.getFlashChipRealSize(); page += F(" bytes
"); - page += F("
Soft AP IP
"); + + page += F("
SDK Version
"); + page += system_get_sdk_version(); + page += F("
"); + + page += F("
Core Version
"); + page += ESP.getCoreVersion(); + page += F("
"); + + page += F("
Boot Version
"); + page += system_get_boot_version(); + page += F("
"); + + page += F("
CPU Frequency
"); + 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
"); + page += ESP.getFreeHeap(); + page += F(" bytes available
"); + + page += F("
Memory - Sketch Size
"); + page += F("Used/Total bytes
"); + page += (ESP.getSketchSize()+ESP.getFreeSketchSpace())-ESP.getFreeSketchSpace(); + page += "/"; + page += (ESP.getSketchSize()+ESP.getFreeSketchSpace()); + page += F("
"); + + page += F("
Last reset reason
"); + page += ESP.getResetReason(); + page += F("
"); + + page += F("

WiFi


Access Point IP
"); page += WiFi.softAPIP().toString(); page += F("
"); - page += F("
Soft AP MAC
"); + + page += F("
Access Point MAC
"); page += WiFi.softAPmacAddress(); page += F("
"); + + page += F("
SSID
"); + page += WiFi.SSID(); + page += F("
"); + + page += F("
Station IP
"); + page += WiFi.localIP().toString(); + page += F("
"); + page += F("
Station MAC
"); page += WiFi.macAddress(); page += F("
"); + page += F("
"); + + page += F("

Available Pages


"); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + page += F(""); + // @todo add callback here + page += F("
PageFunction
/Menu page.
/wifiShow WiFi scan results and enter WiFi configuration.
/wifisaveSave WiFi configuration information and configure device. Needs variables supplied.
/closeClose the configuration server and configuration WiFi network.
/iInformation page
/rDelete WiFi configuration and reboot. ESP device will not reconnect to a network until new WiFi configuration data is entered.
"); + page += F("

More information about WiFiManager at https://github.com/tzapu/WiFiManager."); page += FPSTR(HTTP_END); server->sendHeader("Content-Length", String(page.length())); @@ -780,6 +865,26 @@ void WiFiManager::handleInfo() { DEBUG_WM(F("Sent info page")); } +void WiFiManager::reportStatus(String &page){ + if (WiFi.SSID() != ""){ + page += F("Configured to connect to access point "); + page += WiFi.SSID(); + if (WiFi.status()==WL_CONNECTED){ + page += F(" and currently connected on IP "); + page += WiFi.localIP().toString(); + page += F(""); + } + else { + page += F(" but not currently connected to network."); + } + } + else { + page += F("No network currently configured."); + } +} + /** * HTTPD CALLBACK reset page */ diff --git a/WiFiManager.h b/WiFiManager.h index 40e5c0e..c5cde8e 100644 --- a/WiFiManager.h +++ b/WiFiManager.h @@ -221,6 +221,7 @@ class WiFiManager String toStringIp(IPAddress ip); boolean validApPassword(); String encryptionTypeStr(uint8_t authmode); + void reportStatus(String &page); boolean connect; boolean configPortalActive = false;