Commit Graph
23 Commits
Author SHA1 Message Date
TD-er 06e458ea04 [Controller] Fail gracefully when almost out of memory
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.
2024-05-23 15:20:14 +02:00
TD-er e1cfee6947 [Cleanup] Reduce bin size (NVS storage & P128 NeoPixelBus) 2024-01-09 17:20:30 +01:00
TD-er ef9c263b3e [ESP8266] Optimize memory allocations + 2nd heap 2023-11-16 17:52:28 +01:00
TD-er 3475de24ca [ESP8266] Fix stability issues when using 2nd heap 2023-11-15 11:44:41 +01:00
TD-er 71630ba87b [Cleanup] Remove no longer needed globals/Protocol.h/.cpp 2023-09-15 18:13:15 +02:00
TD-er 922ad76e5e [Controller] Simplify ESPEasy core administration of CPlugins 2023-09-15 17:09:09 +02:00
TD-er 9c07393225 [Scheduler] Cleanup of Scheduler code 2023-09-12 12:29:51 +02:00
TD-er 5449ba176b [Cleanup] Fix IP address formatting
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.
2023-05-11 13:24:15 +02:00
TD-er cc7602539f [Build] Fix building ESPEasy in PlatformIO 6.1.7 (#4656)
* [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
2023-05-10 23:00:33 +02:00
Ton Huisman 92e3287822 [Config] Rename getUnitname() to getName() to avoid confusion, fix error that was introduced 2023-01-27 20:21:56 +01:00
Ton Huisman 509e03be16 [Config] Replace Settings.Name by Settings.getUnitname() 2023-01-26 23:34:14 +01:00
TD-er 30ec3a6c2e [Controller Queue] Do not format message when controller queue is full 2023-01-18 12:03:02 +01:00
TD-er 6bc0cc5fcf [Controller] Fix queue element vase class members being set 2023-01-04 13:56:55 +01:00
TD-er d038ce2e15 [Controllers] Reduce bin size by getting rid of extensive macros 2023-01-01 21:11:08 +01:00
TD-er 8fe63e47fd [Controller Queue] Reduce bin size by using inheritance 2022-12-31 01:15:47 +01:00
TD-er 5ab6a3b96f [Cleanup] Reduce bin size by assigning smaller types to enums 2022-10-24 00:49:21 +02:00
TD-er b87db70810 [SendToHttp] Fix HTTP 401 and 404 error
Still to do: look into why not all HTTP requests seem to arrive at the other node when sending at short intervals (less than 3 sec)
2022-08-23 18:28:39 +02:00
TD-er 2c0ed04f15 [HTTP] Use the same function for all HTTP controllers + fix timeout
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!
2022-07-22 16:42:46 +02:00
TD-er e6c4d31748 [ESP32] Add cache for ExtraTaskSettings due to load speed on ESP32 2022-07-14 19:55:45 +02:00
TD-er bb3d60e3a7 [Cleanup] Simple fixes to prevent String reallocation. 2022-02-10 16:11:29 +01:00
TD-er 7769b6810d [Low Mem] Add checks for successful String memory allocation 2022-02-04 13:28:29 +01:00
TD-er 084b83a5fd [SendToHTTP] Add some checks for timeout to send to HTTP 2022-02-02 17:19:35 +01:00
TD-er 1cfd75d6bf [INO to CPP] Rename Cnnn.ino to Cnnn.cpp
This way we know for sure the Arduino typical build issues will be affecting building controllers.
2022-01-31 11:01:41 +01:00