108 lines
4.3 KiB
C
108 lines
4.3 KiB
C
// Change the width and height if required (defined in portrait mode)
|
|
// or use the constructor to over-ride defaults
|
|
#define TFT_WIDTH 480
|
|
#define TFT_HEIGHT 800
|
|
|
|
// Delay between some initialisation commands
|
|
#define TFT_INIT_DELAY 0x80 // Not used unless commandlist invoked
|
|
|
|
// Generic commands used by TFT_eSPI.cpp
|
|
#define TFT_NOP 0x00
|
|
#define TFT_SWRST 0x01
|
|
|
|
#define TFT_SLPIN 0x10
|
|
#define TFT_SLPOUT 0x11
|
|
|
|
#define TFT_INVOFF 0x20
|
|
#define TFT_INVON 0x21
|
|
|
|
#define TFT_DISPOFF 0x28
|
|
#define TFT_DISPON 0x29
|
|
|
|
#define TFT_CASET 0x2A00
|
|
#define TFT_PASET 0x2B00
|
|
|
|
#define TFT_RAMWR 0x2C
|
|
#define TFT_RAMRD 0x2E
|
|
|
|
#define TFT_MADCTL 0x36
|
|
|
|
#define TFT_MAD_MY 0x80 /* Row Address Order */
|
|
#define TFT_MAD_MX 0x40 /* Column Address Order */
|
|
#define TFT_MAD_MV 0x20 /* Row / Column Exchange */
|
|
#define TFT_MAD_ML 0x10 /* Vertical Refresh Order - Bottom to Top */
|
|
|
|
#define TFT_MAD_RGB 0x00 /* RGB color filter panel */
|
|
#define TFT_MAD_BGR 0x08 /* BGR color filter panel */
|
|
|
|
/* Manufacturer Command Set */
|
|
#define MCS_ADRSFT 0x0000 /* Address Shift Function */
|
|
#define MCS_PANSET 0xB3A6 /* Panel Type Setting */
|
|
#define MCS_SD_CTRL 0xC0A2 /* Source Driver Timing Setting */
|
|
#define MCS_P_DRV_M 0xC0B4 /* Panel Driving Mode */
|
|
#define MCS_OSC_ADJ 0xC181 /* Oscillator Adjustment for Idle/Normal mode */
|
|
#define MCS_RGB_VID_SET 0xC1A1 /* RGB Video Mode Setting */
|
|
#define MCS_SD_PCH_CTRL 0xC480 /* Source Driver Precharge Control */
|
|
#define MCS_NO_DOC1 0xC48A /* Command not documented */
|
|
#define MCS_PWR_CTRL1 0xC580 /* Power Control Setting 1 */
|
|
#define MCS_PWR_CTRL2 0xC590 /* Power Control Setting 2 for Normal Mode */
|
|
#define MCS_PWR_CTRL4 0xC5B0 /* Power Control Setting 4 for DC Voltage */
|
|
#define MCS_PANCTRLSET1 0xCB80 /* Panel Control Setting 1 */
|
|
#define MCS_PANCTRLSET2 0xCB90 /* Panel Control Setting 2 */
|
|
#define MCS_PANCTRLSET3 0xCBA0 /* Panel Control Setting 3 */
|
|
#define MCS_PANCTRLSET4 0xCBB0 /* Panel Control Setting 4 */
|
|
#define MCS_PANCTRLSET5 0xCBC0 /* Panel Control Setting 5 */
|
|
#define MCS_PANCTRLSET6 0xCBD0 /* Panel Control Setting 6 */
|
|
#define MCS_PANCTRLSET7 0xCBE0 /* Panel Control Setting 7 */
|
|
#define MCS_PANCTRLSET8 0xCBF0 /* Panel Control Setting 8 */
|
|
#define MCS_PANU2D1 0xCC80 /* Panel U2D Setting 1 */
|
|
#define MCS_PANU2D2 0xCC90 /* Panel U2D Setting 2 */
|
|
#define MCS_PANU2D3 0xCCA0 /* Panel U2D Setting 3 */
|
|
#define MCS_PAND2U1 0xCCB0 /* Panel D2U Setting 1 */
|
|
#define MCS_PAND2U2 0xCCC0 /* Panel D2U Setting 2 */
|
|
#define MCS_PAND2U3 0xCCD0 /* Panel D2U Setting 3 */
|
|
#define MCS_GOAVST 0xCE80 /* GOA VST Setting */
|
|
#define MCS_GOACLKA1 0xCEA0 /* GOA CLKA1 Setting */
|
|
#define MCS_GOACLKA2 0xCEA7 /* GOA CLKA2 Setting */
|
|
#define MCS_GOACLKA3 0xCEB0 /* GOA CLKA3 Setting */
|
|
#define MCS_GOACLKA4 0xCEB7 /* GOA CLKA4 Setting */
|
|
#define MCS_GOAECLK 0xCFC0 /* GOA ECLK Setting */
|
|
#define MCS_GOAOPT1 0xCFC6 /* GOA Other Options 1 */
|
|
#define MCS_GOATGOPT 0xCFC7 /* GOA Signal Toggle Option Setting */
|
|
#define MCS_NO_DOC2 0xCFD0 /* Command not documented */
|
|
#define MCS_GVDDSET 0xD800 /* GVDD/NGVDD */
|
|
#define MCS_VCOMDC 0xD900 /* VCOM Voltage Setting */
|
|
#define MCS_GMCT2_2P 0xE100 /* Gamma Correction 2.2+ Setting */
|
|
#define MCS_GMCT2_2N 0xE200 /* Gamma Correction 2.2- Setting */
|
|
#define MCS_NO_DOC3 0xF5B6 /* Command not documented */
|
|
#define MCS_CMD2_ENA1 0xFF00 /* Enable Access Command2 "CMD2" */
|
|
#define MCS_CMD2_ENA2 0xFF80 /* Enable Access Orise Command2 */
|
|
|
|
#define Byte8H(ByteH) ((uint8_t)(((uint16_t)(ByteH)&0xFF00)>>8))
|
|
#define Byte8L(ByteL) ((uint8_t)( (uint16_t)(ByteL)&0x00FF))
|
|
|
|
#define TFT_CASET_CMD(x0, x1) \
|
|
DC_C; tft_Write_16(TFT_CASET); \
|
|
DC_D; tft_Write_16(Byte8H(x0)); \
|
|
DC_C; tft_Write_16(TFT_CASET + 1); \
|
|
DC_D; tft_Write_16(Byte8L(x0)); \
|
|
DC_C; tft_Write_16(TFT_CASET + 2); \
|
|
DC_D; tft_Write_16(Byte8H(x1)); \
|
|
DC_C; tft_Write_16(TFT_CASET + 3); \
|
|
DC_D; tft_Write_16(Byte8L(x1))
|
|
|
|
#define TFT_PASET_CMD(y0, y1) \
|
|
DC_C; tft_Write_16(TFT_PASET); \
|
|
DC_D; tft_Write_16(Byte8H(y0)); \
|
|
DC_C; tft_Write_16(TFT_PASET + 1); \
|
|
DC_D; tft_Write_16(Byte8L(y0)); \
|
|
DC_C; tft_Write_16(TFT_PASET + 2); \
|
|
DC_D; tft_Write_16(Byte8H(y1)); \
|
|
DC_C; tft_Write_16(TFT_PASET + 3); \
|
|
DC_D; tft_Write_16(Byte8L(y1))
|
|
|
|
#define writecommand16(cmd) \
|
|
writecommand(Byte8H(cmd)); writecommand(Byte8L(cmd))
|
|
|
|
#define writedata16(data) \
|
|
writedata(Byte8H(data)); writedata(Byte8L(data)) |