From 5385f7e275a0b3ca83d8a7cae959b02700ef153a Mon Sep 17 00:00:00 2001 From: John Crawford Date: Sat, 14 Oct 2023 10:16:49 -0600 Subject: aod: switch to 8 colors when always on --- src/drivers/St7789.cpp | 18 ++++++++++++++++++ src/drivers/St7789.h | 6 ++++++ 2 files changed, 24 insertions(+) (limited to 'src/drivers') diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index c22f2199..274e2b62 100644 --- a/src/drivers/St7789.cpp +++ b/src/drivers/St7789.cpp @@ -127,6 +127,14 @@ void St7789::NormalModeOn() { WriteCommand(static_cast(Commands::NormalModeOn)); } +void St7789::IdleModeOn() { + WriteCommand(static_cast(Commands::IdleModeOn)); +} + +void St7789::IdleModeOff() { + WriteCommand(static_cast(Commands::IdleModeOff)); +} + void St7789::DisplayOn() { WriteCommand(static_cast(Commands::DisplayOn)); } @@ -198,6 +206,16 @@ void St7789::HardwareReset() { vTaskDelay(pdMS_TO_TICKS(125)); } +void St7789::LowPowerOn() { + IdleModeOn(); + NRF_LOG_INFO("[LCD] Low power mode"); +} + +void St7789::LowPowerOff() { + IdleModeOff(); + NRF_LOG_INFO("[LCD] Normal power mode"); +} + void St7789::Sleep() { SleepIn(); nrf_gpio_cfg_default(pinDataCommand); diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index 844e0180..ccc951ff 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -24,6 +24,8 @@ namespace Pinetime { void DrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height, const uint8_t* data, size_t size); + void LowPowerOn(); + void LowPowerOff(); void Sleep(); void Wakeup(); @@ -45,6 +47,8 @@ namespace Pinetime { void DisplayInversionOn(); void NormalModeOn(); void WriteToRam(const uint8_t* data, size_t size); + void IdleModeOn(); + void IdleModeOff(); void DisplayOn(); void DisplayOff(); @@ -68,6 +72,8 @@ namespace Pinetime { MemoryDataAccessControl = 0x36, VerticalScrollDefinition = 0x33, VerticalScrollStartAddress = 0x37, + IdleModeOff = 0x38, + IdleModeOn = 0x39, PixelFormat = 0x3a, VdvSet = 0xc4, }; -- cgit v1.2.3-70-g09d2