Public Access
el512: refresh health counters and quiet warnings
The panel driver counts ring refills, the largest gap between refills, frame swaps, swap timeouts and I2S TX FIFO underruns (takeStats()). The ESPHome component checks them every 10 s and logs a warning only when the ESP32 side of the signal had a problem, plus a debug summary per minute. Measured with Wi-Fi on: ~4600 refills/s, max gap < 0.4 ms (lead 1.7 ms), no underruns or timeouts, so remaining blinks come from the signal being disturbed on the wires (Wi-Fi transmit bursts), not from the refresh. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
963590cdfe
commit
f3212ea969
4 files changed
+80
-1
No files matched your search
@@ -51,6 +51,7 @@ class EL512Display : public display::DisplayBuffer {
|
||||
|
||||
protected:
|
||||
void draw_absolute_pixel_internal(int x, int y, Color color) override;
|
||||
void check_refresh_health_();
|
||||
int get_width_internal() override { return EL512Panel::WIDTH; }
|
||||
int get_height_internal() override { return EL512Panel::HEIGHT; }
|
||||
|
||||
@@ -58,6 +59,8 @@ class EL512Display : public display::DisplayBuffer {
|
||||
EL512Panel *panel_{nullptr};
|
||||
bool enabled_{true};
|
||||
bool low_power_{false};
|
||||
uint32_t health_checked_{0};
|
||||
uint32_t health_logged_{0};
|
||||
|
||||
display::DisplayPage *still_alive_page_{nullptr};
|
||||
display::DisplayPage *still_alive_return_{nullptr};
|
||||
|
||||
Reference in new issue
Block a user