mirror of
https://github.com/esphome/esphome.git
synced 2026-09-01 02:26:01 +00:00
4d379d5e10b7aa1a1beefa61d4ba1ff8284db93f
Follow-up to #15071 which moved the TaskLogBuffer allocation into the Logger constructor to fix a race condition where another task could log before the buffer was initialized. This takes that fix further by eliminating the heap allocation entirely. The buffer size is a codegen constant, so we emit it as a define (ESPHOME_TASK_LOG_BUFFER_SIZE) and use it to size member arrays directly. The TaskLogBuffer becomes a direct member of Logger rather than a heap-allocated pointer, placing the entire buffer in BSS. Changes per platform: - ESP32: storage_ from RAMAllocator heap to member array - Host: slots_ from unique_ptr<LogMessage[]> to member array - LibreTiny: storage_ from RAMAllocator heap to member array - Zephyr: mpsc buf from new uint32_t[] to member array
[substitutions] speed up config loading: substitutions pass and
!include redesign (package refactor part 4) (#12126)
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
584 MiB
Languages
C++
56.1%
Python
43.3%
C
0.3%
JavaScript
0.2%
