diff --git a/include/pages.h b/include/pages.h index efca468..1914a37 100644 --- a/include/pages.h +++ b/include/pages.h @@ -14,6 +14,6 @@ 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 sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function); + 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 ebbec32..94b2160 100644 --- a/src/pages.cpp +++ b/src/pages.cpp @@ -227,7 +227,7 @@ void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi * dbgln("[webserver] GET /debug"); auto *response = request->beginResponseStream("text/html"); sendResponseHeader(response, "Debug"); - sendDebugForm(response, "1", "1", "3"); + sendDebugForm(response, "1", "1", "3", "1"); sendButton(response, "Back", "/"); sendResponseTrailer(response); request->send(response); @@ -246,13 +246,17 @@ void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi * if (request->hasParam("func", true)){ func = request->getParam("func", true)->value(); } + String count = "1"; + if (request->hasParam("count", true)){ + count = request->getParam("count", true)->value(); + } auto *response = request->beginResponseStream("text/html"); sendResponseHeader(response, "Debug"); response->print("
");
     auto previous = LOGDEVICE;
     auto debug = WebPrint(previous, response);
     LOGDEVICE = &debug;
-    ModbusMessage answer = rtu->syncRequest(0xdeadbeef, slaveId.toInt(), func.toInt(), reg.toInt(), 1);
+    ModbusMessage answer = rtu->syncRequest(0xdeadbeef, slaveId.toInt(), func.toInt(), reg.toInt(), count.toInt());
     LOGDEVICE = previous;
     response->print("
"); auto error = answer.getError(); @@ -268,7 +272,7 @@ void setupPages(AsyncWebServer *server, ModbusClientRTU *rtu, ModbusBridgeWiFi * else{ response->printf("Error: %#02x (%s)", error, ErrorName(error)); } - sendDebugForm(response, slaveId, reg, func); + sendDebugForm(response, slaveId, reg, func, count); sendButton(response, "Back", "/"); sendResponseTrailer(response); request->send(response); @@ -443,7 +447,7 @@ void sendTableRow(AsyncResponseStream *response, const char *name, uint32_t valu "", name, value); } -void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function){ +void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, String function, String count){ response->print("
"); response->print("" "" @@ -454,6 +458,19 @@ void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, St response->printf("", slaveId); response->print("" "" + "" + "" + "" + "" "" "" "" "" "" + response->printf("", count); + response->print("" "" - "
" + "" + ""); + response->printf("" + "
" "" @@ -464,17 +481,13 @@ void sendDebugForm(AsyncResponseStream *response, String slaveId, String reg, St "
" - "" + "" ""); - response->printf("" - "
"); + ""); response->print("" "
" "

");