From 5bf2aeaffe3a44ce044aca89a53ba0228cf615f7 Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Sat, 27 Nov 2021 10:25:18 +0100 Subject: [PATCH] intermediate: debug via websocket --- lib/webserver/GwWebServer.cpp | 5 +++++ lib/webserver/GwWebServer.h | 2 ++ src/main.cpp | 1 + 3 files changed, 8 insertions(+) diff --git a/lib/webserver/GwWebServer.cpp b/lib/webserver/GwWebServer.cpp index a09c711..118a503 100644 --- a/lib/webserver/GwWebServer.cpp +++ b/lib/webserver/GwWebServer.cpp @@ -39,6 +39,8 @@ void sendEmbeddedFile(String name,String contentType,AsyncWebServerRequest *requ GwWebServer::GwWebServer(GwLog* logger,GwRequestQueue *queue,int port){ server=new AsyncWebServer(port); + debugSocket=new AsyncWebSocket("/api/debugSocket"); + server->addHandler(debugSocket); this->queue=queue; this->logger=logger; } @@ -117,4 +119,7 @@ bool GwWebServer::registerMainHandler(const char *url,RequestCreator creator){ }); return true; } +void GwWebServer::sendDebugLine(const char *line){ + debugSocket->textAll(line); +} diff --git a/lib/webserver/GwWebServer.h b/lib/webserver/GwWebServer.h index 0afd0aa..c53910e 100644 --- a/lib/webserver/GwWebServer.h +++ b/lib/webserver/GwWebServer.h @@ -6,6 +6,7 @@ class GwWebServer{ private: AsyncWebServer *server; + AsyncWebSocket *debugSocket; GwRequestQueue *queue; GwLog *logger; public: @@ -15,5 +16,6 @@ class GwWebServer{ void begin(); bool registerMainHandler(const char *url,RequestCreator creator); void handleAsyncWebRequest(AsyncWebServerRequest *request, GwRequestMessage *msg); + void sendDebugLine(const char *line); }; #endif \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index e8448c4..c84f2c0 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -198,6 +198,7 @@ class GwSerialLog : public GwLogWriter{ logBuffer[wp]=0; } virtual void flush(){ + webserver.sendDebugLine(logBuffer); size_t handled=0; while (handled < wp){ usbSerial->flush();