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("" "");