One often reported issue is that the ESPEasy node (especially ESP8266 ones) will crash when WiFi is unstable.
This could be due to memory suddenly filling up by the controller queue.
When creating a new item for the controller queue, there was no `(std::nothrow)` included on the `new` calls, so if running out of memory this might have thrown a `std::bad_alloc` exception, which are not caught and thus ESPEasy might crash on it.
Now ESP32 SDK code has support for IPv6, some uninitialized IPs were shown as `::`
This was confusing to say the least and may have broken some other tools that may read IP info from JSON for example.
* [PIO build] Update build scripts for scons 4.5.x
* [Build] Fix build error due to strange cast of double type in rules
* [Build] Work-around for new ESP8266 macro of round()
Whoever thought it would be a good idea to make round() an explicit cast to `long`....
* [Build ESP8266] Replace calls to round()
* [Build] Use HWrandom to overcome build issues
* [Build] Fix missing include
* [Build] Remove extern "C" to allow for (C++) function overloading
* [Build] include ESPEasy_common.h instead of Arduino.h where possible
* [Cleanup] Moving not commonly needed code out of ESPEasy_common.h
* [Build] Remove "Helpers" folder from concat script
* [Build] Include ESPEasy_common.h instead of ESPEasy_config.h
* [Build] Add Helpers folder to concat .cpp for ESP8266
* [Build] Add ESPEasyCore to concat cpp & split global RulesCalculate obj
* [Build test] Disable lots of plugins + not concat Helpers/*.cpp
* [Build test] Disable P037 to test build failures
* [Build test] Undef round right after include <Arduino.h>
* [Build] Revert disabling plugins + concat Helpers/*.cpp
* [Build] Include cmath after Arduino.h to redefine round()
* [Build] Fix ESP32 build error
* [Build] Add ESP32_CLASSIC define for ESP32 IR build
This also fixes a timeout issue on ESP32 as the WiFiClient timeout is set in seconds (!!!!!)
See: https://github.com/espressif/arduino-esp32/pull/6676
Extremely frustrating design choice as it has taken extreme amounts of time to debug those issues!