mirror of
https://github.com/Bodmer/TFT_eSPI.git
synced 2024-09-21 10:27:11 +00:00
0e0fd75277
The library has been cleaned up as it has got a bit untidy due to the large number of small incremental changes. 4bit Sprite examples renaed to be consistent with others. alphaBlend example moved to generic folder (alphaBlend fn was moved to TFT_eSPI class). Added sections + explanatory comments to functions prototypes. Temporary comments added for potential gotchas for noobs when using DMA. spi_begin/end functions renamed to reflect functionality. Old fns retained for backwards compatibility with user setup.h files.
124 lines
2.6 KiB
C
124 lines
2.6 KiB
C
|
|
// This is the command sequence that initialises the ILI9341 driver
|
|
//
|
|
// This setup information uses simple 8 bit SPI writecommand() and writedata() functions
|
|
//
|
|
// See ST7735_Setup.h file for an alternative format
|
|
|
|
{
|
|
writecommand(0xEF);
|
|
writedata(0x03);
|
|
writedata(0x80);
|
|
writedata(0x02);
|
|
|
|
writecommand(0xCF);
|
|
writedata(0x00);
|
|
writedata(0XC1);
|
|
writedata(0X30);
|
|
|
|
writecommand(0xED);
|
|
writedata(0x64);
|
|
writedata(0x03);
|
|
writedata(0X12);
|
|
writedata(0X81);
|
|
|
|
writecommand(0xE8);
|
|
writedata(0x85);
|
|
writedata(0x00);
|
|
writedata(0x78);
|
|
|
|
writecommand(0xCB);
|
|
writedata(0x39);
|
|
writedata(0x2C);
|
|
writedata(0x00);
|
|
writedata(0x34);
|
|
writedata(0x02);
|
|
|
|
writecommand(0xF7);
|
|
writedata(0x20);
|
|
|
|
writecommand(0xEA);
|
|
writedata(0x00);
|
|
writedata(0x00);
|
|
|
|
writecommand(ILI9341_PWCTR1); //Power control
|
|
writedata(0x23); //VRH[5:0]
|
|
|
|
writecommand(ILI9341_PWCTR2); //Power control
|
|
writedata(0x10); //SAP[2:0];BT[3:0]
|
|
|
|
writecommand(ILI9341_VMCTR1); //VCM control
|
|
writedata(0x3e);
|
|
writedata(0x28);
|
|
|
|
writecommand(ILI9341_VMCTR2); //VCM control2
|
|
writedata(0x86); //--
|
|
|
|
writecommand(ILI9341_MADCTL); // Memory Access Control
|
|
#ifdef M5STACK
|
|
writedata(TFT_MAD_MY | TFT_MAD_MV | TFT_MAD_COLOR_ORDER); // Rotation 0 (portrait mode)
|
|
#else
|
|
writedata(TFT_MAD_MX | TFT_MAD_COLOR_ORDER); // Rotation 0 (portrait mode)
|
|
#endif
|
|
|
|
writecommand(ILI9341_PIXFMT);
|
|
writedata(0x55);
|
|
|
|
writecommand(ILI9341_FRMCTR1);
|
|
writedata(0x00);
|
|
writedata(0x13); // 0x18 79Hz, 0x1B default 70Hz, 0x13 100Hz
|
|
|
|
writecommand(ILI9341_DFUNCTR); // Display Function Control
|
|
writedata(0x08);
|
|
writedata(0x82);
|
|
writedata(0x27);
|
|
|
|
writecommand(0xF2); // 3Gamma Function Disable
|
|
writedata(0x00);
|
|
|
|
writecommand(ILI9341_GAMMASET); //Gamma curve selected
|
|
writedata(0x01);
|
|
|
|
writecommand(ILI9341_GMCTRP1); //Set Gamma
|
|
writedata(0x0F);
|
|
writedata(0x31);
|
|
writedata(0x2B);
|
|
writedata(0x0C);
|
|
writedata(0x0E);
|
|
writedata(0x08);
|
|
writedata(0x4E);
|
|
writedata(0xF1);
|
|
writedata(0x37);
|
|
writedata(0x07);
|
|
writedata(0x10);
|
|
writedata(0x03);
|
|
writedata(0x0E);
|
|
writedata(0x09);
|
|
writedata(0x00);
|
|
|
|
writecommand(ILI9341_GMCTRN1); //Set Gamma
|
|
writedata(0x00);
|
|
writedata(0x0E);
|
|
writedata(0x14);
|
|
writedata(0x03);
|
|
writedata(0x11);
|
|
writedata(0x07);
|
|
writedata(0x31);
|
|
writedata(0xC1);
|
|
writedata(0x48);
|
|
writedata(0x08);
|
|
writedata(0x0F);
|
|
writedata(0x0C);
|
|
writedata(0x31);
|
|
writedata(0x36);
|
|
writedata(0x0F);
|
|
|
|
writecommand(ILI9341_SLPOUT); //Exit Sleep
|
|
|
|
end_tft_write();
|
|
delay(120);
|
|
begin_tft_write();
|
|
|
|
writecommand(ILI9341_DISPON); //Display on
|
|
|
|
} |