diff options
Diffstat (limited to 'src/drivers')
-rw-r--r-- | src/drivers/St7789.cpp | 17 | ||||
-rw-r--r-- | src/drivers/St7789.h | 6 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/drivers/St7789.cpp b/src/drivers/St7789.cpp index 39595dc9..1de5f5f4 100644 --- a/src/drivers/St7789.cpp +++ b/src/drivers/St7789.cpp @@ -120,6 +120,23 @@ void St7789::DisplayOff() { nrf_delay_ms(500); } +void St7789::VerticalScrollDefinition(uint16_t topFixedLines, uint16_t scrollLines, uint16_t bottomFixedLines) { + WriteCommand(static_cast<uint8_t>(Commands::VerticalScrollDefinition)); + WriteData(topFixedLines >> 8u); + WriteData(topFixedLines & 0x00ffu); + WriteData(scrollLines >> 8u); + WriteData(scrollLines & 0x00ffu); + WriteData(bottomFixedLines >> 8u); + WriteData(bottomFixedLines & 0x00ffu); +} + +void St7789::VerticalScrollStartAddress(uint16_t line) { + WriteCommand(static_cast<uint8_t>(Commands::VerticalScrollStartAddress)); + WriteData(line >> 8u); + WriteData(line & 0x00ffu); +} + + void St7789::Uninit() { } diff --git a/src/drivers/St7789.h b/src/drivers/St7789.h index 9ecf9f27..4341e909 100644 --- a/src/drivers/St7789.h +++ b/src/drivers/St7789.h @@ -11,6 +11,10 @@ namespace Pinetime { void Uninit(); void DrawPixel(uint16_t x, uint16_t y, uint32_t color); + void VerticalScrollDefinition(uint16_t topFixedLines, uint16_t scrollLines, uint16_t bottomFixedLines); + void VerticalScrollStartAddress(uint16_t line); + + void BeginDrawBuffer(uint16_t x, uint16_t y, uint16_t width, uint16_t height); void NextDrawBuffer(const uint8_t* data, size_t size); @@ -48,6 +52,8 @@ namespace Pinetime { RowAddressSet = 0x2b, WriteToRam = 0x2c, MemoryDataAccessControl = 036, + VerticalScrollDefinition = 0x33, + VerticalScrollStartAddress = 0x37, ColMod = 0x3a, }; void WriteData(uint8_t data); |