mirror of
https://github.com/esphome/esphome.git
synced 2026-07-10 17:05:36 +00:00
5e64e3a3d4
All string literals in api_pb2_dump.cpp (field names, message names, enum value names) were stored in rodata which occupies RAM on ESP8266. This meant every API protobuf change appeared as a RAM increase in CI when using very_verbose logging. Add append_p() to DumpBuffer for PROGMEM-safe string reading and update the code generator to wrap all dump string literals with ESPHOME_PSTR(). On non-ESP8266 platforms, these are no-ops with zero overhead.