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){
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);
}

View File

@ -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

View File

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