aboutsummaryrefslogtreecommitdiffstats
path: root/src/drivers/St7789.cpp
diff options
context:
space:
mode:
authorJohn Crawford <coffeeboi47@protonmail.com>2023-10-17 08:19:01 -0600
committerJF <JF002@users.noreply.github.com>2024-08-05 20:32:43 +0200
commit0bcd7e000960d18db6d26813185fe0e2695bdfe6 (patch)
tree346cd311ffe61af16a1707228c469d6e3010907a /src/drivers/St7789.cpp
parentbf69e0dcc515b85ea034b99414e433a7233ad25e (diff)
aod: lower voltage going to the display
Diffstat (limited to 'src/drivers/St7789.cpp')
-rw-r--r--src/drivers/St7789.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp
index 035d61c9..48b65acb 100644
--- a/src/drivers/St7789.cpp
+++ b/src/drivers/St7789.cpp
@@ -27,6 +27,7 @@ void St7789::Init() {
#endif
NormalModeOn();
SetVdv();
+ PowerControl();
DisplayOn();
}
@@ -176,6 +177,19 @@ void St7789::DisplayOn() {
WriteCommand(static_cast<uint8_t>(Commands::DisplayOn));
}
+void St7789::PowerControl() {
+ WriteCommand(static_cast<uint8_t>(Commands::PowerControl1));
+ constexpr uint8_t args[] = {
+ 0xa4, // Constant
+ 0x00, // Lowest possible voltages
+ };
+ WriteData(args, sizeof(args));
+
+ WriteCommand(static_cast<uint8_t>(Commands::PowerControl2));
+ // Lowest possible boost circuit clocks
+ WriteData(0xb3);
+}
+
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[] = {