119 lines
2.7 KiB
C
119 lines
2.7 KiB
C
|
|
||
|
// This is the command sequence that initialises the HX8357D driver
|
||
|
//
|
||
|
// This setup information uses simple 8 bit SPI writecommand() and writedata() functions
|
||
|
//
|
||
|
// See ST7735_Setup.h file for an alternative format
|
||
|
|
||
|
|
||
|
// Configure HX8357D display
|
||
|
|
||
|
// setextc
|
||
|
writecommand(HX8357D_SETC);
|
||
|
writedata(0xFF);
|
||
|
writedata(0x83);
|
||
|
writedata(0x57);
|
||
|
delay(300);
|
||
|
|
||
|
// setRGB which also enables SDO
|
||
|
writecommand(HX8357_SETRGB);
|
||
|
writedata(0x80); //enable SDO pin!
|
||
|
// writedata(0x00); //disable SDO pin!
|
||
|
writedata(0x0);
|
||
|
writedata(0x06);
|
||
|
writedata(0x06);
|
||
|
|
||
|
writecommand(HX8357D_SETCOM);
|
||
|
writedata(0x25); // -1.52V
|
||
|
|
||
|
writecommand(HX8357_SETOSC);
|
||
|
writedata(0x68); // Normal mode 70Hz, Idle mode 55 Hz
|
||
|
|
||
|
writecommand(HX8357_SETPANEL); //Set Panel
|
||
|
writedata(0x05); // BGR, Gate direction swapped
|
||
|
|
||
|
writecommand(HX8357_SETPWR1);
|
||
|
writedata(0x00); // Not deep standby
|
||
|
writedata(0x15); //BT
|
||
|
writedata(0x1C); //VSPR
|
||
|
writedata(0x1C); //VSNR
|
||
|
writedata(0x83); //AP
|
||
|
writedata(0xAA); //FS
|
||
|
|
||
|
writecommand(HX8357D_SETSTBA);
|
||
|
writedata(0x50); //OPON normal
|
||
|
writedata(0x50); //OPON idle
|
||
|
writedata(0x01); //STBA
|
||
|
writedata(0x3C); //STBA
|
||
|
writedata(0x1E); //STBA
|
||
|
writedata(0x08); //GEN
|
||
|
|
||
|
writecommand(HX8357D_SETCYC);
|
||
|
writedata(0x02); //NW 0x02
|
||
|
writedata(0x40); //RTN
|
||
|
writedata(0x00); //DIV
|
||
|
writedata(0x2A); //DUM
|
||
|
writedata(0x2A); //DUM
|
||
|
writedata(0x0D); //GDON
|
||
|
writedata(0x78); //GDOFF
|
||
|
|
||
|
writecommand(HX8357D_SETGAMMA);
|
||
|
writedata(0x02);
|
||
|
writedata(0x0A);
|
||
|
writedata(0x11);
|
||
|
writedata(0x1d);
|
||
|
writedata(0x23);
|
||
|
writedata(0x35);
|
||
|
writedata(0x41);
|
||
|
writedata(0x4b);
|
||
|
writedata(0x4b);
|
||
|
writedata(0x42);
|
||
|
writedata(0x3A);
|
||
|
writedata(0x27);
|
||
|
writedata(0x1B);
|
||
|
writedata(0x08);
|
||
|
writedata(0x09);
|
||
|
writedata(0x03);
|
||
|
writedata(0x02);
|
||
|
writedata(0x0A);
|
||
|
writedata(0x11);
|
||
|
writedata(0x1d);
|
||
|
writedata(0x23);
|
||
|
writedata(0x35);
|
||
|
writedata(0x41);
|
||
|
writedata(0x4b);
|
||
|
writedata(0x4b);
|
||
|
writedata(0x42);
|
||
|
writedata(0x3A);
|
||
|
writedata(0x27);
|
||
|
writedata(0x1B);
|
||
|
writedata(0x08);
|
||
|
writedata(0x09);
|
||
|
writedata(0x03);
|
||
|
writedata(0x00);
|
||
|
writedata(0x01);
|
||
|
|
||
|
writecommand(HX8357_COLMOD);
|
||
|
writedata(0x55); // 16 bit
|
||
|
|
||
|
writecommand(HX8357_MADCTL);
|
||
|
writedata(TFT_MAD_MX | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);
|
||
|
|
||
|
writecommand(HX8357_TEON); // TE off
|
||
|
writedata(0x00);
|
||
|
|
||
|
writecommand(HX8357_TEARLINE); // tear line
|
||
|
writedata(0x00);
|
||
|
writedata(0x02);
|
||
|
|
||
|
writecommand(HX8357_SLPOUT); //Exit Sleep
|
||
|
delay(150);
|
||
|
|
||
|
writecommand(HX8357_DISPON); // display on
|
||
|
delay(50);
|
||
|
|
||
|
// End of HX8357D display configuration
|
||
|
|
||
|
|
||
|
|