aod: switch to 8 colors when always on
This commit is contained in:
parent
e884b053d3
commit
5385f7e275
3 changed files with 30 additions and 1 deletions
|
@ -249,6 +249,7 @@ void DisplayApp::Refresh() {
|
|||
// Don't actually turn off the display for AlwaysOn mode
|
||||
if (settingsController.GetAlwaysOnDisplay()) {
|
||||
brightnessController.Set(Controllers::BrightnessController::Levels::AlwaysOn);
|
||||
lcd.LowPowerOn();
|
||||
} else {
|
||||
brightnessController.Set(Controllers::BrightnessController::Levels::Off);
|
||||
lcd.Sleep();
|
||||
|
@ -257,7 +258,11 @@ void DisplayApp::Refresh() {
|
|||
state = States::Idle;
|
||||
break;
|
||||
case Messages::GoToRunning:
|
||||
lcd.Wakeup();
|
||||
if (settingsController.GetAlwaysOnDisplay()) {
|
||||
lcd.LowPowerOff();
|
||||
} else {
|
||||
lcd.Wakeup();
|
||||
}
|
||||
lv_disp_trig_activity(nullptr);
|
||||
ApplyBrightness();
|
||||
state = States::Running;
|
||||
|
|
|
@ -127,6 +127,14 @@ void St7789::NormalModeOn() {
|
|||
WriteCommand(static_cast<uint8_t>(Commands::NormalModeOn));
|
||||
}
|
||||
|
||||
void St7789::IdleModeOn() {
|
||||
WriteCommand(static_cast<uint8_t>(Commands::IdleModeOn));
|
||||
}
|
||||
|
||||
void St7789::IdleModeOff() {
|
||||
WriteCommand(static_cast<uint8_t>(Commands::IdleModeOff));
|
||||
}
|
||||
|
||||
void St7789::DisplayOn() {
|
||||
WriteCommand(static_cast<uint8_t>(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);
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue