J. Nick Koston 9eee8ebb64 [uart] Wake main loop on ESP8266 software serial RX
The ESP8266 software serial GPIO ISR decodes a full byte into the
RX buffer, then returns. With the 2026.5.0 loop cadence change the
byte may sit unread for up to one loop_interval_ tick (~16 ms),
which breaks timing-sensitive components (e.g. fingerprint_grow)
that poll read() in a tight setup() loop and time out before bytes
appear.

Call wake_loop_isrsafe() from the ISR after the byte is buffered,
mirroring the ESP-IDF UART path (and the same pattern ratgdo uses
via SoftwareSerial::onReceive). The wake call is a single inline
flag set plus esp_schedule(); IRAM-safe and essentially free.

Gated on USE_UART_WAKE_LOOP_ON_RX, now enabled by default for
ESP8266 (in addition to ESP32) when networking is configured.
2026-05-22 07:49:40 -05:00
2023-06-12 17:00:34 +12:00
2022-09-06 15:48:01 +12:00
2024-03-28 10:20:51 +13:00
2025-12-08 14:37:45 -05:00
2026-05-14 12:33:43 +12:00
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 393 MiB
Languages
C++ 60.7%
Python 38.9%
C 0.3%