Added new display module GREENTAB2 (3.3v compact blue board, 8 pin no SD card)
Diff: Adafruit_ST7735.h
- Revision:
- 7:856a3443f68d
- Parent:
- 4:2123ea52a4d9
--- a/Adafruit_ST7735.h Sun Nov 22 15:59:30 2015 +0000 +++ b/Adafruit_ST7735.h Mon Apr 20 18:17:52 2020 +0000 @@ -16,124 +16,125 @@ MIT license, all text above must be included in any redistribution ****************************************************/ + + // + GREENTAB2 display + #ifndef _ADAFRUIT_ST7735H_ #define _ADAFRUIT_ST7735H_ +#include "Adafruit_GFX.h" #include "mbed.h" -#include "Adafruit_GFX.h" + #define boolean bool // some flags for initR() :( // some flags for initR() :( #define INITR_GREENTAB 0x0 -#define INITR_REDTAB 0x1 -#define INITR_BLACKTAB 0x2 +#define INITR_REDTAB 0x1 +#define INITR_BLACKTAB 0x2 +#define INITR_GREENTAB2 0x3 -#define INITR_18GREENTAB INITR_GREENTAB -#define INITR_18REDTAB INITR_REDTAB -#define INITR_18BLACKTAB INITR_BLACKTAB -#define INITR_144GREENTAB 0x1 +#define INITR_18GREENTAB INITR_GREENTAB +#define INITR_18REDTAB INITR_REDTAB +#define INITR_18BLACKTAB INITR_BLACKTAB +#define INITR_144GREENTAB 0x1 -#define ST7735_TFTWIDTH 128 +#define ST7735_TFTWIDTH 128 // for 1.44" display #define ST7735_TFTHEIGHT_144 128 // for 1.8" display -#define ST7735_TFTHEIGHT_18 160 -#define ST7735_TFTHEIGHT 160 +#define ST7735_TFTHEIGHT_18 160 +#define ST7735_TFTHEIGHT 160 -#define ST7735_NOP 0x00 +#define ST7735_NOP 0x00 #define ST7735_SWRESET 0x01 -#define ST7735_RDDID 0x04 -#define ST7735_RDDST 0x09 +#define ST7735_RDDID 0x04 +#define ST7735_RDDST 0x09 -#define ST7735_SLPIN 0x10 -#define ST7735_SLPOUT 0x11 -#define ST7735_PTLON 0x12 -#define ST7735_NORON 0x13 +#define ST7735_SLPIN 0x10 +#define ST7735_SLPOUT 0x11 +#define ST7735_PTLON 0x12 +#define ST7735_NORON 0x13 -#define ST7735_INVOFF 0x20 -#define ST7735_INVON 0x21 +#define ST7735_INVOFF 0x20 +#define ST7735_INVON 0x21 #define ST7735_DISPOFF 0x28 -#define ST7735_DISPON 0x29 -#define ST7735_CASET 0x2A -#define ST7735_RASET 0x2B -#define ST7735_RAMWR 0x2C -#define ST7735_RAMRD 0x2E +#define ST7735_DISPON 0x29 +#define ST7735_CASET 0x2A +#define ST7735_RASET 0x2B +#define ST7735_RAMWR 0x2C +#define ST7735_RAMRD 0x2E -#define ST7735_PTLAR 0x30 -#define ST7735_COLMOD 0x3A -#define ST7735_MADCTL 0x36 +#define ST7735_PTLAR 0x30 +#define ST7735_COLMOD 0x3A +#define ST7735_MADCTL 0x36 #define ST7735_FRMCTR1 0xB1 #define ST7735_FRMCTR2 0xB2 #define ST7735_FRMCTR3 0xB3 -#define ST7735_INVCTR 0xB4 +#define ST7735_INVCTR 0xB4 #define ST7735_DISSET5 0xB6 -#define ST7735_PWCTR1 0xC0 -#define ST7735_PWCTR2 0xC1 -#define ST7735_PWCTR3 0xC2 -#define ST7735_PWCTR4 0xC3 -#define ST7735_PWCTR5 0xC4 -#define ST7735_VMCTR1 0xC5 +#define ST7735_PWCTR1 0xC0 +#define ST7735_PWCTR2 0xC1 +#define ST7735_PWCTR3 0xC2 +#define ST7735_PWCTR4 0xC3 +#define ST7735_PWCTR5 0xC4 +#define ST7735_VMCTR1 0xC5 -#define ST7735_RDID1 0xDA -#define ST7735_RDID2 0xDB -#define ST7735_RDID3 0xDC -#define ST7735_RDID4 0xDD +#define ST7735_RDID1 0xDA +#define ST7735_RDID2 0xDB +#define ST7735_RDID3 0xDC +#define ST7735_RDID4 0xDD -#define ST7735_PWCTR6 0xFC +#define ST7735_PWCTR6 0xFC #define ST7735_GMCTRP1 0xE0 #define ST7735_GMCTRN1 0xE1 // Color definitions -#define ST7735_BLACK 0x0000 -#define ST7735_BLUE 0x001F -#define ST7735_RED 0xF800 -#define ST7735_GREEN 0x07E0 -#define ST7735_CYAN 0x07FF +#define ST7735_BLACK 0x0000 +#define ST7735_BLUE 0x001F +#define ST7735_RED 0xF800 +#define ST7735_GREEN 0x07E0 +#define ST7735_CYAN 0x07FF #define ST7735_MAGENTA 0xF81F -#define ST7735_YELLOW 0xFFE0 -#define ST7735_WHITE 0xFFFF - +#define ST7735_YELLOW 0xFFE0 +#define ST7735_WHITE 0xFFFF class Adafruit_ST7735 : public Adafruit_GFX { - public: - - Adafruit_ST7735(PinName mosi, PinName miso, PinName sck, PinName CS, PinName RS, PinName RST); +public: + Adafruit_ST7735(PinName mosi, PinName miso, PinName sck, PinName CS, + PinName RS, PinName RST); - void initB(void); // for ST7735B displays - void initR(uint8_t options = INITR_GREENTAB); // for ST7735R - void setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1); - void pushColor(uint16_t color); + void initB(void); // for ST7735B displays + void initR(uint8_t options = INITR_GREENTAB); // for ST7735R + void setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1); + void pushColor(uint16_t color); - void fillScreen(uint16_t color); - void drawPixel(int16_t x, int16_t y, uint16_t color); - void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); - void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); - void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); - void invertDisplay(boolean i); + void fillScreen(uint16_t color); + void drawPixel(int16_t x, int16_t y, uint16_t color); + void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); + void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); + void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); + void invertDisplay(boolean i); - void setRotation(uint8_t r); + void setRotation(uint8_t r); uint16_t Color565(uint8_t r, uint8_t g, uint8_t b); - private: - uint8_t tabcolor; - void spiwrite(uint8_t), - writecommand(uint8_t c), - writedata(uint8_t d), - commandList(uint8_t *addr), - commonInit(uint8_t *cmdList); +private: + uint8_t tabcolor; + void spiwrite(uint8_t), writecommand(uint8_t c), writedata(uint8_t d), + commandList(uint8_t *addr), commonInit(uint8_t *cmdList); - uint8_t colstart, rowstart; // some displays need this changed + uint8_t colstart, rowstart; // some displays need this changed - SPI lcdPort; // does SPI MOSI, MISO and SCK - DigitalOut _cs; // does SPI CE - DigitalOut _rs; // register/date select - DigitalOut _rst; // does 3310 LCD_RST + SPI lcdPort; // does SPI MOSI, MISO and SCK + DigitalOut _cs; // does SPI CE + DigitalOut _rs; // register/date select + DigitalOut _rst; // does 3310 LCD_RST }; #endif