mirror of
https://github.com/esphome/esphome.git
synced 2026-02-28 09:54:19 -07: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
517 MiB
Languages
C++
64.1%
Python
35.5%
C
0.3%
