mirror of
https://github.com/esphome/esphome.git
synced 2026-06-24 16:02:40 +00:00
9eee8ebb642ef0c48e1af1c141509775fba07f7f
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.
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%
