From d1f0313e489b67df1e71ec20c4d4ea6631f65411 Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Thu, 6 Jan 2022 12:39:30 +0100 Subject: [PATCH 1/4] update readme for new flash tool --- Readme.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index d9f8e90..17bdcb2 100644 --- a/Readme.md +++ b/Readme.md @@ -76,13 +76,20 @@ You can find a prebuild executable in tools: [esptool.exe](tools/esptool.exe). Just create an empty directory on your machine, download the esptool to this directory and also download the binary (xxx-all.bin) from [releases](../../releases). Afterwards you need to install the driver for the serial port to connect your ESP32 board. For a modern windows the driver at [FTDI](https://ftdichip.com/drivers/d2xx-drivers/) should be working. After installing the driver check with your device manager for the com port that is assigned to your connected esp device. + Open a command prompt and change into the directory you downloaded the esptool.exe and the firmware binary. Flash with the command ``` esptool.exe --port COM3 write_flash 0x1000 xxxxx-xxxx-all.bin ``` Replace COM3 with the port shown in the device manager and the xxx with the name of the downloaded binary. -If you do not want to use the command line you first need to install python3 from the [download page](https://www.python.org/downloads/windows/) - use the Windows 64 Bit installer. Install using the default settings. Afterwards download [flashtool.pyz](../../raw/master/tools/flashtool.pyz) and run it with a double click. + +If you do not want to use the command line there is a tool with an UI that allows you to flash the initial or update firmware. +Just download the exe for your windows system from the [ESP32N2K-Flasher Git Repository](https://github.com/wellenvogel/esp32n2k-flasher/releases/latest). +There is no installation needed - just start the downloaded exe. +Some Anti Virus Software may (accidently) tag this as infected. In this case you can still install the UI in two steps: + * you first need to install python3 from the [download page](https://www.python.org/downloads/windows/) - use the Windows 64 Bit installer. Install using the default settings. +* Afterwards download [flashtool.pyz](../../raw/master/tools/flashtool.pyz) and run it with a double click. Update From 34760d2fbe64489c87959fb8811b59e690711dad Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Thu, 6 Jan 2022 13:12:06 +0100 Subject: [PATCH 2/4] correct formatWind --- web/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/index.js b/web/index.js index eafb494..0724ae8 100644 --- a/web/index.js +++ b/web/index.js @@ -1224,7 +1224,7 @@ let valueFormatters = { f: function (v) { let x = parseFloat(v); x = x * 180.0 / Math.PI; - if (x > 180) x = 180 - x; + if (x > 180) x = -1 * (360 - x); return x.toFixed(0); }, u: '°' From 9878c90e7bc669ee6cce45c0f44159df17acda87 Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Fri, 7 Jan 2022 12:37:20 +0100 Subject: [PATCH 3/4] 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); From 3745a79afdeb6ddab27ca22b8c0862a234de8b09 Mon Sep 17 00:00:00 2001 From: wellenvogel Date: Fri, 7 Jan 2022 12:44:22 +0100 Subject: [PATCH 4/4] update readme --- Readme.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Readme.md b/Readme.md index 17bdcb2..dc25be7 100644 --- a/Readme.md +++ b/Readme.md @@ -138,6 +138,15 @@ For details refer to the [example description](lib/exampletask/Readme.md). Changelog --------- +[20220107](../../releases/tag/20220107) +******** +* add a TCP client - you can connect to any source of NMEA data using IP address (or MDNS host name) and port
+This way you can e.g. "chain" multiple gateways +* add receiving of Seasmart messages.
+Using this feature you can forward the data from the NMEA2000 bus via TCP to another device. +* add some Status Info to the extension API +* correct the display of wind direction on the data page + [20211218](../../releases/tag/20211218) ******** * 1st real release