From 6876e5cea319f9c32811af5b86ca9c3119640d96 Mon Sep 17 00:00:00 2001 From: Lefteris Kantakos <50792334+theloukou@users.noreply.github.com> Date: Thu, 17 Mar 2022 17:39:18 +0200 Subject: [PATCH 1/4] Update Adafruit_ST7735.h Added support for WaveShare-like modules (greentab offsets with blacktab colors) --- Adafruit_ST7735.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Adafruit_ST7735.h b/Adafruit_ST7735.h index da1320a..dcf29a5 100755 --- a/Adafruit_ST7735.h +++ b/Adafruit_ST7735.h @@ -13,6 +13,7 @@ #define INITR_144GREENTAB 0x01 #define INITR_MINI160x80 0x04 #define INITR_HALLOWING 0x05 +#define INITR_GREENTAB_WS INITR_GREENTAB // Some register settings #define ST7735_MADCTL_BGR 0x08 From b814f3c5a55649a926d13a7fd10d9d939bff08df Mon Sep 17 00:00:00 2001 From: Lefteris Kantakos <50792334+theloukou@users.noreply.github.com> Date: Thu, 17 Mar 2022 17:42:49 +0200 Subject: [PATCH 2/4] Update Adafruit_ST7735.cpp Added support for WaveShare-like modules (greentab offsets with blacktab colors) --- Adafruit_ST7735.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Adafruit_ST7735.cpp b/Adafruit_ST7735.cpp index bfab90a..1832bcc 100644 --- a/Adafruit_ST7735.cpp +++ b/Adafruit_ST7735.cpp @@ -277,7 +277,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { switch (rotation) { case 0: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST7735_MADCTL_BGR; @@ -297,7 +297,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 1: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR; @@ -317,7 +317,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _xstart = _rowstart; break; case 2: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_RGB; } else { madctl = ST7735_MADCTL_BGR; @@ -337,7 +337,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 3: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR; From 4e10b099a142a5150f4da541ffef85b9225e3e18 Mon Sep 17 00:00:00 2001 From: Lefteris Kantakos <50792334+theloukou@users.noreply.github.com> Date: Thu, 17 Mar 2022 21:30:38 +0200 Subject: [PATCH 3/4] Update Adafruit_ST7735.cpp Fixed missing code --- Adafruit_ST7735.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Adafruit_ST7735.cpp b/Adafruit_ST7735.cpp index 1832bcc..ebcdf60 100644 --- a/Adafruit_ST7735.cpp +++ b/Adafruit_ST7735.cpp @@ -241,7 +241,7 @@ void Adafruit_ST7735::initR(uint8_t options) { displayInit(Rcmd3); // Black tab, change MADCTL color filter - if ((options == INITR_BLACKTAB) || (options == INITR_MINI160x80)) { + if ((options == INITR_BLACKTAB) || (options == INITR_GREENTAB_WS) || (options == INITR_MINI160x80)) { uint8_t data = 0xC0; sendCommand(ST77XX_MADCTL, &data, 1); } @@ -277,7 +277,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { switch (rotation) { case 0: - if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST7735_MADCTL_BGR; @@ -297,7 +297,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 1: - if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR; @@ -317,7 +317,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _xstart = _rowstart; break; case 2: - if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_RGB; } else { madctl = ST7735_MADCTL_BGR; @@ -337,7 +337,7 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 3: - if ((tabcolor == INITR_BLACKTAB) || INITR_GREENTAB_WS || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR; From c6bb4cd148210662a4306eb8cc13b0866dded838 Mon Sep 17 00:00:00 2001 From: Lefteris Kantakos <50792334+theloukou@users.noreply.github.com> Date: Sun, 20 Mar 2022 19:26:13 +0200 Subject: [PATCH 4/4] Update Adafruit_ST7735.cpp --- Adafruit_ST7735.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Adafruit_ST7735.cpp b/Adafruit_ST7735.cpp index ebcdf60..877c395 100644 --- a/Adafruit_ST7735.cpp +++ b/Adafruit_ST7735.cpp @@ -241,7 +241,8 @@ void Adafruit_ST7735::initR(uint8_t options) { displayInit(Rcmd3); // Black tab, change MADCTL color filter - if ((options == INITR_BLACKTAB) || (options == INITR_GREENTAB_WS) || (options == INITR_MINI160x80)) { + if ((options == INITR_BLACKTAB) || (options == INITR_GREENTAB_WS) || + (options == INITR_MINI160x80)) { uint8_t data = 0xC0; sendCommand(ST77XX_MADCTL, &data, 1); } @@ -277,7 +278,8 @@ void Adafruit_ST7735::setRotation(uint8_t m) { switch (rotation) { case 0: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || + (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MY | ST7735_MADCTL_BGR; @@ -297,7 +299,8 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 1: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || + (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MY | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR; @@ -317,7 +320,8 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _xstart = _rowstart; break; case 2: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || + (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_RGB; } else { madctl = ST7735_MADCTL_BGR; @@ -337,7 +341,8 @@ void Adafruit_ST7735::setRotation(uint8_t m) { _ystart = _rowstart; break; case 3: - if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || (tabcolor == INITR_MINI160x80)) { + if ((tabcolor == INITR_BLACKTAB) || (tabcolor == INITR_GREENTAB_WS) || + (tabcolor == INITR_MINI160x80)) { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST77XX_MADCTL_RGB; } else { madctl = ST77XX_MADCTL_MX | ST77XX_MADCTL_MV | ST7735_MADCTL_BGR;