mirror of
https://github.com/esphome/esphome.git
synced 2026-08-31 18:16:03 +00:00
abcd89cd1ff8eaef953c9cc397a368f31ed36cdc
On ESP8266, .rodata is mapped to DRAM (RAM), not flash. When StructInitializer is used with all compile-time constant fields, the compiler places the entire struct as a const blob in .rodata, silently consuming ~20 bytes of RAM. Switch to field-by-field assignment on ESP8266 so the IP address values are encoded as immediate operands in flash instructions instead of a .rodata blob. Other platforms continue to use the aggregate initializer since their .rodata is flash-mapped.
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.2%
Python
43.2%
C
0.3%
JavaScript
0.2%
