summaryrefslogtreecommitdiff
path: root/src/DisplayApp
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/DisplayApp
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/DisplayApp')
-rw-r--r--src/DisplayApp/DisplayApp.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp
index 8bfb8b03..13661609 100644
--- a/src/DisplayApp/DisplayApp.cpp
+++ b/src/DisplayApp/DisplayApp.cpp
@@ -136,9 +136,14 @@ void DisplayApp::Refresh() {
vTaskDelay(100);
nrf_gpio_pin_set(14);
lcd->DisplayOff();
+ lcd->Sleep();
+ touchPanel.Sleep();
state = States::Idle;
break;
case Messages::GoToRunning:
+ lcd->Wakeup();
+ touchPanel.Wakeup();
+
lcd->DisplayOn();
nrf_gpio_pin_clear(23);
nrf_gpio_pin_clear(22);