intermediate: debug via websocket

This commit is contained in:
wellenvogel 2021-11-27 10:25:18 +01:00
parent 3a12fe16cd
commit 5bf2aeaffe
3 changed files with 8 additions and 0 deletions

View File

@ -39,6 +39,8 @@ void sendEmbeddedFile(String name,String contentType,AsyncWebServerRequest *requ
GwWebServer::GwWebServer(GwLog* logger,GwRequestQueue *queue,int port){ GwWebServer::GwWebServer(GwLog* logger,GwRequestQueue *queue,int port){
server=new AsyncWebServer(port); server=new AsyncWebServer(port);
debugSocket=new AsyncWebSocket("/api/debugSocket");
server->addHandler(debugSocket);
this->queue=queue; this->queue=queue;
this->logger=logger; this->logger=logger;
} }
@ -117,4 +119,7 @@ bool GwWebServer::registerMainHandler(const char *url,RequestCreator creator){
}); });
return true; return true;
} }
void GwWebServer::sendDebugLine(const char *line){
debugSocket->textAll(line);
}

View File

@ -6,6 +6,7 @@
class GwWebServer{ class GwWebServer{
private: private:
AsyncWebServer *server; AsyncWebServer *server;
AsyncWebSocket *debugSocket;
GwRequestQueue *queue; GwRequestQueue *queue;
GwLog *logger; GwLog *logger;
public: public:
@ -15,5 +16,6 @@ class GwWebServer{
void begin(); void begin();
bool registerMainHandler(const char *url,RequestCreator creator); bool registerMainHandler(const char *url,RequestCreator creator);
void handleAsyncWebRequest(AsyncWebServerRequest *request, GwRequestMessage *msg); void handleAsyncWebRequest(AsyncWebServerRequest *request, GwRequestMessage *msg);
void sendDebugLine(const char *line);
}; };
#endif #endif

View File

@ -198,6 +198,7 @@ class GwSerialLog : public GwLogWriter{
logBuffer[wp]=0; logBuffer[wp]=0;
} }
virtual void flush(){ virtual void flush(){
webserver.sendDebugLine(logBuffer);
size_t handled=0; size_t handled=0;
while (handled < wp){ while (handled < wp){
usbSerial->flush(); usbSerial->flush();