mirror of
https://github.com/esphome/esphome.git
synced 2026-03-01 18:34:21 -07:00
b756ef952ad21bc674936abbe4315514f6abdfb3
Reduce CPU usage when USB components are idle by disabling the component loop when there are no events or data to process. The loop is re-enabled from USB task callbacks via enable_loop_soon_any_context() when new events or data arrive. - Extract process_usb_events_() from USBClient::loop() returning bool so subclasses can combine with their own work checks for a single disable_loop() decision - Add enable_loop_soon_any_context() calls in client_event_cb and USB data input callback - Start with loop disabled in setup(), enabled by first event - Reorder USBClient members by thread-safety context - Reorder TransferStatus fields for optimal struct packing - Fix missing early return after mark_failed() in setup()
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
528 MiB
Languages
C++
64.1%
Python
35.5%
C
0.3%
