J. Nick Koston 7ce24edabb [api] Force-inline encode_fixed32 and add force=true to all key fields
- Add ESPHOME_ALWAYS_INLINE to encode_fixed32 so the compiler inlines it
  on hot paths despite -Os heuristics (removing noinline alone was not
  enough — gcc still chose not to inline at 51 call sites)
- Mark all fixed32 key fields in api.proto with [(force) = true] since
  entity keys are FNV hashes and never zero, eliminating the zero-check
  branch and making calculate_size() use constants

+96 bytes flash (555167 → 555263) on ESP32 — negligible for removing
branch + call overhead on every sensor state encode.
2026-03-20 23:17:11 -10:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2025-12-21 09:26:03 -05:00
2024-03-28 10:20:51 +13:00
2025-07-17 22:40:28 +12:00
2025-12-08 14:37:45 -05:00
2026-03-12 07:34:53 +13:00
2025-07-17 22:40:28 +12:00
S
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
594 MiB
Languages
C++ 55.8%
Python 43.6%
C 0.3%
JavaScript 0.2%