From d2e4a7d0fc711446ddacdf4d9a83d2c3caea948e Mon Sep 17 00:00:00 2001 From: WiB67 Date: Mon, 2 Jan 2023 20:58:39 +0100 Subject: [PATCH 1/3] Changed sendTableRow parameter value to string --- include/pages.h | 2 +- src/pages.cpp | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/pages.h b/include/pages.h index 1914a37..95c3e11 100644 --- a/include/pages.h +++ b/include/pages.h @@ -13,7 +13,7 @@ void sendResponseHeader(AsyncResponseStream *response, const char *title); void sendResponseTrailer(AsyncResponseStream *response); void sendButton(AsyncResponseStream *response, const char *title, const char *action, const char *css = ""); - void sendTableRow(AsyncResponseStream *response, const char *name, uint32_t value); + void sendTableRow(AsyncResponseStream *response, const char *name, String value); void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function, String count); const String ErrorName(Modbus::Error code); #endif /* PAGES_H */ \ No newline at end of file diff --git a/src/pages.cpp b/src/pages.cpp index d0a6621..e878dec 100644 --- a/src/pages.cpp +++ b/src/pages.cpp @@ -19,12 +19,12 @@ void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi * auto *response = request->beginResponseStream("text/html"); sendResponseHeader(response, "Status"); response->print(""); - sendTableRow(response, "RTU Messages", rtu->getMessageCount()); - sendTableRow(response, "RTU Pending Messages", rtu->pendingRequests()); - sendTableRow(response, "RTU Errors", rtu->getErrorCount()); - sendTableRow(response, "Bridge Message", bridge->getMessageCount()); - sendTableRow(response, "Bridge Clients", bridge->activeClients()); - sendTableRow(response, "Bridge Errors", bridge->getErrorCount()); + sendTableRow(response, "RTU Messages", String(rtu->getMessageCount())); + sendTableRow(response, "RTU Pending Messages", String(rtu->pendingRequests())); + sendTableRow(response, "RTU Errors", String(rtu->getErrorCount())); + sendTableRow(response, "Bridge Message", String(bridge->getMessageCount())); + sendTableRow(response, "Bridge Clients", String(bridge->activeClients())); + sendTableRow(response, "Bridge Errors", String(bridge->getErrorCount())); response->print("

"); sendButton(response, "Back", "/"); sendResponseTrailer(response); @@ -469,12 +469,12 @@ void sendButton(AsyncResponseStream *response, const char *title, const char *ac "

", action, css, title); } -void sendTableRow(AsyncResponseStream *response, const char *name, uint32_t value){ +void sendTableRow(AsyncResponseStream *response, const char *name, String value){ response->printf( "" "%s:" - "%d" - "", name, value); + "%s" + "", name, value.c_str()); } void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function, String count){ From 0beb437fdfd4f404d49b55d5331cbf43e3db017f Mon Sep 17 00:00:00 2001 From: WiB67 Date: Mon, 2 Jan 2023 21:26:56 +0100 Subject: [PATCH 2/3] Added ESP-Infos to status-page and new screenshot --- doc/img/status.png | Bin 49313 -> 41936 bytes include/pages.h | 1 + src/pages.cpp | 22 ++++++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/doc/img/status.png b/doc/img/status.png index 7643cf3c571c51c0a02abd0c256de50582622836..32b4754a942f4288a217df4a9a5440e8ee18833c 100644 GIT binary patch literal 41936 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

Y&V^qi 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 zzRbeginResponseStream("text/html"); sendResponseHeader(response, "Status"); response->print(""); + + // show ESP infos... + sendTableRow(response, "ESP Uptime (sec)", String(esp_timer_get_time() / 1000000)); + sendTableRow(response, "ESP SSID", WiFi.SSID()); + sendTableRow(response, "ESP RSSI", String(WiFi.RSSI())); + sendTableRow(response, "ESP WiFi Quality", WiFiQuality(WiFi.RSSI())); + sendTableRow(response, "ESP MAC", WiFi.macAddress()); + sendTableRow(response, "ESP IP", WiFi.localIP().toString() ); + sendTableRow(response, "RTU Messages", String(rtu->getMessageCount())); sendTableRow(response, "RTU Pending Messages", String(rtu->pendingRequests())); sendTableRow(response, "RTU Errors", String(rtu->getErrorCount())); @@ -564,3 +573,16 @@ const String ErrorName(Modbus::Error code) default: return "undefined error"; } } + +// translate RSSI to quality string +const String WiFiQuality(int rssiValue) +{ + switch (rssiValue) + { + case -30 ... 0: return "Amazing"; + case -67 ... -31: return "Very Good"; + case -70 ... -68: return "Okay"; + case -80 ... -71: return "Not Good"; + default: return "Unusable"; + } +} From c53151d9e270ae4602afe94e09f93e6c4ca1ebff Mon Sep 17 00:00:00 2001 From: zivillian Date: Tue, 3 Jan 2023 13:40:15 +0100 Subject: [PATCH 3/3] add overload --- include/pages.h | 1 + src/pages.cpp | 24 ++++++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/include/pages.h b/include/pages.h index 60c52a6..cc22430 100644 --- a/include/pages.h +++ b/include/pages.h @@ -13,6 +13,7 @@ void sendResponseHeader(AsyncResponseStream *response, const char *title); void sendResponseTrailer(AsyncResponseStream *response); void sendButton(AsyncResponseStream *response, const char *title, const char *action, const char *css = ""); + void sendTableRow(AsyncResponseStream *response, const char *name, uint32_t value); void sendTableRow(AsyncResponseStream *response, const char *name, String value); void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function, String count); const String ErrorName(Modbus::Error code); diff --git a/src/pages.cpp b/src/pages.cpp index e2bff5e..a4264c4 100644 --- a/src/pages.cpp +++ b/src/pages.cpp @@ -21,19 +21,19 @@ void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi * response->print("
"); // show ESP infos... - sendTableRow(response, "ESP Uptime (sec)", String(esp_timer_get_time() / 1000000)); + sendTableRow(response, "ESP Uptime (sec)", esp_timer_get_time() / 1000000); sendTableRow(response, "ESP SSID", WiFi.SSID()); - sendTableRow(response, "ESP RSSI", String(WiFi.RSSI())); + sendTableRow(response, "ESP RSSI", WiFi.RSSI()); sendTableRow(response, "ESP WiFi Quality", WiFiQuality(WiFi.RSSI())); sendTableRow(response, "ESP MAC", WiFi.macAddress()); sendTableRow(response, "ESP IP", WiFi.localIP().toString() ); - sendTableRow(response, "RTU Messages", String(rtu->getMessageCount())); - sendTableRow(response, "RTU Pending Messages", String(rtu->pendingRequests())); - sendTableRow(response, "RTU Errors", String(rtu->getErrorCount())); - sendTableRow(response, "Bridge Message", String(bridge->getMessageCount())); - sendTableRow(response, "Bridge Clients", String(bridge->activeClients())); - sendTableRow(response, "Bridge Errors", String(bridge->getErrorCount())); + sendTableRow(response, "RTU Messages", rtu->getMessageCount()); + sendTableRow(response, "RTU Pending Messages", rtu->pendingRequests()); + sendTableRow(response, "RTU Errors", rtu->getErrorCount()); + sendTableRow(response, "Bridge Message", bridge->getMessageCount()); + sendTableRow(response, "Bridge Clients", bridge->activeClients()); + sendTableRow(response, "Bridge Errors", bridge->getErrorCount()); response->print("

"); sendButton(response, "Back", "/"); sendResponseTrailer(response); @@ -486,6 +486,14 @@ void sendTableRow(AsyncResponseStream *response, const char *name, String value) "", name, value.c_str()); } +void sendTableRow(AsyncResponseStream *response, const char *name, uint32_t value){ + response->printf( + "" + "%s:" + "%d" + "", name, value); +} + void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function, String count){ response->print("
"); response->print(""