mirror of
https://github.com/esphome/esphome.git
synced 2026-06-24 15:10:51 +00:00
c37ce25fb765fd10fb01478af55dfa30e1026320
Replaces the single load_bearing counter with three buckets measured
via a bounded (100µs) spin-poll of the task notification value after
the scan finds data:
race (<10µs) — notification arrived within ~10µs: callback-ordering
race between rcvevent write and xTaskNotifyGive a few
instructions later. Scan is noise.
micro (<100µs) — notification arrived within 100µs: still noise at
loop_interval scale.
stall (>=100µs) — notification did not arrive within the poll window.
Only this case could represent a real latency spike
that the scan is rescuing.
The 100µs spin cap is intentional: if we are wrong and this IS a real
stall, we only add 100µs to that one unlucky loop iteration.
The immediate ESP_LOGW on each hit now includes gap_us and the bucket
label so individual events can be investigated.
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%
