From b64729987e5755b92306ad3dfd4ae08333aef59f Mon Sep 17 00:00:00 2001 From: Todd Herbert Date: Mon, 24 Mar 2025 13:19:17 +1300 Subject: [PATCH] fix: SSD16XX reset pulse Allow time for controller IC to wake. Aligns with manufacturer's suggestions. T-Echo button timing adjusted to prevent bouncing as a result(?) of slightly faster refreshes. --- src/graphics/niche/Drivers/EInk/SSD16XX.cpp | 5 +++-- variants/t-echo/nicheGraphics.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/graphics/niche/Drivers/EInk/SSD16XX.cpp b/src/graphics/niche/Drivers/EInk/SSD16XX.cpp index 07d02a2ae..6b4bb7245 100644 --- a/src/graphics/niche/Drivers/EInk/SSD16XX.cpp +++ b/src/graphics/niche/Drivers/EInk/SSD16XX.cpp @@ -50,8 +50,9 @@ void SSD16XX::reset() if (pin_rst != 0xFF) { pinMode(pin_rst, OUTPUT); digitalWrite(pin_rst, LOW); - delay(50); - pinMode(pin_rst, INPUT_PULLUP); + delay(10); + digitalWrite(pin_rst, HIGH); + delay(10); wait(); } diff --git a/variants/t-echo/nicheGraphics.h b/variants/t-echo/nicheGraphics.h index 4a6ad6254..e8a9232f1 100644 --- a/variants/t-echo/nicheGraphics.h +++ b/variants/t-echo/nicheGraphics.h @@ -105,6 +105,7 @@ void setupNicheGraphics() // Setup the main user button buttons->setWiring(MAIN_BUTTON, BUTTON_PIN, LOW); + buttons->setTiming(MAIN_BUTTON, 75, 500); buttons->setHandlerShortPress(MAIN_BUTTON, []() { InkHUD::InkHUD::getInstance()->shortpress(); }); buttons->setHandlerLongPress(MAIN_BUTTON, []() { InkHUD::InkHUD::getInstance()->longpress(); });