diff options
| author | JF <jf@codingfield.com> | 2020-01-02 13:47:59 (GMT) |
|---|---|---|
| committer | JF <jf@codingfield.com> | 2020-01-02 13:47:59 (GMT) |
| commit | e08cfe07c7ede53c3c246d58ed82a61800f73c7d (patch) | |
| tree | 2d0d554f7f3addc77004aa2175ee62358cefddf9 /src | |
| parent | 6abe5d8db83465905c6a01295571a3e95cdf51bb (diff) | |
Apply reset signal on pin P0.26 for LCD during init.
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/St7789.cpp | 10 | ||||
| -rw-r--r-- | src/drivers/St7789.h | 7 |
2 files changed, 15 insertions, 2 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index 0c18a61..7c52f17 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 9742775..e6305b4 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); |
