Example #1
0
        private void ConfigureDisplay()
        {
            Mainboard.LCDConfiguration lcdConfig = new Mainboard.LCDConfiguration();
            lcdConfig.LCDControllerEnabled = false;
            lcdConfig.Width = Width;
            lcdConfig.Height = Height;
            DisplayModule.SetLCDConfig(lcdConfig);

            #region N22
            WriteCommand(0xCB);
            WriteData(0x39);
            WriteData(0x2C);
            WriteData(0x00);
            WriteData(0x34);
            WriteData(0x02);

            WriteCommand(0xCF);
            WriteData(0x00);
            WriteData(0XC1);
            WriteData(0X30);

            WriteCommand(0xE8);
            WriteData(0x85);
            WriteData(0x00);
            WriteData(0x78);

            WriteCommand(0xEA);
            WriteData(0x00);
            WriteData(0x00);

            WriteCommand(0xED);
            WriteData(0x64);
            WriteData(0x03);
            WriteData(0X12);
            WriteData(0X81);

            WriteCommand(0xF7);
            WriteData(0x20);

            WriteCommand(0xC0);    //Power control
            WriteData(0x23);   //VRH[5:0]

            WriteCommand(0xC1);    //Power control
            WriteData(0x10);   //SAP[2:0];BT[3:0]

            WriteCommand(0xC5);    //VCM control
            WriteData(0x3e);   //Contrast
            WriteData(0x28);

            WriteCommand(0xC7);    //VCM control2
            WriteData(0x86);   //--

            WriteCommand(0x36);    // Memory Access Control
            WriteData(0x48);

            WriteCommand(0x3A);
            WriteData(0x55);

            WriteCommand(0xB1);
            WriteData(0x00);
            WriteData(0x18);

            WriteCommand(0xB6);    // Display Function Control
            WriteData(0x08);
            WriteData(0x82);
            WriteData(0x27);
            /*
                WriteCommand(0xF2);    // 3Gamma Function Disable
                WriteData(0x00);

                WriteCommand(0x26);    //Gamma curve selected
                WriteData(0x01);

                WriteCommand(0xE0);    //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(0XE1);    //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(0x11);    //Exit Sleep
            Thread.Sleep(120);

            WriteCommand(0x29);    //Display on
            WriteCommand(0x2c);
            #endregion

            return;

            #region N18
            WriteCommand(0x11); //Sleep exit
            Thread.Sleep(120);

            //ST7735R Frame Rates
            WriteCommand(0xB1);
            WriteData(0x01); WriteData(0x2C); WriteData(0x2D);
            WriteCommand(0xB2);
            WriteData(0x01); WriteData(0x2C); WriteData(0x2D);
            WriteCommand(0xB3);
            WriteData(0x01); WriteData(0x2C); WriteData(0x2D);
            WriteData(0x01); WriteData(0x2C); WriteData(0x2D);

            WriteCommand(0xB4); //Column inversion
            WriteData(0x07);

            //ST7735R Power Sequence
            WriteCommand(0xC0);
            WriteData(0xA2); WriteData(0x02); WriteData(0x84);
            WriteCommand(0xC1); WriteData(0xC5);
            WriteCommand(0xC2);
            WriteData(0x0A); WriteData(0x00);
            WriteCommand(0xC3);
            WriteData(0x8A); WriteData(0x2A);
            WriteCommand(0xC4);
            WriteData(0x8A); WriteData(0xEE);

            WriteCommand(0xC5); //VCOM
            WriteData(0x0E);

            WriteCommand(0x36); //MX, MY, RGB mode
            WriteData(0xC8);

            //ST7735R Gamma Sequence
            WriteCommand(0xe0);
            WriteData(0x0f); WriteData(0x1a);
            WriteData(0x0f); WriteData(0x18);
            WriteData(0x2f); WriteData(0x28);
            WriteData(0x20); WriteData(0x22);
            WriteData(0x1f); WriteData(0x1b);
            WriteData(0x23); WriteData(0x37); WriteData(0x00);

            WriteData(0x07);
            WriteData(0x02); WriteData(0x10);
            WriteCommand(0xe1);
            WriteData(0x0f); WriteData(0x1b);
            WriteData(0x0f); WriteData(0x17);
            WriteData(0x33); WriteData(0x2c);
            WriteData(0x29); WriteData(0x2e);
            WriteData(0x30); WriteData(0x30);
            WriteData(0x39); WriteData(0x3f);
            WriteData(0x00); WriteData(0x07);
            WriteData(0x03); WriteData(0x10);

            WriteCommand(0x2a);
            WriteData(0x00); WriteData(0x00);
            WriteData(0x00); WriteData(0x7f);
            WriteCommand(0x2b);
            WriteData(0x00); WriteData(0x00);
            WriteData(0x00); WriteData(0x9f);

            WriteCommand(0xF0); //Enable test command
            WriteData(0x01);
            WriteCommand(0xF6); //Disable ram power save mode
            WriteData(0x00);

            WriteCommand(0x3A); //65k mode
            WriteData(0x05);

            WriteCommand(0x29);//Display on
            #endregion
        }
Example #2
0
        private void ConfigureDisplay()
        {
            Mainboard.LCDConfiguration lcdConfig = new Mainboard.LCDConfiguration();
            lcdConfig.LCDControllerEnabled = false;
            lcdConfig.Width = Width;
            lcdConfig.Height = Height;
            DisplayModule.SetLCDConfig(lcdConfig);

            WriteCommand(0xCB);
            WriteData(0x39);
            WriteData(0x2C);
            WriteData(0x00);
            WriteData(0x34);
            WriteData(0x02);

            WriteCommand(0xCF);
            WriteData(0x00);
            WriteData(0XC1);
            WriteData(0X30);

            WriteCommand(0xE8);
            WriteData(0x85);
            WriteData(0x00);
            WriteData(0x78);

            WriteCommand(0xEA);
            WriteData(0x00);
            WriteData(0x00);

            WriteCommand(0xED);
            WriteData(0x64);
            WriteData(0x03);
            WriteData(0X12);
            WriteData(0X81);

            WriteCommand(0xF7);
            WriteData(0x20);

            WriteCommand(0xC0);    //Power control
            WriteData(0x23);   //VRH[5:0]

            WriteCommand(0xC1);    //Power control
            WriteData(0x10);   //SAP[2:0];BT[3:0]

            WriteCommand(0xC5);    //VCM control
            WriteData(0x3e);   //Contrast
            WriteData(0x28);

            WriteCommand(0xC7);    //VCM control2
            WriteData(0x86);   //--

            WriteCommand(0x36);    // Memory Access Control
            WriteData(0x48);

            WriteCommand(0x3A);
            WriteData(0x55);

            WriteCommand(0xB1);
            WriteData(0x00);
            WriteData(0x18);

            WriteCommand(0xB6);    // Display Function Control
            WriteData(0x08);
            WriteData(0x82);
            WriteData(0x27);

            /*
            WriteCommand(0xF2);    // 3Gamma Function Disable
            WriteData(0x00);

            WriteCommand(0x26);    //Gamma curve selected
            WriteData(0x01);

            WriteCommand(0xE0);    //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(0XE1);    //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(0x11);    //Exit Sleep
            Thread.Sleep(120);

            //WriteCommand(0x28);    //Display off
            WriteCommand(0x29);    //Display on
            WriteCommand(0x2c);

            //WriteCommand(0x21);     // Display inversion ON
            //WriteCommand(0x20);     // Display inversion OFF

            //WriteCommand(0x39);     // Idle mode on
            //WriteCommand(0x38);     // Idle mode off

            WriteCommand(0x51);     // brightness
            WriteData(0x88);        //0x00...0xFF
        }