mirror of
https://github.com/esphome/esphome.git
synced 2026-09-02 02:56:01 +00:00
5b912e0c7cf97b5955ae9025afc32efbdf11a0e8
Replace paired before_component_phase_() / after_component_phase_() calls with a ComponentPhaseGuard whose constructor processes pending enable_loop requests and sets in_loop_ = true, and whose destructor clears in_loop_ at scope exit. The guard methods are ESPHOME_ALWAYS_INLINE. Verified byte-identical .text/.data/.bss output on an ESP32 IDF build, and identical disassembly for both esphome::loop_task (where Application::loop is inlined) and Application::setup. Benefit: symmetry is now enforced by the type system. Future early returns or refactors inside the component phase can't accidentally leave in_loop_ set without a matching reset.
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
585 MiB
Languages
C++
56.1%
Python
43.3%
C
0.3%
JavaScript
0.2%
