From a91c68c931cc8308e87acd796afb46ba70ae3dc2 Mon Sep 17 00:00:00 2001 From: JF Date: Wed, 11 Mar 2020 21:35:06 +0100 Subject: Backup and restore vertical scroll offset when goind to sleep/wakeup to avoid scrambled display on wake-up. --- src/DisplayApp/DisplayApp.cpp | 12 ++++++------ src/drivers/St7789.cpp | 2 ++ src/drivers/St7789.h | 1 + src/sdk_config.h | 6 +++--- 4 files changed, 12 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index 3cb245f8..7464175e 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -132,13 +132,13 @@ void DisplayApp::Refresh() { break; case Messages::ButtonPushed: if(onClockApp) - systemTask.PushMessage(System::SystemTask::Messages::GoToSleep); - else { - auto buttonUsedByApp = currentScreen->OnButtonPushed(); - if (!buttonUsedByApp) { systemTask.PushMessage(System::SystemTask::Messages::GoToSleep); - } else { - lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Up); + else { + auto buttonUsedByApp = currentScreen->OnButtonPushed(); + if (!buttonUsedByApp) { + systemTask.PushMessage(System::SystemTask::Messages::GoToSleep); + } else { + lvgl.SetFullRefresh(Components::LittleVgl::FullRefreshDirections::Up); } } diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index 1f6e6d36..db7c27e2 100644 --- a/src/drivers/St7789.cpp +++ b/src/drivers/St7789.cpp @@ -131,6 +131,7 @@ void St7789::VerticalScrollDefinition(uint16_t topFixedLines, uint16_t scrollLin } void St7789::VerticalScrollStartAddress(uint16_t line) { + verticalScrollingStartAddress = line; WriteCommand(static_cast(Commands::VerticalScrollStartAddress)); WriteData(line >> 8u); WriteData(line & 0x00ffu); @@ -189,5 +190,6 @@ void St7789::Wakeup() { RowAddressSet(); DisplayInversionOn(); NormalModeOn(); + VerticalScrollStartAddress(verticalScrollingStartAddress); DisplayOn(); } diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index fb57f283..3721b184 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -31,6 +31,7 @@ namespace Pinetime { private: SpiMaster& spi; uint8_t pinDataCommand; + uint8_t verticalScrollingStartAddress = 0; void HardwareReset(); void SoftwareReset(); diff --git a/src/sdk_config.h b/src/sdk_config.h index d1570718..0d9b2744 100644 --- a/src/sdk_config.h +++ b/src/sdk_config.h @@ -8452,15 +8452,15 @@ // NRF_LOG_ENABLED - nrf_log - Logger //========================================================== #ifndef NRF_LOG_ENABLED -#define NRF_LOG_ENABLED 1 +#define NRF_LOG_ENABLED 0 #endif #ifndef NRF_LOG_BACKEND_RTT_ENABLED -#define NRF_LOG_BACKEND_RTT_ENABLED 1 +#define NRF_LOG_BACKEND_RTT_ENABLED 0 #endif #ifndef NRF_LOG_BACKEND_SERIAL_USES_RTT -#define NRF_LOG_BACKEND_SERIAL_USES_RTT 1 +#define NRF_LOG_BACKEND_SERIAL_USES_RTT 0 #endif // Log message pool - Configuration of log message pool -- cgit v1.2.3