summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorRiku Isokoski <riksu9000@gmail.com>2022-04-22 20:26:38 (GMT)
committerRiku Isokoski <riksu9000@gmail.com>2022-04-25 12:50:26 (GMT)
commitaa32159c005cf44fbda9fa42818c7deab7c41297 (patch)
tree62d1fe918d388b52ca020224fb8f6f2d4aa96dc3 /src/drivers
parent5e83a862dba2c850a10fea11e814d593b2381f76 (diff)
Tweak gamma on ST7789 and match UI colors
This change will increase the color accuracy of the PineTime and make UI development with the simulator easier.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/St7789.cpp6
-rw-r--r--src/drivers/St7789.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp
index fd1366f..d520199 100644
--- a/src/drivers/St7789.cpp
+++ b/src/drivers/St7789.cpp
@@ -23,6 +23,7 @@ void St7789::Init() {
RowAddressSet();
DisplayInversionOn();
NormalModeOn();
+ SetGamma();
DisplayOn();
}
@@ -114,6 +115,11 @@ void St7789::WriteToRam() {
WriteCommand(static_cast<uint8_t>(Commands::WriteToRam));
}
+void St7789::SetGamma() {
+ WriteCommand(static_cast<uint8_t>(Commands::GammaSet));
+ WriteData(0x04);
+}
+
void St7789::DisplayOff() {
WriteCommand(static_cast<uint8_t>(Commands::DisplayOff));
nrf_delay_ms(500);
diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h
index 4fbccbe..1317abe 100644
--- a/src/drivers/St7789.h
+++ b/src/drivers/St7789.h
@@ -43,6 +43,7 @@ namespace Pinetime {
void NormalModeOn();
void WriteToRam();
void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
+ void SetGamma();
void WriteCommand(uint8_t cmd);
void WriteSpi(const uint8_t* data, size_t size);
@@ -52,6 +53,7 @@ namespace Pinetime {
SleepOut = 0x11,
NormalModeOn = 0x13,
DisplayInversionOn = 0x21,
+ GammaSet = 0x26,
DisplayOff = 0x28,
DisplayOn = 0x29,
ColumnAddressSet = 0x2a,