From 9878c90e7bc669ee6cce45c0f44159df17acda87 Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Fri, 7 Jan 2022 12:37:20 +0100 Subject: [PATCH] disable log in actisense mode --- lib/channel/GwChannelList.cpp | 68 ++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 28 deletions(-) diff --git a/lib/channel/GwChannelList.cpp b/lib/channel/GwChannelList.cpp index a49ad0f..537b629 100644 --- a/lib/channel/GwChannelList.cpp +++ b/lib/channel/GwChannelList.cpp @@ -4,39 +4,51 @@ #include "GwSocketServer.h" #include "GwSerial.h" #include "GwTcpClient.h" -class GwSerialLog : public GwLogWriter{ - static const size_t bufferSize=4096; - char *logBuffer=NULL; - int wp=0; - GwSerial *writer; - public: - GwSerialLog(GwSerial *writer){ - this->writer=writer; - logBuffer=new char[bufferSize]; - wp=0; +class GwSerialLog : public GwLogWriter +{ + static const size_t bufferSize = 4096; + char *logBuffer = NULL; + int wp = 0; + GwSerial *writer; + bool disabled = false; + +public: + GwSerialLog(GwSerial *writer, bool disabled) + { + this->writer = writer; + this->disabled = disabled; + logBuffer = new char[bufferSize]; + wp = 0; } - virtual ~GwSerialLog(){} - virtual void write(const char *data){ - int len=strlen(data); - if ((wp+len) >= (bufferSize-1)) return; - strncpy(logBuffer+wp,data,len); - wp+=len; - logBuffer[wp]=0; + virtual ~GwSerialLog() {} + virtual void write(const char *data) + { + if (disabled) + return; + int len = strlen(data); + if ((wp + len) >= (bufferSize - 1)) + return; + strncpy(logBuffer + wp, data, len); + wp += len; + logBuffer[wp] = 0; } - virtual void flush(){ - size_t handled=0; - while (handled < wp){ - writer->flush(); - size_t rt=writer->sendToClients(logBuffer+handled,-1,true); - handled+=rt; + virtual void flush() + { + size_t handled = 0; + if (!disabled) + { + while (handled < wp) + { + writer->flush(); + size_t rt = writer->sendToClients(logBuffer + handled, -1, true); + handled += rt; + } } - wp=0; - logBuffer[0]=0; + wp = 0; + logBuffer[0] = 0; } - }; - GwChannelList::GwChannelList(GwLog *logger, GwConfigHandler *config){ this->logger=logger; this->config=config; @@ -53,7 +65,7 @@ void GwChannelList::begin(bool fallbackSerial){ if (! fallbackSerial){ GwSerial *usb=new GwSerial(NULL,0,USB_CHANNEL_ID); usb->setup(config->getInt(config->usbBaud),3,1); - logger->setWriter(new GwSerialLog(usb)); + logger->setWriter(new GwSerialLog(usb,config->getBool(config->usbActisense))); logger->prefix="GWSERIAL:"; channel=new GwChannel(logger,"USB",USB_CHANNEL_ID); channel->setImpl(usb);