summaryrefslogtreecommitdiff
path: root/src/Components/Gfx
diff options
context:
space:
mode:
authorJF <jf@codingfield.com>2020-01-17 22:16:45 +0100
committerJF <jf@codingfield.com>2020-01-17 22:16:45 +0100
commitc1f3a31b513e90b29f31f23ba24e5856837ea6d4 (patch)
tree8c3ef1be5a0bd4fa904311e8f1fc24de22646d62 /src/Components/Gfx
parent69a14a224780a3abe13bc4fcacd2d71db54716ac (diff)
Disable SPI, I²C, touch controller and display controller in sleep mode.
Re-enable them on wake up. Remove delays that were not needed in st7889 driver. Hopefully, it'll improve the battery life!
Diffstat (limited to 'src/Components/Gfx')
-rw-r--r--src/Components/Gfx/Gfx.cpp8
-rw-r--r--src/Components/Gfx/Gfx.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/Components/Gfx/Gfx.cpp b/src/Components/Gfx/Gfx.cpp
index 3621b055..50516f7d 100644
--- a/src/Components/Gfx/Gfx.cpp
+++ b/src/Components/Gfx/Gfx.cpp
@@ -85,4 +85,12 @@ void Gfx::pixel_draw(uint8_t x, uint8_t y, uint16_t color) {
lcd.DrawPixel(x, y, color);
}
+void Gfx::Sleep() {
+ lcd.Sleep();
+}
+
+void Gfx::Wakeup() {
+ lcd.Wakeup();
+}
+
diff --git a/src/Components/Gfx/Gfx.h b/src/Components/Gfx/Gfx.h
index 4e3b49cf..bc450846 100644
--- a/src/Components/Gfx/Gfx.h
+++ b/src/Components/Gfx/Gfx.h
@@ -16,6 +16,9 @@ namespace Pinetime {
void DrawChar(const FONT_INFO *font, uint8_t c, uint8_t *x, uint8_t y, uint16_t color);
void FillRectangle(uint8_t x, uint8_t y, uint8_t width, uint8_t height, uint16_t color);
+ void Sleep();
+ void Wakeup();
+
private:
Drivers::St7789& lcd;
const uint8_t width = 240;