Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Adafruit_ST7735 by
Adafruit_ST7735.h
00001 /*************************************************** 00002 This is a library for the Adafruit 1.8" SPI display. 00003 This library works with the Adafruit 1.8" TFT Breakout w/SD card 00004 ----> http://www.adafruit.com/products/358 00005 as well as Adafruit raw 1.8" TFT display 00006 ----> http://www.adafruit.com/products/618 00007 00008 Check out the links above for our tutorials and wiring diagrams 00009 These displays use SPI to communicate, 4 or 5 pins are required to 00010 interface (RST is optional) 00011 Adafruit invests time and resources providing this open source code, 00012 please support Adafruit and open-source hardware by purchasing 00013 products from Adafruit! 00014 00015 Written by Limor Fried/Ladyada for Adafruit Industries. 00016 MIT license, all text above must be included in any redistribution 00017 ****************************************************/ 00018 00019 #ifndef _ADAFRUIT_ST7735H_ 00020 #define _ADAFRUIT_ST7735H_ 00021 00022 #include "mbed.h" 00023 #include "Adafruit_GFX.h" 00024 00025 #define boolean bool 00026 00027 // some flags for initR() :( 00028 #define INITR_GREENTAB 0x0 00029 #define INITR_REDTAB 0x1 00030 #define INITR_BLACKTAB 0x2 00031 00032 #define ST7735_TFTWIDTH 128 00033 #define ST7735_TFTHEIGHT 160 00034 00035 #define ST7735_NOP 0x00 00036 #define ST7735_SWRESET 0x01 00037 #define ST7735_RDDID 0x04 00038 #define ST7735_RDDST 0x09 00039 00040 #define ST7735_SLPIN 0x10 00041 #define ST7735_SLPOUT 0x11 00042 #define ST7735_PTLON 0x12 00043 #define ST7735_NORON 0x13 00044 00045 #define ST7735_INVOFF 0x20 00046 #define ST7735_INVON 0x21 00047 #define ST7735_DISPOFF 0x28 00048 #define ST7735_DISPON 0x29 00049 #define ST7735_CASET 0x2A 00050 #define ST7735_RASET 0x2B 00051 #define ST7735_RAMWR 0x2C 00052 #define ST7735_RAMRD 0x2E 00053 00054 #define ST7735_PTLAR 0x30 00055 #define ST7735_COLMOD 0x3A 00056 #define ST7735_MADCTL 0x36 00057 00058 #define ST7735_FRMCTR1 0xB1 00059 #define ST7735_FRMCTR2 0xB2 00060 #define ST7735_FRMCTR3 0xB3 00061 #define ST7735_INVCTR 0xB4 00062 #define ST7735_DISSET5 0xB6 00063 00064 #define ST7735_PWCTR1 0xC0 00065 #define ST7735_PWCTR2 0xC1 00066 #define ST7735_PWCTR3 0xC2 00067 #define ST7735_PWCTR4 0xC3 00068 #define ST7735_PWCTR5 0xC4 00069 #define ST7735_VMCTR1 0xC5 00070 00071 #define ST7735_RDID1 0xDA 00072 #define ST7735_RDID2 0xDB 00073 #define ST7735_RDID3 0xDC 00074 #define ST7735_RDID4 0xDD 00075 00076 #define ST7735_PWCTR6 0xFC 00077 00078 #define ST7735_GMCTRP1 0xE0 00079 #define ST7735_GMCTRN1 0xE1 00080 00081 // Color definitions 00082 #define ST7735_BLACK 0x0000 00083 #define ST7735_BLUE 0x001F 00084 #define ST7735_RED 0xF800 00085 #define ST7735_GREEN 0x07E0 00086 #define ST7735_CYAN 0x07FF 00087 #define ST7735_MAGENTA 0xF81F 00088 #define ST7735_YELLOW 0xFFE0 00089 #define ST7735_WHITE 0xFFFF 00090 00091 00092 class Adafruit_ST7735 : public Adafruit_GFX { 00093 00094 public: 00095 00096 Adafruit_ST7735(PinName mosi, PinName miso, PinName sck, PinName CS, PinName RS, PinName RST); 00097 00098 void initB(void); // for ST7735B displays 00099 void initS(void); // for ST7735S displays 00100 void initR(uint8_t options = INITR_GREENTAB); // for ST7735R 00101 void setAddrWindow(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1); 00102 void pushColor(uint16_t color); 00103 virtual void fillScreen(uint16_t color); 00104 virtual void drawPixel(int16_t x, int16_t y, uint16_t color); 00105 virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); 00106 virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); 00107 virtual void fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); 00108 void setRotation(uint8_t r); 00109 void invertDisplay(bool i); 00110 uint16_t Color565(uint8_t r, uint8_t g, uint8_t b); 00111 int DrawBitmapFile(const char *Name_BMP); 00112 int DrawBitmapFile(unsigned int x, unsigned int y, const char *Name_BMP); 00113 00114 private: 00115 00116 void spiwrite(uint8_t), 00117 writecommand(uint8_t c), 00118 writedata(uint8_t d), 00119 commandList(uint8_t *addr), 00120 commonInit(uint8_t *cmdList); 00121 00122 00123 uint8_t colstart, rowstart; // some displays need this changed 00124 00125 SPI lcdPort; // does SPI MOSI, MISO and SCK 00126 DigitalOut _cs; // does SPI CE 00127 DigitalOut _rs; // register/date select 00128 DigitalOut _rst; // does 3310 LCD_RST 00129 }; 00130 00131 #endif
Generated on Wed Jul 13 2022 03:22:57 by
1.7.2
