Initial import of support files for all Digistump boards - Digispark, Pro, DigiX - including libraries, examples, tools, and other support files for the Arduino IDE

This commit is contained in:
Erik Tylek Kettenburg
2014-12-19 08:45:50 -08:00
parent 97abdbf157
commit 7e7473a2d6
3567 changed files with 722870 additions and 0 deletions

View File

@@ -0,0 +1,80 @@
case HX8340B_8:
LCD_Write_COM_DATA(0x26,0x0084); //PT=10,GON=0, DTE=0, D=0100
delay(40);
LCD_Write_COM_DATA(0x26,0x00B8); //PT=10,GON=1, DTE=1, D=1000
delay(40);
LCD_Write_COM_DATA(0x26,0x00BC); //PT=10,GON=1, DTE=1, D=1100
delay(20);
// LCD_Write_COM_DATA(0x0001,0x0000); // PTL='1' Enter Partail mode
//Driving ability Setting
LCD_Write_COM_DATA(0x60,0x0000);
LCD_Write_COM_DATA(0x61,0x0006);
LCD_Write_COM_DATA(0x62,0x0000);
LCD_Write_COM_DATA(0x63,0x00C8);
delay(20);
//Gamma Setting
LCD_Write_COM_DATA(0x73,0x0070);
LCD_Write_COM_DATA(0x40,0x0000);
LCD_Write_COM_DATA(0x41,0x0040);
LCD_Write_COM_DATA(0x42,0x0045);
LCD_Write_COM_DATA(0x43,0x0001);
LCD_Write_COM_DATA(0x44,0x0060);
LCD_Write_COM_DATA(0x45,0x0005);
LCD_Write_COM_DATA(0x46,0x000C);
LCD_Write_COM_DATA(0x47,0x00D1);
LCD_Write_COM_DATA(0x48,0x0005);
LCD_Write_COM_DATA(0x50,0x0075);
LCD_Write_COM_DATA(0x51,0x0001);
LCD_Write_COM_DATA(0x52,0x0067);
LCD_Write_COM_DATA(0x53,0x0014);
LCD_Write_COM_DATA(0x54,0x00F2);
LCD_Write_COM_DATA(0x55,0x0007);
LCD_Write_COM_DATA(0x56,0x0003);
LCD_Write_COM_DATA(0x57,0x0049);
delay(20);
//Power Setting
LCD_Write_COM_DATA(0x1F,0x0003); //VRH=4.65V VREG1?GAMMA? 00~1E 080421
LCD_Write_COM_DATA(0x20,0x0000); //BT (VGH~15V,VGL~-12V,DDVDH~5V)
LCD_Write_COM_DATA(0x24,0x0024); //VCOMH(VCOM High voltage3.2V) 0024/12 080421 11~40
LCD_Write_COM_DATA(0x25,0x0034); //VCOML(VCOM Low voltage -1.2V) 0034/4A 080421 29~3F
//****VCOM offset**///
LCD_Write_COM_DATA(0x23,0x002F); //VMF(no offset)
delay(20);
//##################################################################
// Power Supply Setting
LCD_Write_COM_DATA(0x18,0x0044); //I/P_RADJ,N/P_RADJ Noraml mode 60Hz
LCD_Write_COM_DATA(0x21,0x0001); //OSC_EN='1' start osc
LCD_Write_COM_DATA(0x01,0x0000); //SLP='0' out sleep
LCD_Write_COM_DATA(0x1C,0x0003); //AP=011
LCD_Write_COM_DATA(0x19,0x0006); // VOMG=1,PON=1, DK=0,
delay(20);
//##################################################################
// Display ON Setting
LCD_Write_COM_DATA(0x26,0x0084); //PT=10,GON=0, DTE=0, D=0100
delay(40);
LCD_Write_COM_DATA(0x26,0x00B8); //PT=10,GON=1, DTE=1, D=1000
delay(40);
LCD_Write_COM_DATA(0x26,0x00BC); //PT=10,GON=1, DTE=1, D=1100
delay(20);
//SET GRAM AREA
LCD_Write_COM_DATA(0x02,0x0000);
LCD_Write_COM_DATA(0x03,0x0000);
LCD_Write_COM_DATA(0x04,0x0000);
LCD_Write_COM_DATA(0x05,0x00AF);
LCD_Write_COM_DATA(0x06,0x0000);
LCD_Write_COM_DATA(0x07,0x0000);
LCD_Write_COM_DATA(0x08,0x0000);
LCD_Write_COM_DATA(0x09,0x00DB);
delay(20);
LCD_Write_COM_DATA(0x16,0x0008); //MV MX MY ML SET 0028
LCD_Write_COM_DATA(0x17,0x0005);//COLMOD Control Register (R17h)
LCD_Write_COM(0x21);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,11 @@
case HX8340B_8:
LCD_Write_COM_DATA(0x02,0x0000);
LCD_Write_COM_DATA(0x03,x1);
LCD_Write_COM_DATA(0x04,0x0000);
LCD_Write_COM_DATA(0x05,x2);
LCD_Write_COM_DATA(0x06,0x0000);
LCD_Write_COM_DATA(0x07,y1);
LCD_Write_COM_DATA(0x08,0x0000);
LCD_Write_COM_DATA(0x09,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,71 @@
case HX8340B_S:
LCD_Write_COM(0xC1);
LCD_Write_DATA(0xFF);
LCD_Write_DATA(0x83);
LCD_Write_DATA(0x40);
LCD_Write_COM(0x11);
delay(100);
LCD_Write_COM(0xCA);
LCD_Write_DATA(0x70);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0xD9);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x11);
LCD_Write_COM(0xC9);
LCD_Write_DATA(0x90);
LCD_Write_DATA(0x49);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x28);
LCD_Write_DATA(0x28);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x06);
delay(20);
LCD_Write_COM(0xC2);
LCD_Write_DATA(0x60);
LCD_Write_DATA(0x71);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x09);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x0A);
LCD_Write_COM(0xc3);
LCD_Write_DATA(0x67);
LCD_Write_DATA(0x30);
LCD_Write_DATA(0x61);
LCD_Write_DATA(0x17);
LCD_Write_DATA(0x48);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x33);
delay(10);
LCD_Write_COM(0xB5);
LCD_Write_DATA(0x35);
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x45);
LCD_Write_COM(0xB4);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x25);
LCD_Write_DATA(0x4c);
delay(10);
LCD_Write_COM(0x3a);
LCD_Write_DATA(0x05);
LCD_Write_COM(0x29);
delay(10);
LCD_Write_COM(0x2a);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0xaf);
LCD_Write_COM(0x2b);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0xdb);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,13 @@
case HX8340B_S:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,88 @@
case HX8347A:
LCD_Write_COM_DATA(0x46,0x00A4);
LCD_Write_COM_DATA(0x47,0x0053);
LCD_Write_COM_DATA(0x48,0x0000);
LCD_Write_COM_DATA(0x49,0x0044);
LCD_Write_COM_DATA(0x4a,0x0004);
LCD_Write_COM_DATA(0x4b,0x0067);
LCD_Write_COM_DATA(0x4c,0x0033);
LCD_Write_COM_DATA(0x4d,0x0077);
LCD_Write_COM_DATA(0x4e,0x0012);
LCD_Write_COM_DATA(0x4f,0x004C);
LCD_Write_COM_DATA(0x50,0x0046);
LCD_Write_COM_DATA(0x51,0x0044);
//240x320 window setting
LCD_Write_COM_DATA(0x02,0x0000); // Column address start2
LCD_Write_COM_DATA(0x03,0x0000); // Column address start1
LCD_Write_COM_DATA(0x04,0x0000); // Column address end2
LCD_Write_COM_DATA(0x05,0x00ef); // Column address end1
LCD_Write_COM_DATA(0x06,0x0000); // Row address start2
LCD_Write_COM_DATA(0x07,0x0000); // Row address start1
LCD_Write_COM_DATA(0x08,0x0001); // Row address end2
LCD_Write_COM_DATA(0x09,0x003f); // Row address end1
// Display Setting
LCD_Write_COM_DATA(0x01,0x0006); // IDMON=0, INVON=1, NORON=1, PTLON=0
LCD_Write_COM_DATA(0x16,0x00C8); // MY=0, MX=0, MV=0, ML=1, BGR=0, TEON=0 0048
LCD_Write_COM_DATA(0x23,0x0095); // N_DC=1001 0101
LCD_Write_COM_DATA(0x24,0x0095); // PI_DC=1001 0101
LCD_Write_COM_DATA(0x25,0x00FF); // I_DC=1111 1111
LCD_Write_COM_DATA(0x27,0x0002); // N_BP=0000 0010
LCD_Write_COM_DATA(0x28,0x0002); // N_FP=0000 0010
LCD_Write_COM_DATA(0x29,0x0002); // PI_BP=0000 0010
LCD_Write_COM_DATA(0x2a,0x0002); // PI_FP=0000 0010
LCD_Write_COM_DATA(0x2C,0x0002); // I_BP=0000 0010
LCD_Write_COM_DATA(0x2d,0x0002); // I_FP=0000 0010
LCD_Write_COM_DATA(0x3a,0x0001); // N_RTN=0000, N_NW=001 0001
LCD_Write_COM_DATA(0x3b,0x0000); // P_RTN=0000, P_NW=001
LCD_Write_COM_DATA(0x3c,0x00f0); // I_RTN=1111, I_NW=000
LCD_Write_COM_DATA(0x3d,0x0000); // DIV=00
delay(1);
LCD_Write_COM_DATA(0x35,0x0038); // EQS=38h
LCD_Write_COM_DATA(0x36,0x0078); // EQP=78h
LCD_Write_COM_DATA(0x3E,0x0038); // SON=38h
LCD_Write_COM_DATA(0x40,0x000F); // GDON=0Fh
LCD_Write_COM_DATA(0x41,0x00F0); // GDOFF
// Power Supply Setting
LCD_Write_COM_DATA(0x19,0x0049); // CADJ=0100, CUADJ=100, OSD_EN=1 ,60Hz
LCD_Write_COM_DATA(0x93,0x000F); // RADJ=1111, 100%
delay(1);
LCD_Write_COM_DATA(0x20,0x0040); // BT=0100
LCD_Write_COM_DATA(0x1D,0x0007); // VC1=111 0007
LCD_Write_COM_DATA(0x1E,0x0000); // VC3=000
LCD_Write_COM_DATA(0x1F,0x0004); // VRH=0011
//VCOM SETTING
LCD_Write_COM_DATA(0x44,0x004D); // VCM=101 0000 4D
LCD_Write_COM_DATA(0x45,0x000E); // VDV=1 0001 0011
delay(1);
LCD_Write_COM_DATA(0x1C,0x0004); // AP=100
delay(2);
LCD_Write_COM_DATA(0x1B,0x0018); // GASENB=0, PON=0, DK=1, XDK=0, VLCD_TRI=0, STB=0
delay(1);
LCD_Write_COM_DATA(0x1B,0x0010); // GASENB=0, PON=1, DK=0, XDK=0, VLCD_TRI=0, STB=0
delay(1);
LCD_Write_COM_DATA(0x43,0x0080); //set VCOMG=1
delay(2);
// Display ON Setting
LCD_Write_COM_DATA(0x90,0x007F); // SAP=0111 1111
LCD_Write_COM_DATA(0x26,0x0004); //GON=0, DTE=0, D=01
delay(1);
LCD_Write_COM_DATA(0x26,0x0024); //GON=1, DTE=0, D=01
LCD_Write_COM_DATA(0x26,0x002C); //GON=1, DTE=0, D=11
delay(1);
LCD_Write_COM_DATA(0x26,0x003C); //GON=1, DTE=1, D=11
// INTERNAL REGISTER SETTING
LCD_Write_COM_DATA(0x57,0x0002); // TEST_Mode=1: into TEST mode
LCD_Write_COM_DATA(0x95,0x0001); // SET DISPLAY CLOCK AND PUMPING CLOCK TO SYNCHRONIZE
LCD_Write_COM_DATA(0x57,0x0000); // TEST_Mode=0: exit TEST mode
//LCD_Write_COM_DATA(0x21,0x0000);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,11 @@
case HX8347A:
LCD_Write_COM_DATA(0x02,x1>>8);
LCD_Write_COM_DATA(0x03,x1);
LCD_Write_COM_DATA(0x04,x2>>8);
LCD_Write_COM_DATA(0x05,x2);
LCD_Write_COM_DATA(0x06,y1>>8);
LCD_Write_COM_DATA(0x07,y1);
LCD_Write_COM_DATA(0x08,y2>>8);
LCD_Write_COM_DATA(0x09,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,131 @@
case HX8352A:
LCD_Write_COM(0x83);
LCD_Write_DATA(0x02); //TESTM=1
LCD_Write_COM(0x85);
LCD_Write_DATA(0x03); //VDC_SEL=011
LCD_Write_COM(0x8B);
LCD_Write_DATA(0x01);
LCD_Write_COM(0x8C);
LCD_Write_DATA(0x93); //STBA[7]=1,STBA[5:4]=01,STBA[1:0]=11
LCD_Write_COM(0x91);
LCD_Write_DATA(0x01); //DCDC_SYNC=1
LCD_Write_COM(0x83);
LCD_Write_DATA(0x00); //TESTM=0
//Gamma Setting
LCD_Write_COM(0x3E);
LCD_Write_DATA(0xB0);
LCD_Write_COM(0x3F);
LCD_Write_DATA(0x03);
LCD_Write_COM(0x40);
LCD_Write_DATA(0x10);
LCD_Write_COM(0x41);
LCD_Write_DATA(0x56);
LCD_Write_COM(0x42);
LCD_Write_DATA(0x13);
LCD_Write_COM(0x43);
LCD_Write_DATA(0x46);
LCD_Write_COM(0x44);
LCD_Write_DATA(0x23);
LCD_Write_COM(0x45);
LCD_Write_DATA(0x76);
LCD_Write_COM(0x46);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x47);
LCD_Write_DATA(0x5E);
LCD_Write_COM(0x48);
LCD_Write_DATA(0x4F);
LCD_Write_COM(0x49);
LCD_Write_DATA(0x40);
//**********Power On sequence************
LCD_Write_COM(0x17);
LCD_Write_DATA(0x91);
LCD_Write_COM(0x2B);
LCD_Write_DATA(0xF9);
delay(10);
LCD_Write_COM(0x1B);
LCD_Write_DATA(0x14);
LCD_Write_COM(0x1A);
LCD_Write_DATA(0x11);
LCD_Write_COM(0x1C);
LCD_Write_DATA(0x06);
LCD_Write_COM(0x1F);
LCD_Write_DATA(0x42);
delay(20);
LCD_Write_COM(0x19);
LCD_Write_DATA(0x0A);
LCD_Write_COM(0x19);
LCD_Write_DATA(0x1A);
delay(40);
LCD_Write_COM(0x19);
LCD_Write_DATA(0x12);
delay(40);
LCD_Write_COM(0x1E);
LCD_Write_DATA(0x27);
delay(100);
//**********DISPLAY ON SETTING***********
LCD_Write_COM(0x24);
LCD_Write_DATA(0x60);
LCD_Write_COM(0x3D);
LCD_Write_DATA(0x40);
LCD_Write_COM(0x34);
LCD_Write_DATA(0x38);
LCD_Write_COM(0x35);
LCD_Write_DATA(0x38);
LCD_Write_COM(0x24);
LCD_Write_DATA(0x38);
delay(40);
LCD_Write_COM(0x24);
LCD_Write_DATA(0x3C);
LCD_Write_COM(0x16);
LCD_Write_DATA(0x1C);
LCD_Write_COM(0x01);
LCD_Write_DATA(0x06);
LCD_Write_COM(0x55);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x02);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x03);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x04);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x05);
LCD_Write_DATA(0xef);
LCD_Write_COM(0x06);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x07);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x08);
LCD_Write_DATA(0x01);
LCD_Write_COM(0x09);
LCD_Write_DATA(0x8f);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,11 @@
case HX8352A:
LCD_Write_COM_DATA(0x02,x1>>8);
LCD_Write_COM_DATA(0x03,x1);
LCD_Write_COM_DATA(0x04,x2>>8);
LCD_Write_COM_DATA(0x05,x2);
LCD_Write_COM_DATA(0x06,y1>>8);
LCD_Write_COM_DATA(0x07,y1);
LCD_Write_COM_DATA(0x08,y2>>8);
LCD_Write_COM_DATA(0x09,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,67 @@
case ILI9320_8:
case ILI9320_16:
LCD_Write_COM_DATA(0xe5, 0x8000);
LCD_Write_COM_DATA(0x00, 0x0001);
LCD_Write_COM_DATA(0x01, 0x0100);
LCD_Write_COM_DATA(0x02, 0x0700);
LCD_Write_COM_DATA(0x03, 0x1030);
LCD_Write_COM_DATA(0x04, 0x0000);
LCD_Write_COM_DATA(0x08, 0x0202);
LCD_Write_COM_DATA(0x09, 0x0000);
LCD_Write_COM_DATA(0x0A, 0x0000);
LCD_Write_COM_DATA(0x0C, 0x0000);
LCD_Write_COM_DATA(0x0D, 0x0000);
LCD_Write_COM_DATA(0x0F, 0x0000);
//-----Power On sequence-----------------------
LCD_Write_COM_DATA(0x10, 0x0000);
LCD_Write_COM_DATA(0x11, 0x0007);
LCD_Write_COM_DATA(0x12, 0x0000);
LCD_Write_COM_DATA(0x13, 0x0000);
delay(50);
LCD_Write_COM_DATA(0x10, 0x17B0);
LCD_Write_COM_DATA(0x11, 0x0007);
delay(10);
LCD_Write_COM_DATA(0x12, 0x013A);
delay(10);
LCD_Write_COM_DATA(0x13, 0x1A00);
LCD_Write_COM_DATA(0x29, 0x000c);
delay(10);
//-----Gamma control-----------------------
LCD_Write_COM_DATA(0x30, 0x0000);
LCD_Write_COM_DATA(0x31, 0x0505);
LCD_Write_COM_DATA(0x32, 0x0004);
LCD_Write_COM_DATA(0x35, 0x0006);
LCD_Write_COM_DATA(0x36, 0x0707);
LCD_Write_COM_DATA(0x37, 0x0105);
LCD_Write_COM_DATA(0x38, 0x0002);
LCD_Write_COM_DATA(0x39, 0x0707);
LCD_Write_COM_DATA(0x3C, 0x0704);
LCD_Write_COM_DATA(0x3D, 0x0807);
//-----Set RAM area-----------------------
LCD_Write_COM_DATA(0x50, 0x0000);
LCD_Write_COM_DATA(0x51, 0x00EF);
LCD_Write_COM_DATA(0x52, 0x0000);
LCD_Write_COM_DATA(0x53, 0x013F);
LCD_Write_COM_DATA(0x60, 0x2700);
LCD_Write_COM_DATA(0x61, 0x0001);
LCD_Write_COM_DATA(0x6A, 0x0000);
LCD_Write_COM_DATA(0x21, 0x0000);
LCD_Write_COM_DATA(0x20, 0x0000);
//-----Partial Display Control------------
LCD_Write_COM_DATA(0x80, 0x0000);
LCD_Write_COM_DATA(0x81, 0x0000);
LCD_Write_COM_DATA(0x82, 0x0000);
LCD_Write_COM_DATA(0x83, 0x0000);
LCD_Write_COM_DATA(0x84, 0x0000);
LCD_Write_COM_DATA(0x85, 0x0000);
//-----Panel Control----------------------
LCD_Write_COM_DATA(0x90, 0x0010);
LCD_Write_COM_DATA(0x92, 0x0000);
LCD_Write_COM_DATA(0x93, 0x0003);
LCD_Write_COM_DATA(0x95, 0x0110);
LCD_Write_COM_DATA(0x97, 0x0000);
LCD_Write_COM_DATA(0x98, 0x0000);
//-----Display on-----------------------
LCD_Write_COM_DATA(0x07, 0x0173);
delay(50);
break;

View File

@@ -0,0 +1,10 @@
case ILI9320_8:
case ILI9320_16:
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM_DATA(0x50,x1);
LCD_Write_COM_DATA(0x52,y1);
LCD_Write_COM_DATA(0x51,x2);
LCD_Write_COM_DATA(0x53,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,61 @@
case ILI9325C:
LCD_Write_COM_DATA(0xE5, 0x78F0); // set SRAM internal timing
LCD_Write_COM_DATA(0x01, 0x0100); // set Driver Output Control
LCD_Write_COM_DATA(0x02, 0x0700); // set 1 line inversion
LCD_Write_COM_DATA(0x03, 0x1030); // set GRAM write direction and BGR=1.
LCD_Write_COM_DATA(0x04, 0x0000); // Resize register
LCD_Write_COM_DATA(0x08, 0x0207); // set the back porch and front porch
LCD_Write_COM_DATA(0x09, 0x0000); // set non-display area refresh cycle ISC[3:0]
LCD_Write_COM_DATA(0x0A, 0x0000); // FMARK function
LCD_Write_COM_DATA(0x0C, 0x0000); // RGB interface setting
LCD_Write_COM_DATA(0x0D, 0x0000); // Frame marker Position
LCD_Write_COM_DATA(0x0F, 0x0000); // RGB interface polarity
//*************Power On sequence ****************//
LCD_Write_COM_DATA(0x10, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
LCD_Write_COM_DATA(0x12, 0x0000); // VREG1OUT voltage
LCD_Write_COM_DATA(0x13, 0x0000); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x07, 0x0001);
delay(200); // Dis-charge capacitor power voltage
LCD_Write_COM_DATA(0x10, 0x1090); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0227); // Set DC1[2:0], DC0[2:0], VC[2:0]
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x12, 0x001F); // 0012
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x13, 0x1500); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x29, 0x0027); // 04 VCM[5:0] for VCOMH
LCD_Write_COM_DATA(0x2B, 0x000D); // Set Frame Rate
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x20, 0x0000); // GRAM horizontal Address
LCD_Write_COM_DATA(0x21, 0x0000); // GRAM Vertical Address
// ----------- Adjust the Gamma Curve ----------//
LCD_Write_COM_DATA(0x30, 0x0000);
LCD_Write_COM_DATA(0x31, 0x0707);
LCD_Write_COM_DATA(0x32, 0x0307);
LCD_Write_COM_DATA(0x35, 0x0200);
LCD_Write_COM_DATA(0x36, 0x0008);
LCD_Write_COM_DATA(0x37, 0x0004);
LCD_Write_COM_DATA(0x38, 0x0000);
LCD_Write_COM_DATA(0x39, 0x0707);
LCD_Write_COM_DATA(0x3C, 0x0002);
LCD_Write_COM_DATA(0x3D, 0x1D04);
//------------------ Set GRAM area ---------------//
LCD_Write_COM_DATA(0x50, 0x0000); // Horizontal GRAM Start Address
LCD_Write_COM_DATA(0x51, 0x00EF); // Horizontal GRAM End Address
LCD_Write_COM_DATA(0x52, 0x0000); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x53, 0x013F); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x60, 0xA700); // Gate Scan Line
LCD_Write_COM_DATA(0x61, 0x0001); // NDL,VLE, REV
LCD_Write_COM_DATA(0x6A, 0x0000); // set scrolling line
//-------------- Partial Display Control ---------//
LCD_Write_COM_DATA(0x80, 0x0000);
LCD_Write_COM_DATA(0x81, 0x0000);
LCD_Write_COM_DATA(0x82, 0x0000);
LCD_Write_COM_DATA(0x83, 0x0000);
LCD_Write_COM_DATA(0x84, 0x0000);
LCD_Write_COM_DATA(0x85, 0x0000);
//-------------- Panel Control -------------------//
LCD_Write_COM_DATA(0x90, 0x0010);
LCD_Write_COM_DATA(0x92, 0x0600);
LCD_Write_COM_DATA(0x07, 0x0133); // 262K color and display ON
break;

View File

@@ -0,0 +1,9 @@
case ILI9325C:
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM_DATA(0x50,x1);
LCD_Write_COM_DATA(0x52,y1);
LCD_Write_COM_DATA(0x51,x2);
LCD_Write_COM_DATA(0x53,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,61 @@
case ILI9325D_16ALT:
LCD_Write_COM_DATA(0xE5, 0x78F0); // set SRAM internal timing
LCD_Write_COM_DATA(0x01, 0x0100); // set Driver Output Control
LCD_Write_COM_DATA(0x02, 0x0700); // set 1 line inversion
LCD_Write_COM_DATA(0x03, 0x1030); // set GRAM write direction and BGR=1.
LCD_Write_COM_DATA(0x04, 0x0000); // Resize register
LCD_Write_COM_DATA(0x08, 0x0207); // set the back porch and front porch
LCD_Write_COM_DATA(0x09, 0x0000); // set non-display area refresh cycle ISC[3:0]
LCD_Write_COM_DATA(0x0A, 0x0000); // FMARK function
LCD_Write_COM_DATA(0x0C, 0x0000); // RGB interface setting
LCD_Write_COM_DATA(0x0D, 0x0000); // Frame marker Position
LCD_Write_COM_DATA(0x0F, 0x0000); // RGB interface polarity
//*************Power On sequence ****************//
LCD_Write_COM_DATA(0x10, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
LCD_Write_COM_DATA(0x12, 0x0000); // VREG1OUT voltage
LCD_Write_COM_DATA(0x13, 0x0000); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x07, 0x0001);
delay(200); // Dis-charge capacitor power voltage
LCD_Write_COM_DATA(0x10, 0x1590); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0227); // Set DC1[2:0], DC0[2:0], VC[2:0]
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x12, 0x009C); // 0012
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x13, 0x1900); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x29, 0x0023); // 04 VCM[5:0] for VCOMH
LCD_Write_COM_DATA(0x2B, 0x000E); // Set Frame Rate
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x20, 0x0000); // GRAM horizontal Address
LCD_Write_COM_DATA(0x21, 0x0000); // GRAM Vertical Address
// ----------- Adjust the Gamma Curve ----------//
LCD_Write_COM_DATA(0x30, 0x0000);
LCD_Write_COM_DATA(0x31, 0x0404);
LCD_Write_COM_DATA(0x32, 0x0003);
LCD_Write_COM_DATA(0x35, 0x0405);
LCD_Write_COM_DATA(0x36, 0x0808);
LCD_Write_COM_DATA(0x37, 0x0407);
LCD_Write_COM_DATA(0x38, 0x0303);
LCD_Write_COM_DATA(0x39, 0x0707);
LCD_Write_COM_DATA(0x3C, 0x0504);
LCD_Write_COM_DATA(0x3D, 0x0808);
//------------------ Set GRAM area ---------------//
LCD_Write_COM_DATA(0x50, 0x0000); // Horizontal GRAM Start Address
LCD_Write_COM_DATA(0x51, 0x00EF); // Horizontal GRAM End Address
LCD_Write_COM_DATA(0x52, 0x0000); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x53, 0x013F); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x60, 0xA700); // Gate Scan Line
LCD_Write_COM_DATA(0x61, 0x0001); // NDL,VLE, REV
LCD_Write_COM_DATA(0x6A, 0x0000); // set scrolling line
//-------------- Partial Display Control ---------//
LCD_Write_COM_DATA(0x80, 0x0000);
LCD_Write_COM_DATA(0x81, 0x0000);
LCD_Write_COM_DATA(0x82, 0x0000);
LCD_Write_COM_DATA(0x83, 0x0000);
LCD_Write_COM_DATA(0x84, 0x0000);
LCD_Write_COM_DATA(0x85, 0x0000);
//-------------- Panel Control -------------------//
LCD_Write_COM_DATA(0x90, 0x0010);
LCD_Write_COM_DATA(0x92, 0x0000);
LCD_Write_COM_DATA(0x07, 0x0133); // 262K color and display ON
break;

View File

@@ -0,0 +1,9 @@
case ILI9325D_16ALT:
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM_DATA(0x50,x1);
LCD_Write_COM_DATA(0x52,y1);
LCD_Write_COM_DATA(0x51,x2);
LCD_Write_COM_DATA(0x53,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,62 @@
case ILI9325D_8:
case ILI9325D_16:
LCD_Write_COM_DATA(0xE5, 0x78F0); // set SRAM internal timing
LCD_Write_COM_DATA(0x01, 0x0100); // set Driver Output Control
LCD_Write_COM_DATA(0x02, 0x0200); // set 1 line inversion
LCD_Write_COM_DATA(0x03, 0x1030); // set GRAM write direction and BGR=1.
LCD_Write_COM_DATA(0x04, 0x0000); // Resize register
LCD_Write_COM_DATA(0x08, 0x0207); // set the back porch and front porch
LCD_Write_COM_DATA(0x09, 0x0000); // set non-display area refresh cycle ISC[3:0]
LCD_Write_COM_DATA(0x0A, 0x0000); // FMARK function
LCD_Write_COM_DATA(0x0C, 0x0000); // RGB interface setting
LCD_Write_COM_DATA(0x0D, 0x0000); // Frame marker Position
LCD_Write_COM_DATA(0x0F, 0x0000); // RGB interface polarity
//*************Power On sequence ****************//
LCD_Write_COM_DATA(0x10, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
LCD_Write_COM_DATA(0x12, 0x0000); // VREG1OUT voltage
LCD_Write_COM_DATA(0x13, 0x0000); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x07, 0x0001);
delay(200); // Dis-charge capacitor power voltage
LCD_Write_COM_DATA(0x10, 0x1690); // SAP, BT[3:0], AP, DSTB, SLP, STB
LCD_Write_COM_DATA(0x11, 0x0227); // Set DC1[2:0], DC0[2:0], VC[2:0]
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x12, 0x000D); // 0012
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x13, 0x1200); // VDV[4:0] for VCOM amplitude
LCD_Write_COM_DATA(0x29, 0x000A); // 04 VCM[5:0] for VCOMH
LCD_Write_COM_DATA(0x2B, 0x000D); // Set Frame Rate
delay(50); // Delay 50ms
LCD_Write_COM_DATA(0x20, 0x0000); // GRAM horizontal Address
LCD_Write_COM_DATA(0x21, 0x0000); // GRAM Vertical Address
// ----------- Adjust the Gamma Curve ----------//
LCD_Write_COM_DATA(0x30, 0x0000);
LCD_Write_COM_DATA(0x31, 0x0404);
LCD_Write_COM_DATA(0x32, 0x0003);
LCD_Write_COM_DATA(0x35, 0x0405);
LCD_Write_COM_DATA(0x36, 0x0808);
LCD_Write_COM_DATA(0x37, 0x0407);
LCD_Write_COM_DATA(0x38, 0x0303);
LCD_Write_COM_DATA(0x39, 0x0707);
LCD_Write_COM_DATA(0x3C, 0x0504);
LCD_Write_COM_DATA(0x3D, 0x0808);
//------------------ Set GRAM area ---------------//
LCD_Write_COM_DATA(0x50, 0x0000); // Horizontal GRAM Start Address
LCD_Write_COM_DATA(0x51, 0x00EF); // Horizontal GRAM End Address
LCD_Write_COM_DATA(0x52, 0x0000); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x53, 0x013F); // Vertical GRAM Start Address
LCD_Write_COM_DATA(0x60, 0xA700); // Gate Scan Line
LCD_Write_COM_DATA(0x61, 0x0001); // NDL,VLE, REV
LCD_Write_COM_DATA(0x6A, 0x0000); // set scrolling line
//-------------- Partial Display Control ---------//
LCD_Write_COM_DATA(0x80, 0x0000);
LCD_Write_COM_DATA(0x81, 0x0000);
LCD_Write_COM_DATA(0x82, 0x0000);
LCD_Write_COM_DATA(0x83, 0x0000);
LCD_Write_COM_DATA(0x84, 0x0000);
LCD_Write_COM_DATA(0x85, 0x0000);
//-------------- Panel Control -------------------//
LCD_Write_COM_DATA(0x90, 0x0010);
LCD_Write_COM_DATA(0x92, 0x0000);
LCD_Write_COM_DATA(0x07, 0x0133); // 262K color and display ON
break;

View File

@@ -0,0 +1,10 @@
case ILI9325D_8:
case ILI9325D_16:
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM_DATA(0x50,x1);
LCD_Write_COM_DATA(0x52,y1);
LCD_Write_COM_DATA(0x51,x2);
LCD_Write_COM_DATA(0x53,y2);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,63 @@
case ILI9327:
LCD_Write_COM(0xE9);
LCD_Write_DATA(0x00,0x20);
LCD_Write_COM(0x11); //Exit Sleep
delay(100);
LCD_Write_COM(0xD1);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x71);
LCD_Write_DATA(0x00,0x19);
LCD_Write_COM(0xD0);
LCD_Write_DATA(0x00,0x07);
LCD_Write_DATA(0x00,0x01);
LCD_Write_DATA(0x00,0x08);
LCD_Write_COM(0x36);
LCD_Write_DATA(0x00,0x48);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x00,0x05);
LCD_Write_COM(0xC1);
LCD_Write_DATA(0x00,0x10);
LCD_Write_DATA(0x00,0x10);
LCD_Write_DATA(0x00,0x02);
LCD_Write_DATA(0x00,0x02);
LCD_Write_COM(0xC0); //Set Default Gamma
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x35);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x01);
LCD_Write_DATA(0x00,0x02);
LCD_Write_COM(0xC5); //Set frame rate
LCD_Write_DATA(0x00,0x04);
LCD_Write_COM(0xD2); //power setting
LCD_Write_DATA(0x00,0x01);
LCD_Write_DATA(0x00,0x44);
LCD_Write_COM(0xC8); //Set Gamma
LCD_Write_DATA(0x00,0x04);
LCD_Write_DATA(0x00,0x67);
LCD_Write_DATA(0x00,0x35);
LCD_Write_DATA(0x00,0x04);
LCD_Write_DATA(0x00,0x08);
LCD_Write_DATA(0x00,0x06);
LCD_Write_DATA(0x00,0x24);
LCD_Write_DATA(0x00,0x01);
LCD_Write_DATA(0x00,0x37);
LCD_Write_DATA(0x00,0x40);
LCD_Write_DATA(0x00,0x03);
LCD_Write_DATA(0x00,0x10);
LCD_Write_DATA(0x00,0x08);
LCD_Write_DATA(0x00,0x80);
LCD_Write_DATA(0x00,0x00);
LCD_Write_COM(0x2A);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0xeF);
LCD_Write_COM(0x2B);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x00);
LCD_Write_DATA(0x00,0x01);
LCD_Write_DATA(0x00,0x8F);
LCD_Write_COM(0x29); //display on
LCD_Write_COM(0x2C); //display on
break;

View File

@@ -0,0 +1,13 @@
case ILI9327:
LCD_Write_COM(0x2a);
LCD_Write_DATA(0x00,x1>>8);
LCD_Write_DATA(0x00,x1);
LCD_Write_DATA(0x00,x2>>8);
LCD_Write_DATA(0x00,x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(0x00,y1>>8);
LCD_Write_DATA(0x00,y1);
LCD_Write_DATA(0x00,y2>>8);
LCD_Write_DATA(0x00,y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,58 @@
case ILI9341_S4P:
LCD_Write_COM(0x11);//sleep out
delay(20);
//LCD_Write_COM(0x01); //reset
//delay(15);
LCD_Write_COM(0x28); //display off
delay(5);
LCD_Write_COM(0xCF); //power control b
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x83); //83 81 AA
LCD_Write_DATA(0x30);
LCD_Write_COM(0xED); //power on seq control
LCD_Write_DATA(0x64); //64 67
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x12);
LCD_Write_DATA(0x81);
LCD_Write_COM(0xE8); //timing control a
LCD_Write_DATA(0x85);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x79); //79 78
LCD_Write_COM(0xCB); //power control a
LCD_Write_DATA(0x39);
LCD_Write_DATA(0X2C);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x34);
LCD_Write_DATA(0x02);
LCD_Write_COM(0xF7); //pump ratio control
LCD_Write_DATA(0x20);
LCD_Write_COM(0xEA); //timing control b
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xC0); //power control 2
LCD_Write_DATA(0x26); //26 25
LCD_Write_COM(0xC1); //power control 2
LCD_Write_DATA(0x11);
LCD_Write_COM(0xC5); //vcom control 1
LCD_Write_DATA(0x35);
LCD_Write_DATA(0x3E);
LCD_Write_COM(0xC7); //vcom control 2
LCD_Write_DATA(0xBE); //BE 94
LCD_Write_COM(0xB1); //frame control
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x1B); //1B 70
LCD_Write_COM(0xB6); //display control
LCD_Write_DATA(0x0A);
LCD_Write_DATA(0x82);
LCD_Write_DATA(0x27);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB7); //emtry mode
LCD_Write_DATA(0x07);
LCD_Write_COM(0x3A); //pixel format
LCD_Write_DATA(0x55); //16bit
LCD_Write_COM(0x36); //mem access
LCD_Write_DATA((1<<3)|(1<<6));
//LCD_Write_DATA((1<<3)|(1<<7)); //rotate 180
LCD_Write_COM(0x29); //display on
delay(5);
break;

View File

@@ -0,0 +1,13 @@
case ILI9341_S4P:
LCD_Write_COM(0x2A); //column
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2B); //page
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2C); //write
break;

View File

@@ -0,0 +1,105 @@
case ILI9341_S5P:
LCD_Write_COM(0xCB);
LCD_Write_DATA(0x39);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x34);
LCD_Write_DATA(0x02);
LCD_Write_COM(0xCF);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0XC1);
LCD_Write_DATA(0X30);
LCD_Write_COM(0xE8);
LCD_Write_DATA(0x85);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x78);
LCD_Write_COM(0xEA);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xED);
LCD_Write_DATA(0x64);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0X12);
LCD_Write_DATA(0X81);
LCD_Write_COM(0xF7);
LCD_Write_DATA(0x20);
LCD_Write_COM(0xC0); //Power control
LCD_Write_DATA(0x23); //VRH[5:0]
LCD_Write_COM(0xC1); //Power control
LCD_Write_DATA(0x10); //SAP[2:0];BT[3:0]
LCD_Write_COM(0xC5); //VCM control
LCD_Write_DATA(0x3e); //Contrast
LCD_Write_DATA(0x28);
LCD_Write_COM(0xC7); //VCM control2
LCD_Write_DATA(0x86); //--
LCD_Write_COM(0x36); // Memory Access Control
LCD_Write_DATA(0x48);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x55);
LCD_Write_COM(0xB1);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x18);
LCD_Write_COM(0xB6); // Display Function Control
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x82);
LCD_Write_DATA(0x27);
/*
LCD_Write_COM(0xF2); // 3Gamma Function Disable
LCD_Write_DATA(0x00);
LCD_Write_COM(0x26); //Gamma curve selected
LCD_Write_DATA(0x01);
LCD_Write_COM(0xE0); //Set Gamma
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x2B);
LCD_Write_DATA(0x0C);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x4E);
LCD_Write_DATA(0xF1);
LCD_Write_DATA(0x37);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x09);
LCD_Write_DATA(0x00);
LCD_Write_COM(0XE1); //Set Gamma
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x14);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0xC1);
LCD_Write_DATA(0x48);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x0C);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x36);
LCD_Write_DATA(0x0F);
*/
LCD_Write_COM(0x11); //Exit Sleep
delay(120);
LCD_Write_COM(0x29); //Display on
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,13 @@
case ILI9341_S5P:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,62 @@
case ILI9481:
LCD_Write_COM(0x11);
delay(20);
LCD_Write_COM(0xD0);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x42);
LCD_Write_DATA(0x18);
LCD_Write_COM(0xD1);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x10);
LCD_Write_COM(0xD2);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x02);
LCD_Write_COM(0xC0);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x3B);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x11);
LCD_Write_COM(0xC5);
LCD_Write_DATA(0x03);
LCD_Write_COM(0xC8);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x32);
LCD_Write_DATA(0x36);
LCD_Write_DATA(0x45);
LCD_Write_DATA(0x06);
LCD_Write_DATA(0x16);
LCD_Write_DATA(0x37);
LCD_Write_DATA(0x75);
LCD_Write_DATA(0x77);
LCD_Write_DATA(0x54);
LCD_Write_DATA(0x0C);
LCD_Write_DATA(0x00);
LCD_Write_COM(0x36);
LCD_Write_DATA(0x0A);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x55);
LCD_Write_COM(0x2A);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x3F);
LCD_Write_COM(0x2B);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0xE0);
delay(120);
LCD_Write_COM(0x29);
break;

View File

@@ -0,0 +1,13 @@
case ILI9481:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,30 @@
case PCF8833:
LCD_Write_COM(0x01);
LCD_Write_COM(0x25);
LCD_Write_DATA(0x40);
LCD_Write_COM(0x11);
delay(10);
LCD_Write_COM(0x20);
LCD_Write_COM(0x38);
LCD_Write_COM(0x29);
LCD_Write_COM(0x13);
LCD_Write_COM(0x36);
LCD_Write_DATA(0x60);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x05);
LCD_Write_COM(0x2A);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x7F);
LCD_Write_COM(0xB4);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x0b);
LCD_Write_DATA(0x0e);
LCD_Write_COM(0xBA);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x0D);
LCD_Write_COM(0x2B);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x7F);
LCD_Write_COM(0x2C);
break;

View File

@@ -0,0 +1,9 @@
case PCF8833:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,183 @@
case S1D19122:
//************* Start Initial Sequence **********//
int i,R,G,B;
LCD_Write_COM(0x11);
LCD_Write_COM(0x13);
LCD_Write_COM(0x29);
//-------------- Display Control ---------//
LCD_Write_COM(0xB0);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0xF0);
LCD_Write_DATA(0x0A);
LCD_Write_DATA(0x41);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x0A);
LCD_Write_DATA(0x30);
LCD_Write_DATA(0x31);
LCD_Write_DATA(0x36);
LCD_Write_DATA(0x37);
LCD_Write_DATA(0x40);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x3F);
LCD_Write_DATA(0x40);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x81);
LCD_Write_DATA(0x04);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x64);
// ----------- Gamma Curve Set3 Postive----------//
LCD_Write_COM(0xFC);
LCD_Write_DATA(0x88);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x42);
LCD_Write_DATA(0x42);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x99);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xBB);
LCD_Write_DATA(0xBB);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0xC0);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
// ----------- Gamma Curve Set3 Negative----------//
LCD_Write_COM(0xFD);
LCD_Write_DATA(0x88);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x42);
LCD_Write_DATA(0x42);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x99);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0xBB);
LCD_Write_DATA(0xBB);
LCD_Write_DATA(0xAA);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x11);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x03);
// ----------- EVRSER Regulator Voltage Setting---------//
LCD_Write_COM(0xBE);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x15);
LCD_Write_DATA(0x16);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x09);
LCD_Write_DATA(0x15);
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
// -----------Module Definiton Setting---------//
LCD_Write_COM(0xC0);
LCD_Write_DATA(0x0E);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
// -----------PWRDEF Power Ability Ddfinition----------//
LCD_Write_COM(0xC1);
LCD_Write_DATA(0x2F);
LCD_Write_DATA(0x23);
LCD_Write_DATA(0xB4);
LCD_Write_DATA(0xFF);
LCD_Write_DATA(0x24);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x00);
// -----------Other Setting----------//
LCD_Write_COM(0xC2);
LCD_Write_DATA(0x03);
LCD_Write_COM(0x26);
LCD_Write_DATA(0x08);
LCD_Write_COM(0x35);
LCD_Write_COM(0x36);
LCD_Write_DATA(0x64);
LCD_Write_COM(0x3A);
LCD_Write_DATA(0x05);
LCD_Write_COM(0x2A);
LCD_Write_DATA(0x01,0x3f);
LCD_Write_COM(0x2B);
LCD_Write_DATA(0xEF);
LCD_Write_COM(0x2c);
// -----------RGB Setting----------//
LCD_Write_COM(0x2D);
R=0;
G=0;
B=0;
for(i=0;i<32;i++)
{
LCD_Write_DATA(R);
R=R+2;
}
for(i=0;i<64;i++)
{
LCD_Write_DATA(G);
G=G+1;
}
for(i=0;i<32;i++)
{
LCD_Write_DATA(B);
B=B+2;
}
break;

View File

@@ -0,0 +1,13 @@
case S1D19122:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,44 @@
case S6D0164:
LCD_Write_COM_DATA(0x11,0x001A);
LCD_Write_COM_DATA(0x12,0x3121);
LCD_Write_COM_DATA(0x13,0x006C);
LCD_Write_COM_DATA(0x14,0x4249);
LCD_Write_COM_DATA(0x10,0x0800);
delay(10);
LCD_Write_COM_DATA(0x11,0x011A);
delay(10);
LCD_Write_COM_DATA(0x11,0x031A);
delay(10);
LCD_Write_COM_DATA(0x11,0x071A);
delay(10);
LCD_Write_COM_DATA(0x11,0x0F1A);
delay(10);
LCD_Write_COM_DATA(0x11,0x0F3A);
delay(30);
LCD_Write_COM_DATA(0x01,0x011C);
LCD_Write_COM_DATA(0x02,0x0100);
LCD_Write_COM_DATA(0x03,0x1030);
LCD_Write_COM_DATA(0x07,0x0000);
LCD_Write_COM_DATA(0x08,0x0808);
LCD_Write_COM_DATA(0x0B,0x1100);
LCD_Write_COM_DATA(0x0C,0x0000);
LCD_Write_COM_DATA(0x0F,0x1401);
LCD_Write_COM_DATA(0x15,0x0000);
LCD_Write_COM_DATA(0x20,0x0000);
LCD_Write_COM_DATA(0x21,0x0000);
LCD_Write_COM_DATA(0x36,0x00AF);
LCD_Write_COM_DATA(0x37,0x0000);
LCD_Write_COM_DATA(0x38,0x00DB);
LCD_Write_COM_DATA(0x39,0x0000);
LCD_Write_COM_DATA(0x0F,0x0B01);
LCD_Write_COM_DATA(0x07,0x0016);
LCD_Write_COM_DATA(0x07,0x0017);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,9 @@
case S6D0164:
LCD_Write_COM_DATA(0x36,x2);
LCD_Write_COM_DATA(0x37,x1);
LCD_Write_COM_DATA(0x38,y2);
LCD_Write_COM_DATA(0x39,y1);
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,47 @@
case S6D1121_8:
case S6D1121_16:
LCD_Write_COM_DATA(0x11,0x2004);
LCD_Write_COM_DATA(0x13,0xCC00);
LCD_Write_COM_DATA(0x15,0x2600);
LCD_Write_COM_DATA(0x14,0x252A);
LCD_Write_COM_DATA(0x12,0x0033);
LCD_Write_COM_DATA(0x13,0xCC04);
LCD_Write_COM_DATA(0x13,0xCC06);
LCD_Write_COM_DATA(0x13,0xCC4F);
LCD_Write_COM_DATA(0x13,0x674F);
LCD_Write_COM_DATA(0x11,0x2003);
LCD_Write_COM_DATA(0x30,0x2609);
LCD_Write_COM_DATA(0x31,0x242C);
LCD_Write_COM_DATA(0x32,0x1F23);
LCD_Write_COM_DATA(0x33,0x2425);
LCD_Write_COM_DATA(0x34,0x2226);
LCD_Write_COM_DATA(0x35,0x2523);
LCD_Write_COM_DATA(0x36,0x1C1A);
LCD_Write_COM_DATA(0x37,0x131D);
LCD_Write_COM_DATA(0x38,0x0B11);
LCD_Write_COM_DATA(0x39,0x1210);
LCD_Write_COM_DATA(0x3A,0x1315);
LCD_Write_COM_DATA(0x3B,0x3619);
LCD_Write_COM_DATA(0x3C,0x0D00);
LCD_Write_COM_DATA(0x3D,0x000D);
LCD_Write_COM_DATA(0x16,0x0007);
LCD_Write_COM_DATA(0x02,0x0013);
LCD_Write_COM_DATA(0x03,0x0003);
LCD_Write_COM_DATA(0x01,0x0127);
LCD_Write_COM_DATA(0x08,0x0303);
LCD_Write_COM_DATA(0x0A,0x000B);
LCD_Write_COM_DATA(0x0B,0x0003);
LCD_Write_COM_DATA(0x0C,0x0000);
LCD_Write_COM_DATA(0x41,0x0000);
LCD_Write_COM_DATA(0x50,0x0000);
LCD_Write_COM_DATA(0x60,0x0005);
LCD_Write_COM_DATA(0x70,0x000B);
LCD_Write_COM_DATA(0x71,0x0000);
LCD_Write_COM_DATA(0x78,0x0000);
LCD_Write_COM_DATA(0x7A,0x0000);
LCD_Write_COM_DATA(0x79,0x0007);
LCD_Write_COM_DATA(0x07,0x0051);
LCD_Write_COM_DATA(0x07,0x0053);
LCD_Write_COM_DATA(0x79,0x0000);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,9 @@
case S6D1121_8:
case S6D1121_16:
LCD_Write_COM_DATA(0x46,(x2 << 8) | x1);
LCD_Write_COM_DATA(0x47,y2);
LCD_Write_COM_DATA(0x48,y1);
LCD_Write_COM_DATA(0x20,x1);
LCD_Write_COM_DATA(0x21,y1);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,46 @@
case SSD1289:
case SSD1289_8:
case SSD1289LATCHED:
LCD_Write_COM_DATA(0x00,0x0001);
LCD_Write_COM_DATA(0x03,0xA8A4);
LCD_Write_COM_DATA(0x0C,0x0000);
LCD_Write_COM_DATA(0x0D,0x080C);
LCD_Write_COM_DATA(0x0E,0x2B00);
LCD_Write_COM_DATA(0x1E,0x00B7);
LCD_Write_COM_DATA(0x01,0x2B3F);
LCD_Write_COM_DATA(0x02,0x0600);
LCD_Write_COM_DATA(0x10,0x0000);
LCD_Write_COM_DATA(0x11,0x6070);
LCD_Write_COM_DATA(0x05,0x0000);
LCD_Write_COM_DATA(0x06,0x0000);
LCD_Write_COM_DATA(0x16,0xEF1C);
LCD_Write_COM_DATA(0x17,0x0003);
LCD_Write_COM_DATA(0x07,0x0233);
LCD_Write_COM_DATA(0x0B,0x0000);
LCD_Write_COM_DATA(0x0F,0x0000);
LCD_Write_COM_DATA(0x41,0x0000);
LCD_Write_COM_DATA(0x42,0x0000);
LCD_Write_COM_DATA(0x48,0x0000);
LCD_Write_COM_DATA(0x49,0x013F);
LCD_Write_COM_DATA(0x4A,0x0000);
LCD_Write_COM_DATA(0x4B,0x0000);
LCD_Write_COM_DATA(0x44,0xEF00);
LCD_Write_COM_DATA(0x45,0x0000);
LCD_Write_COM_DATA(0x46,0x013F);
LCD_Write_COM_DATA(0x30,0x0707);
LCD_Write_COM_DATA(0x31,0x0204);
LCD_Write_COM_DATA(0x32,0x0204);
LCD_Write_COM_DATA(0x33,0x0502);
LCD_Write_COM_DATA(0x34,0x0507);
LCD_Write_COM_DATA(0x35,0x0204);
LCD_Write_COM_DATA(0x36,0x0204);
LCD_Write_COM_DATA(0x37,0x0502);
LCD_Write_COM_DATA(0x3A,0x0302);
LCD_Write_COM_DATA(0x3B,0x0302);
LCD_Write_COM_DATA(0x23,0x0000);
LCD_Write_COM_DATA(0x24,0x0000);
LCD_Write_COM_DATA(0x25,0x8000);
LCD_Write_COM_DATA(0x4f,0x0000);
LCD_Write_COM_DATA(0x4e,0x0000);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,10 @@
case SSD1289:
case SSD1289_8:
case SSD1289LATCHED:
LCD_Write_COM_DATA(0x44,(x2<<8)+x1);
LCD_Write_COM_DATA(0x45,y1);
LCD_Write_COM_DATA(0x46,y2);
LCD_Write_COM_DATA(0x4e,x1);
LCD_Write_COM_DATA(0x4f,y1);
LCD_Write_COM(0x22);
break;

View File

@@ -0,0 +1,78 @@
case SSD1963_480:
LCD_Write_COM(0xE2); //PLL multiplier, set PLL clock to 120M
LCD_Write_DATA(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x54);
LCD_Write_COM(0xE0); // PLL enable
LCD_Write_DATA(0x01);
delay(10);
LCD_Write_COM(0xE0);
LCD_Write_DATA(0x03);
delay(10);
LCD_Write_COM(0x01); // software reset
delay(100);
LCD_Write_COM(0xE6); //PLL setting for PCLK, depends on resolution
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x1F);
LCD_Write_DATA(0xFF);
LCD_Write_COM(0xB0); //LCD SPECIFICATION
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01); //Set HDP 479
LCD_Write_DATA(0xDF);
LCD_Write_DATA(0x01); //Set VDP 271
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB4); //HSYNC
LCD_Write_DATA(0x02); //Set HT 531
LCD_Write_DATA(0x13);
LCD_Write_DATA(0x00); //Set HPS 8
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x2B); //Set HPW 43
LCD_Write_DATA(0x00); //Set LPS 2
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB6); //VSYNC
LCD_Write_DATA(0x01); //Set VT 288
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x00); //Set VPS 4
LCD_Write_DATA(0x04);
LCD_Write_DATA(0x0c); //Set VPW 12
LCD_Write_DATA(0x00); //Set FPS 2
LCD_Write_DATA(0x02);
LCD_Write_COM(0xBA);
LCD_Write_DATA(0x0F); //GPIO[3:0] out 1
LCD_Write_COM(0xB8);
LCD_Write_DATA(0x07); //GPIO3=input, GPIO[2:0]=output
LCD_Write_DATA(0x01); //GPIO0 normal
LCD_Write_COM(0x36); //rotation
LCD_Write_DATA(0x22);
LCD_Write_COM(0xF0); //pixel data interface
LCD_Write_DATA(0x03);
delay(1);
setXY(0, 0, 479, 271);
LCD_Write_COM(0x29); //display on
LCD_Write_COM(0xBE); //set PWM for B/L
LCD_Write_DATA(0x06);
LCD_Write_DATA(0xf0);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0xf0);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xd0);
LCD_Write_DATA(0x0d);
LCD_Write_COM(0x2C);
break;

View File

@@ -0,0 +1,15 @@
case SSD1963_480:
swap(word, x1, y1);
swap(word, x2, y2);
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,78 @@
case SSD1963_800:
LCD_Write_COM(0xE2); //PLL multiplier, set PLL clock to 120M
LCD_Write_DATA(0x1E); //N=0x36 for 6.5M, 0x23 for 10M crystal
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x54);
LCD_Write_COM(0xE0); // PLL enable
LCD_Write_DATA(0x01);
delay(10);
LCD_Write_COM(0xE0);
LCD_Write_DATA(0x03);
delay(10);
LCD_Write_COM(0x01); // software reset
delay(100);
LCD_Write_COM(0xE6); //PLL setting for PCLK, depends on resolution
LCD_Write_DATA(0x03);
LCD_Write_DATA(0xFF);
LCD_Write_DATA(0xFF);
LCD_Write_COM(0xB0); //LCD SPECIFICATION
LCD_Write_DATA(0x24);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x03); //Set HDP 799
LCD_Write_DATA(0x1F);
LCD_Write_DATA(0x01); //Set VDP 479
LCD_Write_DATA(0xDF);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB4); //HSYNC
LCD_Write_DATA(0x03); //Set HT 928
LCD_Write_DATA(0xA0);
LCD_Write_DATA(0x00); //Set HPS 46
LCD_Write_DATA(0x2E);
LCD_Write_DATA(0x30); //Set HPW 48
LCD_Write_DATA(0x00); //Set LPS 15
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB6); //VSYNC
LCD_Write_DATA(0x02); //Set VT 525
LCD_Write_DATA(0x0D);
LCD_Write_DATA(0x00); //Set VPS 16
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x10); //Set VPW 16
LCD_Write_DATA(0x00); //Set FPS 8
LCD_Write_DATA(0x08);
LCD_Write_COM(0xBA);
LCD_Write_DATA(0x0F); //GPIO[3:0] out 1
LCD_Write_COM(0xB8);
LCD_Write_DATA(0x07); //GPIO3=input, GPIO[2:0]=output
LCD_Write_DATA(0x01); //GPIO0 normal
LCD_Write_COM(0x36); //rotation
LCD_Write_DATA(0x22);
LCD_Write_COM(0xF0); //pixel data interface
LCD_Write_DATA(0x03);
delay(1);
setXY(0, 0, 799, 479);
LCD_Write_COM(0x29); //display on
LCD_Write_COM(0xBE); //set PWM for B/L
LCD_Write_DATA(0x06);
LCD_Write_DATA(0xf0);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0xf0);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xd0);
LCD_Write_DATA(0x0d);
LCD_Write_COM(0x2C);
break;

View File

@@ -0,0 +1,15 @@
case SSD1963_800:
swap(word, x1, y1);
swap(word, x2, y2);
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,78 @@
case SSD1963_800ALT:
LCD_Write_COM(0xE2); //PLL multiplier, set PLL clock to 120M
LCD_Write_DATA(0x23); //N=0x36 for 6.5M, 0x23 for 10M crystal
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x04);
LCD_Write_COM(0xE0); // PLL enable
LCD_Write_DATA(0x01);
delay(10);
LCD_Write_COM(0xE0);
LCD_Write_DATA(0x03);
delay(10);
LCD_Write_COM(0x01); // software reset
delay(100);
LCD_Write_COM(0xE6); //PLL setting for PCLK, depends on resolution
LCD_Write_DATA(0x04);
LCD_Write_DATA(0x93);
LCD_Write_DATA(0xE0);
LCD_Write_COM(0xB0); //LCD SPECIFICATION
LCD_Write_DATA(0x00); // 0x24
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x03); //Set HDP 799
LCD_Write_DATA(0x1F);
LCD_Write_DATA(0x01); //Set VDP 479
LCD_Write_DATA(0xDF);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB4); //HSYNC
LCD_Write_DATA(0x03); //Set HT 928
LCD_Write_DATA(0xA0);
LCD_Write_DATA(0x00); //Set HPS 46
LCD_Write_DATA(0x2E);
LCD_Write_DATA(0x30); //Set HPW 48
LCD_Write_DATA(0x00); //Set LPS 15
LCD_Write_DATA(0x0F);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xB6); //VSYNC
LCD_Write_DATA(0x02); //Set VT 525
LCD_Write_DATA(0x0D);
LCD_Write_DATA(0x00); //Set VPS 16
LCD_Write_DATA(0x10);
LCD_Write_DATA(0x10); //Set VPW 16
LCD_Write_DATA(0x00); //Set FPS 8
LCD_Write_DATA(0x08);
LCD_Write_COM(0xBA);
LCD_Write_DATA(0x05); //GPIO[3:0] out 1
LCD_Write_COM(0xB8);
LCD_Write_DATA(0x07); //GPIO3=input, GPIO[2:0]=output
LCD_Write_DATA(0x01); //GPIO0 normal
LCD_Write_COM(0x36); //rotation
LCD_Write_DATA(0x22); // -- Set to 0x21 to rotate 180 degrees
LCD_Write_COM(0xF0); //pixel data interface
LCD_Write_DATA(0x03);
delay(10);
setXY(0, 0, 799, 479);
LCD_Write_COM(0x29); //display on
LCD_Write_COM(0xBE); //set PWM for B/L
LCD_Write_DATA(0x06);
LCD_Write_DATA(0xF0);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0xF0);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xD0);
LCD_Write_DATA(0x0D);
LCD_Write_COM(0x2C);
break;

View File

@@ -0,0 +1,15 @@
case SSD1963_800ALT:
swap(word, x1, y1);
swap(word, x2, y2);
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,104 @@
case ST7735:
LCD_Write_COM(0x11);//Sleep exit
delay(12);
//ST7735R Frame Rate
LCD_Write_COM(0xB1);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x2D);
LCD_Write_COM(0xB2);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x2D);
LCD_Write_COM(0xB3);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x2D);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x2C);
LCD_Write_DATA(0x2D);
LCD_Write_COM(0xB4); //Column inversion
LCD_Write_DATA(0x07);
//ST7735R Power Sequence
LCD_Write_COM(0xC0);
LCD_Write_DATA(0xA2);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x84);
LCD_Write_COM(0xC1);
LCD_Write_DATA(0xC5);
LCD_Write_COM(0xC2);
LCD_Write_DATA(0x0A);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xC3);
LCD_Write_DATA(0x8A);
LCD_Write_DATA(0x2A);
LCD_Write_COM(0xC4);
LCD_Write_DATA(0x8A);
LCD_Write_DATA(0xEE);
LCD_Write_COM(0xC5); //VCOM
LCD_Write_DATA(0x0E);
LCD_Write_COM(0x36); //MX, MY, RGB mode
LCD_Write_DATA(0xC8);
//ST7735R Gamma Sequence
LCD_Write_COM(0xe0);
LCD_Write_DATA(0x0f);
LCD_Write_DATA(0x1a);
LCD_Write_DATA(0x0f);
LCD_Write_DATA(0x18);
LCD_Write_DATA(0x2f);
LCD_Write_DATA(0x28);
LCD_Write_DATA(0x20);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x1f);
LCD_Write_DATA(0x1b);
LCD_Write_DATA(0x23);
LCD_Write_DATA(0x37);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x02);
LCD_Write_DATA(0x10);
LCD_Write_COM(0xe1);
LCD_Write_DATA(0x0f);
LCD_Write_DATA(0x1b);
LCD_Write_DATA(0x0f);
LCD_Write_DATA(0x17);
LCD_Write_DATA(0x33);
LCD_Write_DATA(0x2c);
LCD_Write_DATA(0x29);
LCD_Write_DATA(0x2e);
LCD_Write_DATA(0x30);
LCD_Write_DATA(0x30);
LCD_Write_DATA(0x39);
LCD_Write_DATA(0x3f);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x10);
LCD_Write_COM(0x2a);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x7f);
LCD_Write_COM(0x2b);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x9f);
LCD_Write_COM(0xF0); //Enable test command
LCD_Write_DATA(0x01);
LCD_Write_COM(0xF6); //Disable ram power save mode
LCD_Write_DATA(0x00);
LCD_Write_COM(0x3A); //65k mode
LCD_Write_DATA(0x05);
LCD_Write_COM(0x29);//Display on
break;

View File

@@ -0,0 +1,13 @@
case ST7735:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;

View File

@@ -0,0 +1,98 @@
case ST7735S:
LCD_Write_COM(0x11);//Sleep exit
delay(120);
//ST7735R Frame Rate
LCD_Write_COM(0xB1);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x3C);
LCD_Write_DATA(0x3C);
LCD_Write_COM(0xB2);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x3C);
LCD_Write_DATA(0x3C);
LCD_Write_COM(0xB3);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x3C);
LCD_Write_DATA(0x3C);
LCD_Write_DATA(0x05);
LCD_Write_DATA(0x3C);
LCD_Write_DATA(0x3C);
LCD_Write_COM(0xB4); //Column inversion
LCD_Write_DATA(0x03);
//ST7735R Power Sequence
LCD_Write_COM(0xC0);
LCD_Write_DATA(0x28);
LCD_Write_DATA(0x08);
LCD_Write_DATA(0x04);
LCD_Write_COM(0xC1);
LCD_Write_DATA(0xC0);
LCD_Write_COM(0xC2);
LCD_Write_DATA(0x0D);
LCD_Write_DATA(0x00);
LCD_Write_COM(0xC3);
LCD_Write_DATA(0x8D);
LCD_Write_DATA(0x2A);
LCD_Write_COM(0xC4);
LCD_Write_DATA(0x8D);
LCD_Write_DATA(0xEE);
LCD_Write_COM(0xC5); //VCOM
LCD_Write_DATA(0x1A);
LCD_Write_COM(0x36); //MX, MY, RGB mode
LCD_Write_DATA(0xC0);
//ST7735R Gamma Sequence
LCD_Write_COM(0xE0);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x22);
LCD_Write_DATA(0x07);
LCD_Write_DATA(0x0A);
LCD_Write_DATA(0x2E);
LCD_Write_DATA(0x30);
LCD_Write_DATA(0x25);
LCD_Write_DATA(0x2A);
LCD_Write_DATA(0x28);
LCD_Write_DATA(0x26);
LCD_Write_DATA(0x2E);
LCD_Write_DATA(0x3A);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x03);
LCD_Write_DATA(0x13);
LCD_Write_COM(0xE1);
LCD_Write_DATA(0x04);
LCD_Write_DATA(0x16);
LCD_Write_DATA(0x06);
LCD_Write_DATA(0x0D);
LCD_Write_DATA(0x2D);
LCD_Write_DATA(0x26);
LCD_Write_DATA(0x23);
LCD_Write_DATA(0x27);
LCD_Write_DATA(0x27);
LCD_Write_DATA(0x25);
LCD_Write_DATA(0x2D);
LCD_Write_DATA(0x3B);
LCD_Write_DATA(0x00);
LCD_Write_DATA(0x01);
LCD_Write_DATA(0x04);
LCD_Write_DATA(0x13);
//LCD_Write_COM(0x2A);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x7F);
//LCD_Write_COM(0x2B);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x00);
//LCD_Write_DATA(0x9F);
LCD_Write_COM(0x3A); //65k mode
LCD_Write_DATA(0x05);
LCD_Write_COM(0x29);//Display on
break;

View File

@@ -0,0 +1,13 @@
case ST7735S:
LCD_Write_COM(0x2a);
LCD_Write_DATA(x1>>8);
LCD_Write_DATA(x1);
LCD_Write_DATA(x2>>8);
LCD_Write_DATA(x2);
LCD_Write_COM(0x2b);
LCD_Write_DATA(y1>>8);
LCD_Write_DATA(y1);
LCD_Write_DATA(y2>>8);
LCD_Write_DATA(y2);
LCD_Write_COM(0x2c);
break;