/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE *pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx(0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // if (hx8347d_drv.ReadID() == HX8347D_ID) { Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y | GUI_MIRROR_X; } else if (spfd5408_drv.ReadID() == SPFD5408_ID) { Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y; } else if (ili9320_drv.ReadID() == ILI9320_ID) { Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y | GUI_MIRROR_X; } else { Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y | GUI_MIRROR_X; } GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; // Find the current LCD and initialize GUIDRV if (spfd5408_drv.ReadID() == SPFD5408_ID) { GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16); } else { GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66712, GUIDRV_FLEXCOLOR_M16C0B16); } }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // //Config.Orientation = GUI_MIRROR_X; Config.RegEntryMode = 0x6230; GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66714, GUIDRV_FLEXCOLOR_M16C0B16); }
/********************************************************************* * * LCD_X_Config * * Purpose: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS); LCD_SetVSizeEx (0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // Config.Orientation = GUI_MIRROR_X | GUI_SWAP_XY; GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LCD_X_8080_16_Write00_16; PortAPI.pfWrite16_A1 = LCD_X_8080_16_Write01_16; PortAPI.pfWriteM16_A1 = LCD_X_8080_16_WriteM01_16; PortAPI.pfReadM16_A1 = LCD_X_8080_16_ReadM01_16; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16); }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 240, TOUCH_AD_TOP, TOUCH_AD_BOTTOM); GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 320, TOUCH_AD_LEFT, TOUCH_AD_RIGHT); // // Orientation //配置显示屏的方向 //Config.Orientation = GUI_SWAP_XY|GUI_MIRROR_Y;// GUI_SWAP_XY | GUI_MIRROR_Y; GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; //配置总线,缓存,和硬件程序 5.22手册991页有详细解说所支持的控制器 GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16); }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // Config.FirstCOM = 0; //modify by fire Config.FirstSEG = 0; //modify by fire Config.Orientation = GUI_MIRROR_Y|GUI_MIRROR_X; //modify by fire 竖屏 // Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y; //modify by fire 横屏 Config.NumDummyReads = 2; //modify by fire 读取的第二个数据才是真实数据 GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16); //modify by fire ԭGUIDRV_FLEXCOLOR_F66708 }
/********************************************************************* * * LCD_X_Config * * Purpose: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; GUI_PORT_API PortAPI = {0}; CONFIG_FLEXCOLOR Config = {0}; #if (NUM_BUFFERS > 1) GUI_MULTIBUF_Config(NUM_BUFFERS); #endif // // Set display driver and color conversion for 1st layer // pDevice = GUI_DEVICE_CreateAndLink(DISPLAY_DRIVER, COLOR_CONVERSION, 0, 0); // // Common display driver configuration // if (LCD_GetSwapXY()) { LCD_SetSizeEx (0, YSIZE_PHYS, XSIZE_PHYS); LCD_SetVSizeEx(0, YSIZE_PHYS * NUM_VSCREENS, XSIZE_PHYS); } else { LCD_SetSizeEx (0, XSIZE_PHYS, YSIZE_PHYS); LCD_SetVSizeEx(0, XSIZE_PHYS, YSIZE_PHYS * NUM_VSCREENS); } // // Configuration of GUIDRV_FLEX_COLOR // // // Select hardware interface // GUIDRV_FlexColor_SetReadFunc66712_B16(pDevice, GUIDRV_FLEXCOLOR_READ_FUNC_II); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LCD_X_Write0_16; PortAPI.pfWrite16_A1 = LCD_X_Write1_16; PortAPI.pfWriteM16_A1 = LCD_X_WriteM1_16; PortAPI.pfReadM16_A1 = LCD_X_ReadM1_16; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66712, GUIDRV_FLEXCOLOR_M16C0B16); // // Orientation and offset of SEG/COM lines // Config.Orientation = DISPLAY_ORIENTATION; Config.RegEntryMode = 0; GUIDRV_FlexColor_Config(pDevice, &Config); #if (USE_TOUCH == 1) // // Set orientation of touch screen // GUI_TOUCH_SetOrientation(DISPLAY_ORIENTATION); // // Calibrate touch screen // GUI_TOUCH_Calibrate(GUI_COORD_X, 0, WIDTH - 1, TOUCH_LEFT, TOUCH_RIGHT); GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, HEIGHT - 1, TOUCH_TOP, TOUCH_BOTTOM); #endif }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // Config.FirstCOM = 0; //modify by xiaoku Config.FirstSEG = 0; //modify by xiaoku //Config.Orientation = GUI_MIRROR_Y|GUI_MIRROR_X; //modify by xiaoku 竖屏 // Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y; //modify by xiaoku 横屏 Config.NumDummyReads = 2; //modify by xiaoku 读取的第二个数据才是真实数据 GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; //GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66708, GUIDRV_FLEXCOLOR_M16C0B16); GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16); //modify by xiaoku /* modify by fire 设置触摸原点 */ GUI_TOUCH_SetOrientation((GUI_MIRROR_X * LCD_GetMirrorXEx(0)) | (GUI_MIRROR_Y * LCD_GetMirrorYEx(0)) | (GUI_SWAP_XY * LCD_GetSwapXYEx (0))); /* modify by fire 设置触摸校准 */ GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 240-1,TOUCH_AD_LEFT ,TOUCH_AD_RIGHT ); GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 320-1,TOUCH_AD_TOP , TOUCH_AD_BOTTOM); }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // Set display driver and color conversion pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0); // Display driver configuration, required for Lin-driver LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // Orientation Config.Orientation = 0;//GUI_MIRROR_Y | GUI_SWAP_XY; /* swap the x & y */ GUIDRV_FlexColor_Config(pDevice, &Config); // Set controller and operation mode PortAPI.pfWrite16_A0 = LcdWriteReg; /* writes one 16 bit value to the controller with C/D line low */ PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; /* F66702 supports the drive of ssd 1289 */ GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66702, GUIDRV_FLEXCOLOR_M16C0B16); }
/********************************************************************* * * LCD_X_Config * * Function description: * Called during the initialization process in order to set up the * display driver configuration. * */ void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; // // Set display driver and color conversion // pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);//´´½¨ÏÔʾÇý¶¯¿Ø¼þ // // Display driver configuration, required for Lin-driver // LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); // // Orientation // // Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;//±£Áô¼´ÊǺáÆÁ£¬×¢Êͼ´ÎªÊúÆÁ GUIDRV_FlexColor_Config(pDevice, &Config); // // Set controller and operation mode // PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16); //GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API,GUICC_565,0,0); //LCD_SetSizeEx(0,lcddev.width,lcddev.height); //LCD_SetVSizeEx(0,lcddev.width,lcddev.height); if(lcddev.id == 0X5510) //0X5510Ϊ4.3´ç 800x480µÄÆÁ { if(lcddev.dir == 0) //ÊúÆÁ // 2001:3520 6352 { // 9147:3832 6288 GUI_TOUCH_Calibrate(GUI_COORD_X,0,480,0,479); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,800,0,799); }else //ºáÆÁ { //GUI_TOUCH_SetOrientation(GUI_SWAP_XY|GUI_MIRROR_Y); GUI_TOUCH_Calibrate(GUI_COORD_X,0,480,0,479); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,800,0,799); } }else if(lcddev.id == 0X1963)//1963Ϊ7´çÆÁ 800*480 { if(lcddev.dir == 0) //ÊúÆÁ { // 6368 3816 //GUI_TOUCH_SetOrientation(GUI_SWAP_XY|GUI_MIRROR_Y); GUI_TOUCH_Calibrate(GUI_COORD_X,0,800,0,799); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,0,479); }else //ºáÆÁ { GUI_TOUCH_Calibrate(GUI_COORD_X,0,800,0,799); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,0,479); } }else if(lcddev.id == 0X5310 || lcddev.id == 0X6804) //0X5510 0X6804Ϊ3.5´ç 320x480 { if(lcddev.dir == 0) //ÊúÆÁ { GUI_TOUCH_Calibrate(GUI_COORD_X,0,320,3931,226); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,3812,196); }else //ºáÆÁ { GUI_TOUCH_SetOrientation(GUI_SWAP_XY|GUI_MIRROR_Y); GUI_TOUCH_Calibrate(GUI_COORD_X,0,320,3931,226); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,480,3812,196); } } else //ÆäËûÆÁĻȫ²¿Ä¬ÈÏΪ2.8´ç 320X240 { if(lcddev.dir == 0) //ÊúÆÁ { GUI_TOUCH_Calibrate(GUI_COORD_X,0,lcddev.width,155,3903); GUI_TOUCH_Calibrate(GUI_COORD_Y,0,lcddev.height,188,3935); }else //ºáÆÁ { GUI_TOUCH_SetOrientation(GUI_SWAP_XY|GUI_MIRROR_Y); GUI_TOUCH_Calibrate(GUI_COORD_X,0,240,155,3903); //У׼£¬½«ÎïÀíÖµ¸³Öµ¸øºê¶¨Òå GUI_TOUCH_Calibrate(GUI_COORD_Y,0,320,188,3935); } } }