From f27cf38046d2533cab368ff1fc525a27cf4494c9 Mon Sep 17 00:00:00 2001 From: Todd Herbert Date: Tue, 5 Mar 2024 18:28:45 +1300 Subject: [PATCH] Move Wireless Paper V1.1 custom hibernate behavior to GxEPD2 Previously implemented with a macro, in meshtastic/firmware. --- src/epd/GxEPD2_213_FC1.cpp | 13 +------------ src/epd/GxEPD2_213_FC1.h | 2 +- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/epd/GxEPD2_213_FC1.cpp b/src/epd/GxEPD2_213_FC1.cpp index b724a15..31d1b1c 100644 --- a/src/epd/GxEPD2_213_FC1.cpp +++ b/src/epd/GxEPD2_213_FC1.cpp @@ -158,19 +158,10 @@ void GxEPD2_213_FC1::powerOff() _PowerOff(); } -// Put the display into an extra-low power state. Hard reset required to wake. -// Caution: will wipe display memory - problematic for fast-refresh, so not used by meshtastic +// No hibernate for this display, only power off. Preserves image memory for fast refresh. void GxEPD2_213_FC1::hibernate() { _PowerOff(); - if (_rst >= 0) - { - _writeCommand(0x07); // deep sleep mode - _writeData(0xA5); // enter deep sleep - _hibernating = true; - _configured_for_full = false; - _configured_for_fast = false; - } } void GxEPD2_213_FC1::_PowerOn() @@ -280,7 +271,6 @@ void GxEPD2_213_FC1::_Update_Full() _PowerOn(); _writeCommand(0x12); _waitWhileBusy("_Update_Full", full_refresh_time); - _PowerOff(); } void GxEPD2_213_FC1::_Update_Part() @@ -289,7 +279,6 @@ void GxEPD2_213_FC1::_Update_Part() _PowerOn(); _writeCommand(0x12); _waitWhileBusy("_Update_Part", partial_refresh_time); - _PowerOff(); } // Fast refresh waveform is unofficial (experimental?) diff --git a/src/epd/GxEPD2_213_FC1.h b/src/epd/GxEPD2_213_FC1.h index f07293d..74dafd2 100644 --- a/src/epd/GxEPD2_213_FC1.h +++ b/src/epd/GxEPD2_213_FC1.h @@ -44,7 +44,7 @@ class GxEPD2_213_FC1 : public GxEPD2_EPD void refresh(bool partial_update_mode = false); // screen refresh from controller memory to full screen void refresh(int16_t x, int16_t y, int16_t w, int16_t h); // screen refresh from controller memory, fast-refresh void powerOff(); // turns off generation of panel driving voltages, avoids screen fading over time - void hibernate(); // turns powerOff() and sets controller to deep sleep for minimum power use, ONLY if wakeable by RST (rst >= 0) + void hibernate(); // For this display, no deep sleep, only power off. Preserves image memory for fast refresh // Unimplemented for meshtastic public: