A lot of extra work was done to determine the number of taskvalues, on each call.
Sending 4 task values to a MQTT controller (C005) for example took 20 msec on average, now about 10 msec.
To be a bit more friendly on the stack usage, we need to be able to queue commands so they can be processed directly from the loop() instead of deep in the processing of some plugin or controller code.
[Build] Remove ESP8266 1M IR-ext build
[Commands] Fix copy/paste error handling commands
* [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 is a macro for:
```
#define addLogMove(L, S) addToLogMove(L, std::move(S))
```
This will then try to move the constructed string to the log buffer.
If it cannot be moved (e.g. log level is not active), the string will be cleared to free up memory.