diff --git a/.gitignore b/.gitignore
index 13f63f326..1efd7ccb3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,7 @@
# vscode
-.vscode
+.vscode/c_cpp_properties.json
+.vscode/extensions.json
+.vscode/launch.json
# build
build/
@@ -43,3 +45,4 @@ build_wrapper_output_directory/
# other build files
dump_entities.csv
dump_entities.xls*
+
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 000000000..c60c56f64
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,23 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
+ // for the documentation about the tasks.json format
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "PlatformIO: Execute EMS-ESP (standalone)",
+ "type": "shell",
+ "command": "./.pio/build/standalone/program",
+ "linux": {
+ "options": {
+ "env": {
+ // Workaroung for sdl2 `-m32` crash
+ // https://bugs.launchpad.net/ubuntu/+source/libsdl2/+bug/1775067/comments/7
+ "DBUS_FATAL_WARNINGS": "0"
+ }
+ }
+ },
+ "dependsOn": ["PlatformIO: Build EMS-ESP (standalone)"],
+ "problemMatcher": []
+ }
+ ]
+}
diff --git a/lib_standalone/Arduino.cpp b/lib_standalone/Arduino.cpp
index a16126360..56dd38695 100644
--- a/lib_standalone/Arduino.cpp
+++ b/lib_standalone/Arduino.cpp
@@ -15,6 +15,8 @@
* along with this program. If not, see .
*/
+#ifdef EMSESP_STANDALONE
+
#include
#include
#include
@@ -125,3 +127,5 @@ double ledcSetup(uint8_t chan, double freq, uint8_t bit_num) {
};
void ledcAttachPin(uint8_t pin, uint8_t chan){};
void ledcWrite(uint8_t chan, uint32_t duty){};
+
+#endif
\ No newline at end of file
diff --git a/lib_standalone/Arduino.h b/lib_standalone/Arduino.h
index 9f12a6f9b..e71a7c3e0 100644
--- a/lib_standalone/Arduino.h
+++ b/lib_standalone/Arduino.h
@@ -24,9 +24,13 @@
#include
#include
#include
+
#include // for count_if
-#include "WString.h"
+#include
+#include
+#include
+#include
#include
@@ -86,129 +90,83 @@ int vsnprintf_P(char * str, size_t size, const char * format, va_list ap);
class Print;
-class Printable {
- public:
- virtual size_t printTo(Print & print) const = 0;
+class NativeConsole: public Stream {
+public:
+ void begin(unsigned long baud __attribute__((unused))) {
+
+ }
+
+ int available() override {
+ if (peek_ != -1)
+ return 1;
+
+ struct timeval timeout;
+ fd_set rfds;
+
+ FD_ZERO(&rfds);
+ FD_SET(STDIN_FILENO, &rfds);
+
+ timeout.tv_sec = 0;
+ timeout.tv_usec = 1000;
+
+ return ::select(STDIN_FILENO + 1, &rfds, NULL, NULL, &timeout) > 0 ? 1 : 0;
+ }
+
+ int read() override {
+ if (peek_ != -1) {
+ uint8_t c = peek_;
+ peek_ = -1;
+ return c;
+ }
+
+ if (available() > 0) {
+ uint8_t c;
+ int ret = ::read(STDIN_FILENO, &c, 1);
+
+ if (ret == 0) {
+ /* Ctrl+D */
+ return '\x04';
+ } else if (ret == 1) {
+ /* Remap Ctrl+Z to Ctrl-\ */
+ if (c == '\x1A')
+ c = '\x1C';
+ return c;
+ } else {
+ exit(1);
+ }
+ }
+
+ return -1;
+ }
+
+ int peek() override {
+ if (peek_ == -1)
+ peek_ = read();
+
+ return peek_;
+ }
+
+ size_t write(uint8_t c) override {
+ if (::write(STDOUT_FILENO, &c, 1) == 1) {
+ return 1;
+ } else {
+ exit(1);
+ }
+ }
+
+ size_t write(const uint8_t *buffer, size_t size) {
+ if (::write(STDOUT_FILENO, buffer, size) == (ssize_t)size) {
+ return size;
+ } else {
+ exit(1);
+ }
+ }
+
+private:
+ int peek_ = -1;
};
-class Print {
- public:
- virtual size_t write(uint8_t c) = 0;
- virtual size_t write(const uint8_t * buffer, size_t size) = 0;
- size_t print(char c) {
- return write((uint8_t)c);
- }
- size_t print(const char * data) {
- return write(reinterpret_cast(data), strlen(data));
- }
- size_t print(const __FlashStringHelper * data) {
- return print(reinterpret_cast(data));
- }
- size_t print(const Printable & printable) {
- return printable.printTo(*this);
- }
- size_t print(int value) {
- return print(std::to_string(value).c_str());
- }
- size_t print(unsigned int value) {
- return print(std::to_string(value).c_str());
- }
- size_t print(long value) {
- return print(std::to_string(value).c_str());
- }
- size_t print(unsigned long value) {
- return print(std::to_string(value).c_str());
- }
- size_t println() {
- return print("\r\n");
- }
- size_t println(const char * data) {
- return print(data) + println();
- }
- size_t println(const __FlashStringHelper * data) {
- return print(reinterpret_cast(data)) + println();
- }
- size_t println(const Printable & printable) {
- return printable.printTo(*this) + println();
- }
- size_t println(int value) {
- return print(std::to_string(value).c_str()) + println();
- }
- size_t println(unsigned int value) {
- return print(std::to_string(value).c_str()) + println();
- }
- size_t println(long value) {
- return print(std::to_string(value).c_str()) + println();
- }
- size_t println(unsigned long value) {
- return print(std::to_string(value).c_str()) + println();
- }
-
- virtual void flush(){};
-
- size_t print(const String & str) {
- return print(str.c_str());
- }
-};
-
-class Stream : public Print {
- public:
- virtual int available() = 0;
- virtual int read() = 0;
- virtual int peek() = 0;
-};
-
-class NativeConsole : public Stream {
- public:
- void begin(unsigned long baud __attribute__((unused))) {
- }
-
- int available() override {
- if (peek() >= 0) {
- return 1;
- } else {
- return 0;
- }
- }
-
- int read() override {
- peek();
-
- if (peek_) {
- peek_ = false;
- return peek_data_;
- } else {
- return -1;
- }
- }
-
- int peek() override {
- if (!peek_) {
- int ret = ::read(STDIN_FILENO, &peek_data_, 1);
- peek_ = ret > 0;
- }
-
- if (peek_) {
- return peek_data_;
- } else {
- return -1;
- }
- }
-
- size_t write(uint8_t c) override {
- return ::write(STDOUT_FILENO, &c, 1);
- }
-
- size_t write(const uint8_t * buffer, size_t size) override {
- return ::write(STDOUT_FILENO, buffer, size);
- }
-
- private:
- bool peek_ = false;
- unsigned char peek_data_;
-};
-
-#include
+#include "Network.h"
extern NativeConsole Serial;
extern ETHClass ETH;
diff --git a/lib_standalone/Print.h b/lib_standalone/Print.h
new file mode 100644
index 000000000..31bd40482
--- /dev/null
+++ b/lib_standalone/Print.h
@@ -0,0 +1,75 @@
+/*
+ * mcu-app - Microcontroller application framework
+ * Copyright 2022 Simon Arlott
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#ifndef PRINT_H_
+#define PRINT_H_
+
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+int vsnprintf_P(char *str, size_t size, const char *format, va_list ap);
+
+class Print {
+public:
+ virtual size_t write(uint8_t c) = 0;
+ virtual size_t write(const uint8_t *buffer, size_t size) { for (size_t i = 0; i < size; i++) { write(*buffer); buffer++; }; return size; };
+ void setWriteError(int err = 1) { err_ = err; }
+ int getWriteError() { return err_; }
+ void clearWriteError() {}
+ size_t print(char c) { return write((uint8_t)c); }
+ size_t print(const char *data) { return write(reinterpret_cast(data), strlen(data)); }
+ size_t print(const Printable &printable) { return printable.printTo(*this); }
+ size_t print(int value) { return print(std::to_string(value).c_str()); }
+ size_t print(unsigned int value) { return print(std::to_string(value).c_str()); }
+ size_t print(long value) { return print(std::to_string(value).c_str()); }
+ size_t print(unsigned long value) { return print(std::to_string(value).c_str()); }
+ size_t printf(const char * format, ...) {
+ char str[4096] = { 0 };
+ va_list ap;
+
+ va_start(ap, format);
+ int ret = vsnprintf_P(str, sizeof(str), format, ap);
+ va_end(ap);
+
+ if (ret < 0)
+ return ret;
+
+ return print(str);
+ }
+ size_t println() { return print("\r\n"); }
+ size_t println(const char *data) { return print(data) + println(); }
+ size_t println(const Printable &printable) { return printable.printTo(*this) + println(); }
+ size_t println(int value) { return print(std::to_string(value).c_str()) + println(); }
+ size_t println(unsigned int value) { return print(std::to_string(value).c_str()) + println(); }
+ size_t println(long value) { return print(std::to_string(value).c_str()) + println(); }
+ size_t println(unsigned long value) { return print(std::to_string(value).c_str()) + println(); }
+ virtual void flush() { };
+
+private:
+ int err_{0};
+};
+
+#endif
diff --git a/lib_standalone/Printable.h b/lib_standalone/Printable.h
new file mode 100644
index 000000000..aa4e62f8f
--- /dev/null
+++ b/lib_standalone/Printable.h
@@ -0,0 +1,41 @@
+/*
+ Printable.h - Interface class that allows printing of complex types
+ Copyright (c) 2011 Adrian McEwen. All right reserved.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef Printable_h
+#define Printable_h
+
+#include
+
+class Print;
+
+/** The Printable class provides a way for new classes to allow themselves to be printed.
+ By deriving from Printable and implementing the printTo method, it will then be possible
+ for users to print out instances of this class by passing them into the usual
+ Print::print and Print::println methods.
+ */
+
+class Printable
+{
+public:
+ virtual ~Printable() {}
+ virtual size_t printTo(Print& p) const = 0;
+};
+
+#endif
+
diff --git a/lib_standalone/SecuritySettingsService.cpp b/lib_standalone/SecuritySettingsService.cpp
index fbe83bf7f..c77130caa 100644
--- a/lib_standalone/SecuritySettingsService.cpp
+++ b/lib_standalone/SecuritySettingsService.cpp
@@ -1,3 +1,5 @@
+#ifdef EMSESP_STANDALONE
+
#include
#if FT_ENABLED(FT_SECURITY)
@@ -137,3 +139,5 @@ ArJsonRequestHandlerFunction SecuritySettingsService::wrapCallback(ArJsonRequest
}
#endif
+
+#endif
\ No newline at end of file
diff --git a/lib_standalone/Stream.h b/lib_standalone/Stream.h
new file mode 100644
index 000000000..b97c206ea
--- /dev/null
+++ b/lib_standalone/Stream.h
@@ -0,0 +1,197 @@
+/*
+ Stream.h - base class for character-based streams.
+ Copyright (c) 2010 David A. Mellis. All right reserved.
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ parsing functions based on TextFinder library by Michael Margolis
+ */
+
+#ifndef Stream_h
+#define Stream_h
+
+#include
+#include "Print.h"
+#include "WString.h"
+
+// compatability macros for testing
+/*
+ #define getInt() parseInt()
+ #define getInt(skipChar) parseInt(skipchar)
+ #define getFloat() parseFloat()
+ #define getFloat(skipChar) parseFloat(skipChar)
+ #define getString( pre_string, post_string, buffer, length)
+ readBytesBetween( pre_string, terminator, buffer, length)
+ */
+
+class Stream: public Print
+{
+protected:
+ unsigned long _timeout; // number of milliseconds to wait for the next char before aborting timed read
+ unsigned long _startMillis; // used for timeout measurement
+ int timedRead(); // private method to read stream with timeout
+ int timedPeek(); // private method to peek stream with timeout
+ int peekNextDigit(); // returns the next numeric digit in the stream or -1 if timeout
+
+public:
+ virtual int available() = 0;
+ virtual int read() = 0;
+ virtual int peek() = 0;
+
+ Stream():_startMillis(0)
+ {
+ _timeout = 1000;
+ }
+ virtual ~Stream() {}
+
+// parsing methods
+
+ void setTimeout(unsigned long timeout); // sets maximum milliseconds to wait for stream data, default is 1 second
+ unsigned long getTimeout(void);
+
+ bool find(const char *target); // reads data from the stream until the target string is found
+ bool find(uint8_t *target)
+ {
+ return find((char *) target);
+ }
+ // returns true if target string is found, false if timed out (see setTimeout)
+
+ bool find(const char *target, size_t length); // reads data from the stream until the target string of given length is found
+ bool find(const uint8_t *target, size_t length)
+ {
+ return find((char *) target, length);
+ }
+ // returns true if target string is found, false if timed out
+
+ bool find(char target)
+ {
+ return find (&target, 1);
+ }
+
+ bool findUntil(const char *target, const char *terminator); // as find but search ends if the terminator string is found
+ bool findUntil(const uint8_t *target, const char *terminator)
+ {
+ return findUntil((char *) target, terminator);
+ }
+
+ bool findUntil(const char *target, size_t targetLen, const char *terminate, size_t termLen); // as above but search ends if the terminate string is found
+ bool findUntil(const uint8_t *target, size_t targetLen, const char *terminate, size_t termLen)
+ {
+ return findUntil((char *) target, targetLen, terminate, termLen);
+ }
+
+ long parseInt(); // returns the first valid (long) integer value from the current position.
+ // initial characters that are not digits (or the minus sign) are skipped
+ // integer is terminated by the first character that is not a digit.
+
+ float parseFloat(); // float version of parseInt
+
+ virtual size_t readBytes(char *buffer, size_t length) // read chars from stream into buffer
+ {
+ size_t total = 0;
+
+ while (length-- > 0) {
+ int c = read();
+ if (c == -1)
+ return total;
+
+ *buffer = c;
+ total++;
+ }
+
+ return total;
+ }
+ virtual size_t readBytes(uint8_t *buffer, size_t length)
+ {
+ return readBytes((char *) buffer, length);
+ }
+ // terminates if length characters have been read or timeout (see setTimeout)
+ // returns the number of characters placed in the buffer (0 means no valid data found)
+
+ size_t readBytesUntil(char terminator, char *buffer, size_t length) // as readBytes with terminator character
+ {
+ size_t total = 0;
+
+ while (length-- > 0) {
+ int c = read();
+ if (c == -1 || c == terminator)
+ return total;
+
+ *buffer = c;
+ total++;
+ }
+
+ return total;
+ }
+ size_t readBytesUntil(char terminator, uint8_t *buffer, size_t length)
+ {
+ return readBytesUntil(terminator, (char *) buffer, length);
+ }
+ // terminates if length characters have been read, timeout, or if the terminator character detected
+ // returns the number of characters placed in the buffer (0 means no valid data found)
+
+#if 0
+ // Arduino String functions to be added here
+ virtual String readString() {
+ String str;
+
+ while (1) {
+ int c = read();
+ if (c == -1) {
+ break;
+ }
+
+ str.concat(c);
+ }
+
+ return str;
+ }
+
+ String readStringUntil(char terminator) {
+ String str;
+
+ while (1) {
+ int c = read();
+ if (c == -1 || c == terminator) {
+ break;
+ }
+
+ str.concat(c);
+ }
+
+ return str;
+ }
+#endif
+
+protected:
+ long parseInt(char skipChar); // as above but the given skipChar is ignored
+ // as above but the given skipChar is ignored
+ // this allows format characters (typically commas) in values to be ignored
+
+ float parseFloat(char skipChar); // as above but the given skipChar is ignored
+
+ struct MultiTarget {
+ const char *str; // string you're searching for
+ size_t len; // length of string you're searching for
+ size_t index; // index used by the search routine.
+ };
+
+ // This allows you to search for an arbitrary number of strings.
+ // Returns index of the target that is found first or -1 if timeout occurs.
+ int findMulti(struct MultiTarget *targets, int tCount);
+
+};
+
+#endif
diff --git a/lib_standalone/WString.cpp b/lib_standalone/WString.cpp
index ef3e571cc..853c80c63 100644
--- a/lib_standalone/WString.cpp
+++ b/lib_standalone/WString.cpp
@@ -1,4 +1,6 @@
+#ifdef EMSESP_STANDALONE
+
#include
#include "WString.h"
@@ -66,3 +68,5 @@ size_t strlcat(char * dst, const char * src, size_t siz) {
return (dlen + (s - src)); /* count does not include NUL */
}
+
+#endif
\ No newline at end of file
diff --git a/lib_standalone/emsuart_standalone.cpp b/lib_standalone/emsuart_standalone.cpp
index 5d092e8b5..f8b05a809 100644
--- a/lib_standalone/emsuart_standalone.cpp
+++ b/lib_standalone/emsuart_standalone.cpp
@@ -16,6 +16,8 @@
* along with this program. If not, see .
*/
+#ifdef EMSESP_STANDALONE
+
#include "emsuart_standalone.h"
#pragma GCC diagnostic push
@@ -86,3 +88,5 @@ char * EMSuart::hextoa(char * result, const uint8_t value) {
} // namespace emsesp
#pragma GCC diagnostic pop
+
+#endif
\ No newline at end of file
diff --git a/platformio.ini b/platformio.ini
index 3b364ba13..650263e38 100644
--- a/platformio.ini
+++ b/platformio.ini
@@ -2,8 +2,9 @@
; override any settings with your own local ones in pio_local.ini
[platformio]
-default_envs = esp32_4M
+; default_envs = esp32_4M
; default_envs = esp32_16M
+default_envs = standalone
extra_configs =
factory_settings.ini
@@ -16,8 +17,8 @@ core_build_flags =
-D NDEBUG
-D ARDUINO_ARCH_ESP32=1
-D ESP32=1
- ; -std=gnu++17
- ; -Os
+ -std=gnu++17
+ -Os
; core_unbuild_flags = -std=gnu++11
; core_unbuild_flags = -std=gnu++17
@@ -40,7 +41,6 @@ unbuild_flags =
${common.core_unbuild_flags}
[env]
-framework = arduino
monitor_speed = 115200
monitor_raw = yes
upload_speed = 921600
@@ -58,6 +58,7 @@ check_flags =
[env:ci]
extra_scripts = scripts/rename_fw.py
board = esp32dev
+framework = arduino
platform = espressif32
board_build.partitions = esp32_partition_4M.csv
board_build.filesystem = littlefs
@@ -69,6 +70,7 @@ extra_scripts =
pre:scripts/build_interface.py
scripts/rename_fw.py
board = esp32dev
+framework = arduino
platform = espressif32
board_upload.flash_size = 4MB
board_build.partitions = esp32_partition_4M.csv
@@ -80,6 +82,7 @@ extra_scripts =
pre:scripts/build_interface.py
scripts/rename_fw.py
board = esp32dev
+framework = arduino
platform = espressif32
board_upload.flash_size = 16MB
board_build.partitions = esp32_partition_16M.csv
@@ -91,6 +94,7 @@ extra_scripts =
pre:scripts/build_interface.py
scripts/rename_fw.py
board = lolin_c3_mini
+framework = arduino
platform = espressif32
board_upload.flash_size = 4MB
board_build.partitions = esp32_partition_4M.csv
@@ -104,6 +108,7 @@ extra_scripts =
pre:scripts/build_interface.py
scripts/rename_fw.py
board = lolin_c3_mini
+framework = arduino
platform = espressif32
board_upload.flash_size = 4MB
board_build.partitions = esp32_partition_4M.csv
@@ -115,8 +120,42 @@ extra_scripts =
pre:scripts/build_interface.py
scripts/rename_fw.py
board = lolin_s2_mini
+framework = arduino
platform = espressif32
board_upload.flash_size = 4MB
board_build.partitions = esp32_partition_4M.csv
build_flags = ${common.build_flags}
build_unflags = ${common.unbuild_flags}
+
+; see https://docs.platformio.org/en/latest/platforms/native.html#id1
+; to build: pio run -e standalone
+; to run and build: pio run -e standalone -t exec
+[env:standalone]
+platform = native
+build_flags =
+ -DARDUINO
+ -DARDUINOJSON_ENABLE_STD_STRING=1 -DARDUINOJSON_ENABLE_PROGMEM=1 -DARDUINOJSON_ENABLE_ARDUINO_STRING -DARDUINOJSON_USE_DOUBLE=0
+ -DEMSESP_DEBUG -DEMSESP_STANDALONE -DEMSESP_USE_SERIAL
+ -DEMSESP_DEFAULT_LOCALE=\"en\" -DEMSESP_DEFAULT_TX_MODE=8 -DEMSESP_DEFAULT_VERSION=\"3.5.0-dev\" -DEMSESP_DEFAULT_BOARD_PROFILE=\"S32\"
+ -lpthread
+ -std=gnu++17 -Og -ggdb
+build_src_flags =
+ -Wall -Wextra -Werror -Wswitch-enum -Wno-unused-parameter -Wno-inconsistent-missing-override
+ -I./lib_standalone
+ -I./lib/ArduinoJson/src
+ -I./lib/uuid-common/src
+ -I./lib/uuid-console/src
+ -I./lib/uuid-log/src
+ -I./lib/semver
+ -I./lib/PButton
+build_src_filter =
+ +<*>
+ -<.git/>
+ +<../lib_standalone>
+ +<../lib/uuid-common>
+ +<../lib/uuid-console>
+ +<../lib/uuid-log>
+ +<../lib/semver>
+ +<../lib/PButton>
+lib_compat_mode = off
+lib_ldf_mode = off
diff --git a/src/devices/boiler.cpp b/src/devices/boiler.cpp
index 1ba1ff2bc..0c1ee2f86 100644
--- a/src/devices/boiler.cpp
+++ b/src/devices/boiler.cpp
@@ -1451,7 +1451,8 @@ void Boiler::process_UBAErrorMessage2(std::shared_ptr telegram)
snprintf(&code[3], sizeof(code) - 3, "(%d) %02d.%02d.%04d %02d:%02d - now", codeNo, start_day, start_month, start_year, start_hour, start_min);
}
} else { // no clock, the uptime is stored https://github.com/emsesp/EMS-ESP32/issues/121
- uint32_t starttime, endtime;
+ uint32_t starttime = 0;
+ uint32_t endtime = 0;
telegram->read_value(starttime, 11, 3);
telegram->read_value(endtime, 16, 3);
snprintf(&code[3], sizeof(code) - 3, "(%d) @uptime %d - %d min", codeNo, starttime, endtime);
diff --git a/src/web/WebStatusService.cpp b/src/web/WebStatusService.cpp
index 476bddc7b..c4b20f9df 100644
--- a/src/web/WebStatusService.cpp
+++ b/src/web/WebStatusService.cpp
@@ -32,6 +32,8 @@ WebStatusService::WebStatusService(AsyncWebServer * server, SecurityManager * se
// handles both WiFI and Ethernet
void WebStatusService::WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {
+#ifndef EMSESP_STANDALONE
+
switch (event) {
case ARDUINO_EVENT_WIFI_STA_DISCONNECTED:
EMSESP::logger().warning("WiFi disconnected. Reason code=%s", disconnectReason(info.wifi_sta_disconnected.reason)); // IDF 4.0
@@ -39,9 +41,7 @@ void WebStatusService::WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {
break;
case ARDUINO_EVENT_WIFI_STA_GOT_IP:
-#ifndef EMSESP_STANDALONE
EMSESP::logger().info("WiFi connected with IP=%s, hostname=%s", WiFi.localIP().toString().c_str(), WiFi.getHostname());
-#endif
EMSESP::system_.syslog_init();
mDNS_start();
EMSESP::system_.send_info_mqtt("connected");
@@ -63,9 +63,7 @@ void WebStatusService::WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {
case ARDUINO_EVENT_ETH_GOT_IP:
// prevent double calls
if (!EMSESP::system_.ethernet_connected()) {
-#ifndef EMSESP_STANDALONE
EMSESP::logger().info("Ethernet connected with IP=%s, speed %d Mbps", ETH.localIP().toString().c_str(), ETH.linkSpeed());
-#endif
// EMSESP::system_.send_heartbeat();
EMSESP::system_.syslog_init();
EMSESP::system_.ethernet_connected(true);
@@ -84,7 +82,6 @@ void WebStatusService::WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {
EMSESP::system_.ethernet_connected(false);
break;
-#ifndef EMSESP_STANDALONE
case ARDUINO_EVENT_WIFI_STA_CONNECTED:
EMSESP::esp8266React.getNetworkSettingsService()->read([&](NetworkSettings & networkSettings) {
if (networkSettings.enableIPv6) {
@@ -112,11 +109,11 @@ void WebStatusService::WiFiEvent(WiFiEvent_t event, WiFiEventInfo_t info) {
mDNS_start();
EMSESP::system_.send_info_mqtt("connected");
break;
-#endif
default:
break;
}
+#endif
}
void WebStatusService::webStatusService(AsyncWebServerRequest * request) {