aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/St7789.cpp7
-rw-r--r--src/drivers/St7789.h2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp
index 48b65acb..cdfa6a34 100644
--- a/src/drivers/St7789.cpp
+++ b/src/drivers/St7789.cpp
@@ -28,6 +28,7 @@ void St7789::Init() {
NormalModeOn();
SetVdv();
PowerControl();
+ GateControl();
DisplayOn();
}
@@ -190,6 +191,12 @@ void St7789::PowerControl() {
WriteData(0xb3);
}
+void St7789::GateControl() {
+ WriteCommand(static_cast<uint8_t>(Commands::GateControl));
+ // Lowest possible VGL/VGH
+ WriteData(0x00);
+}
+
void St7789::SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {
WriteCommand(static_cast<uint8_t>(Commands::ColumnAddressSet));
uint8_t colArgs[] = {
diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h
index 68e9f058..96d16b93 100644
--- a/src/drivers/St7789.h
+++ b/src/drivers/St7789.h
@@ -55,6 +55,7 @@ namespace Pinetime {
void DisplayOn();
void DisplayOff();
void PowerControl();
+ void GateControl();
void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);
void SetVdv();
@@ -84,6 +85,7 @@ namespace Pinetime {
Command2Enable = 0xdf,
PowerControl1 = 0xd0,
PowerControl2 = 0xe8,
+ GateControl = 0xb7,
};
void WriteData(uint8_t data);
void WriteData(const uint8_t* data, size_t size);