mirror of https://github.com/sqfmi/Watchy.git
Set boosters configuration
* Reduce the phase on times from 40ms->10ms * Increase the driving strength, this reduces a little the power usage as well * Reduces 220ms the display update -80ms the power on of the display -140ms the display partial update - Note: This may have side effects, but I saw none tested on Watchy v1.0, display should be same on other Watchy boardspull/242/head
parent
3ce125247d
commit
84c0cd106c
|
@ -382,6 +382,18 @@ void WatchyDisplay::_InitDisplay()
|
||||||
_transfer(0xC7);
|
_transfer(0xC7);
|
||||||
_transfer(0x00);
|
_transfer(0x00);
|
||||||
_transfer(0x00);
|
_transfer(0x00);
|
||||||
|
|
||||||
|
if (reduceBoosterTime) {
|
||||||
|
// SSD1675B controller datasheet
|
||||||
|
_transferCommand(0x0C); // BOOSTER_SOFT_START_CONTROL
|
||||||
|
// Set the driving strength of GDR for all phases to maximun 0b111 -> 0xF
|
||||||
|
// Set the minimum off time of GDR to minimum 0x4 (values below sould be same)
|
||||||
|
_transfer(0xF4); // Phase1 Default value 0x8B
|
||||||
|
_transfer(0xF4); // Phase2 Default value 0x9C
|
||||||
|
_transfer(0xF4); // Phase3 Default value 0x96
|
||||||
|
_transfer(0x00); // Duration of phases, Default 0xF = 0b00 11 11 (40ms Phase 1/2, 10ms Phase 3)
|
||||||
|
}
|
||||||
|
|
||||||
_transferCommand(0x3C); // BorderWavefrom
|
_transferCommand(0x3C); // BorderWavefrom
|
||||||
_transfer(darkBorder ? 0x02 : 0x05);
|
_transfer(darkBorder ? 0x02 : 0x05);
|
||||||
_transferCommand(0x18); // Read built-in temperature sensor
|
_transferCommand(0x18); // Read built-in temperature sensor
|
||||||
|
|
|
@ -71,6 +71,8 @@ class WatchyDisplay : public GxEPD2_EPD
|
||||||
void hibernate(); // turns powerOff() and sets controller to deep sleep for minimum power use, ONLY if wakeable by RST (rst >= 0)
|
void hibernate(); // turns powerOff() and sets controller to deep sleep for minimum power use, ONLY if wakeable by RST (rst >= 0)
|
||||||
|
|
||||||
bool darkBorder = false; // adds a dark border outside the normal screen area
|
bool darkBorder = false; // adds a dark border outside the normal screen area
|
||||||
|
|
||||||
|
static constexpr bool reduceBoosterTime = true; // Saves ~200ms
|
||||||
private:
|
private:
|
||||||
void _writeScreenBuffer(uint8_t command, uint8_t value);
|
void _writeScreenBuffer(uint8_t command, uint8_t value);
|
||||||
void _writeImage(uint8_t command, const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert = false, bool mirror_y = false, bool pgm = false);
|
void _writeImage(uint8_t command, const uint8_t bitmap[], int16_t x, int16_t y, int16_t w, int16_t h, bool invert = false, bool mirror_y = false, bool pgm = false);
|
||||||
|
|
Loading…
Reference in New Issue