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 }
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 }