diff --git a/src/Display.cpp b/src/Display.cpp index 25f311f..3ea0c94 100644 --- a/src/Display.cpp +++ b/src/Display.cpp @@ -38,6 +38,15 @@ void WatchyDisplay::initWatchy() { init(0, displayFullInit, 2, true); } +void WatchyDisplay::setDarkBorder(bool dark) { + if (_hibernating) return; + darkBorder = dark; + _startTransfer(); + _transferCommand(0x3C); // BorderWavefrom + _transfer(dark ? 0x02 : 0x05); + _endTransfer(); +} + void WatchyDisplay::clearScreen(uint8_t value) { writeScreenBuffer(value); @@ -394,12 +403,12 @@ void WatchyDisplay::_InitDisplay() _transfer(0x00); // Duration of phases, Default 0xF = 0b00 11 11 (40ms Phase 1/2, 10ms Phase 3) } - _transferCommand(0x3C); // BorderWavefrom - _transfer(darkBorder ? 0x02 : 0x05); _transferCommand(0x18); // Read built-in temperature sensor _transfer(0x80); _endTransfer(); + setDarkBorder(darkBorder); + _setPartialRamArea(0, 0, WIDTH, HEIGHT); } diff --git a/src/Display.h b/src/Display.h index 5c1ebf3..0fd75a8 100644 --- a/src/Display.h +++ b/src/Display.h @@ -36,6 +36,7 @@ class WatchyDisplay : public GxEPD2_EPD // constructor WatchyDisplay(); void initWatchy(); + void setDarkBorder(bool darkBorder); static void busyCallback(const void *); // methods (virtual) // Support for Bitmaps (Sprites) to Controller Buffer and to Screen