mirror of
https://github.com/esphome/esphome.git
synced 2026-02-19 16:05:35 -07:00
c1328f1b3a4fc56b1010d7fe34c435dba56b179e
Restructure set_timer_common_ to reduce icache pressure on the hot path (538 → 405 bytes on ESP32): - Extract calculate_interval_offset_ as noinline helper - float math and random_float() only needed for intervals, not timeouts - Extract is_retry_cancelled_locked_ as noinline helper - retry path is cold and deprecated (removal planned for 2026.8.0) - Merge duplicated cancel+push_back epilogue by computing a target vector pointer (defer_queue_ vs to_add_) before the branch, converging both paths at a single cancel+push sequence - Replace 4-way switch on name_type with unified set_name() method that does a single branch + store instead of 4 separate bitfield RMW sequences - Remove now-unused individual name setters (set_static_name, set_hashed_name, set_numeric_id, set_internal_id)
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
375 MiB
Languages
C++
64.2%
Python
35.5%
C
0.2%
