24 #include "GUIDRV_Lin.h"
35 #define XSIZE_PHYS 240//320
36 #define YSIZE_PHYS 320//240
41 #define COLOR_CONVERSION GUICC_M565
43 #define DISPLAY_ORIENTATION (GUI_SWAP_XY | GUI_MIRROR_Y)
49 #if (DISPLAY_ORIENTATION == (GUI_MIRROR_X))
50 #define DISPLAY_DRIVER GUIDRV_LIN_OX_16
51 #elif (DISPLAY_ORIENTATION == (GUI_MIRROR_Y))
52 #define DISPLAY_DRIVER GUIDRV_LIN_OY_16
53 #elif (DISPLAY_ORIENTATION == (GUI_MIRROR_X | GUI_MIRROR_Y))
54 #define DISPLAY_DRIVER GUIDRV_LIN_OXY_16
55 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY))
56 #define DISPLAY_DRIVER GUIDRV_LIN_OS_16
57 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY | GUI_MIRROR_X))
58 #define DISPLAY_DRIVER GUIDRV_LIN_OSX_16
59 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY | GUI_MIRROR_Y))
60 #define DISPLAY_DRIVER GUIDRV_LIN_OSY_16
62 #define DISPLAY_DRIVER GUIDRV_LIN_16
71 #define TOUCH_X_MIN 0x00E0
72 #define TOUCH_X_MAX 0x0F40
73 #define TOUCH_Y_MIN 0x00C0
74 #define TOUCH_Y_MAX 0x0F60
78 #define NUM_BUFFERS 1 // Number of multiple buffers to be used
79 #define NUM_VSCREENS 1 // Number of virtual screens to be used
88 #define VRAM_ADDR 0x28000000 // TBD by customer: This has to be the frame buffer start address
91 #error Physical X size of display is not defined!
94 #error Physical Y size of display is not defined!
96 #ifndef COLOR_CONVERSION
97 #error Color conversion not defined!
99 #ifndef DISPLAY_DRIVER
100 #error No display driver defined!
103 #define NUM_VSCREENS 1
105 #if (NUM_VSCREENS <= 0)
106 #error At least one screeen needs to be defined!
109 #if (NUM_VSCREENS > 1) && (NUM_BUFFERS > 1)
110 #error Virtual screens and multiple buffers are not allowed!
113 #ifndef DISPLAY_ORIENTATION
114 #define DISPLAY_ORIENTATION 0
117 #if ((DISPLAY_ORIENTATION & GUI_SWAP_XY) != 0)
124 #define WIDTH YSIZE_PHYS
125 #define HEIGHT XSIZE_PHYS
127 #define WIDTH XSIZE_PHYS
128 #define HEIGHT YSIZE_PHYS
131 #if ((DISPLAY_ORIENTATION & GUI_SWAP_XY) != 0)
132 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_X) != 0)
133 #define TOUCH_TOP TOUCH_X_MAX
134 #define TOUCH_BOTTOM TOUCH_X_MIN
136 #define TOUCH_TOP TOUCH_X_MIN
137 #define TOUCH_BOTTOM TOUCH_X_MAX
139 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_Y) != 0)
140 #define TOUCH_LEFT TOUCH_Y_MAX
141 #define TOUCH_RIGHT TOUCH_Y_MIN
143 #define TOUCH_LEFT TOUCH_Y_MIN
144 #define TOUCH_RIGHT TOUCH_Y_MAX
147 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_X) != 0)
148 #define TOUCH_LEFT TOUCH_X_MAX
149 #define TOUCH_RIGHT TOUCH_X_MIN
151 #define TOUCH_LEFT TOUCH_X_MIN
152 #define TOUCH_RIGHT TOUCH_X_MAX
154 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_Y) != 0)
155 #define TOUCH_TOP TOUCH_Y_MAX
156 #define TOUCH_BOTTOM TOUCH_Y_MIN
158 #define TOUCH_TOP TOUCH_Y_MIN
159 #define TOUCH_BOTTOM TOUCH_Y_MAX
183 #if (NUM_BUFFERS > 1)
194 if (LCD_GetSwapXY()) {
218 LCD_SetLUTEx(0, PALETTE);
247 case LCD_X_INITCONTROLLER: {
257 case LCD_X_SETVRAMADDR: {
276 case LCD_X_SHOWBUFFER: {
285 case LCD_X_SETLUTENTRY: {
321 #if (USE_TOUCH == 1) // Used when touch screen support is enabled