summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/St7789.cpp10
-rw-r--r--src/drivers/St7789.h7
2 files changed, 15 insertions, 2 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp
index 0c18a610..7c52f179 100644
--- a/src/drivers/St7789.cpp
+++ b/src/drivers/St7789.cpp
@@ -12,6 +12,9 @@ St7789::St7789(SpiMaster &spiMaster, uint8_t pinDataCommand) : spi{spiMaster}, p
void St7789::Init() {
nrf_gpio_cfg_output(pinDataCommand);
+ nrf_gpio_cfg_output(26);
+ nrf_gpio_pin_set(26);
+ HardwareReset();
SoftwareReset();
SleepOut();
ColMod();
@@ -158,4 +161,11 @@ void St7789::NextDrawBuffer(const uint8_t *data, size_t size) {
spi.Write(data, size);
}
+void St7789::HardwareReset() {
+ nrf_gpio_pin_clear(26);
+ nrf_delay_ms(200);
+ nrf_gpio_pin_set(26);
+
+}
+
diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h
index 97427753..e6305b49 100644
--- a/src/drivers/St7789.h
+++ b/src/drivers/St7789.h
@@ -16,11 +16,15 @@ namespace Pinetime {
void NextDrawBuffer(const uint8_t* data, size_t size);
void EndDrawBuffer();
+ void DisplayOn();
+ void DisplayOff();
+
private:
SpiMaster& spi;
uint8_t pinDataCommand;
+ void HardwareReset();
void SoftwareReset();
void SleepOut();
void ColMod();
@@ -28,8 +32,7 @@ namespace Pinetime {
void DisplayInversionOn();
void NormalModeOn();
void WriteToRam();
- void DisplayOn();
- void DisplayOff();
+
void SetAddrWindow(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1);