34 #include "GUIDRV_Lin.h"
45 #define XSIZE_PHYS 240
46 #define YSIZE_PHYS 320
51 #define COLOR_CONVERSION GUICC_M565
53 #define DISPLAY_ORIENTATION (GUI_SWAP_XY | GUI_MIRROR_Y)
59 #if (DISPLAY_ORIENTATION == (GUI_MIRROR_X))
60 #define DISPLAY_DRIVER GUIDRV_LIN_OX_16
61 #elif (DISPLAY_ORIENTATION == (GUI_MIRROR_Y))
62 #define DISPLAY_DRIVER GUIDRV_LIN_OY_16
63 #elif (DISPLAY_ORIENTATION == (GUI_MIRROR_X | GUI_MIRROR_Y))
64 #define DISPLAY_DRIVER GUIDRV_LIN_OXY_16
65 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY))
66 #define DISPLAY_DRIVER GUIDRV_LIN_OS_16
67 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY | GUI_MIRROR_X))
68 #define DISPLAY_DRIVER GUIDRV_LIN_OSX_16
69 #elif (DISPLAY_ORIENTATION == (GUI_SWAP_XY | GUI_MIRROR_Y))
70 #define DISPLAY_DRIVER GUIDRV_LIN_OSY_16
72 #define DISPLAY_DRIVER GUIDRV_LIN_16
81 #define TOUCH_X_MIN 0x00E0
82 #define TOUCH_X_MAX 0x0F40
83 #define TOUCH_Y_MIN 0x00C0
84 #define TOUCH_Y_MAX 0x0F60
89 #define NUM_BUFFERS 1 // Number of multiple buffers to be used
90 #define NUM_VSCREENS 1 // Number of virtual screens to be used
99 #define VRAM_ADDR 0x28000000 // TBD by customer: This has to be the frame buffer start address
102 #error Physical X size of display is not defined!
105 #error Physical Y size of display is not defined!
107 #ifndef COLOR_CONVERSION
108 #error Color conversion not defined!
110 #ifndef DISPLAY_DRIVER
111 #error No display driver defined!
114 #define NUM_VSCREENS 1
116 #if (NUM_VSCREENS <= 0)
117 #error At least one screeen needs to be defined!
120 #if (NUM_VSCREENS > 1) && (NUM_BUFFERS > 1)
121 #error Virtual screens and multiple buffers are not allowed!
124 #ifndef DISPLAY_ORIENTATION
125 #define DISPLAY_ORIENTATION 0
128 #if ((DISPLAY_ORIENTATION & GUI_SWAP_XY) != 0)
135 #define WIDTH YSIZE_PHYS
136 #define HEIGHT XSIZE_PHYS
138 #define WIDTH XSIZE_PHYS
139 #define HEIGHT YSIZE_PHYS
142 #if ((DISPLAY_ORIENTATION & GUI_SWAP_XY) != 0)
143 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_X) != 0)
144 #define TOUCH_TOP TOUCH_X_MAX
145 #define TOUCH_BOTTOM TOUCH_X_MIN
147 #define TOUCH_TOP TOUCH_X_MIN
148 #define TOUCH_BOTTOM TOUCH_X_MAX
150 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_Y) != 0)
151 #define TOUCH_LEFT TOUCH_Y_MAX
152 #define TOUCH_RIGHT TOUCH_Y_MIN
154 #define TOUCH_LEFT TOUCH_Y_MIN
155 #define TOUCH_RIGHT TOUCH_Y_MAX
158 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_X) != 0)
159 #define TOUCH_LEFT TOUCH_X_MAX
160 #define TOUCH_RIGHT TOUCH_X_MIN
162 #define TOUCH_LEFT TOUCH_X_MIN
163 #define TOUCH_RIGHT TOUCH_X_MAX
165 #if ((DISPLAY_ORIENTATION & GUI_MIRROR_Y) != 0)
166 #define TOUCH_TOP TOUCH_Y_MAX
167 #define TOUCH_BOTTOM TOUCH_Y_MIN
169 #define TOUCH_TOP TOUCH_Y_MIN
170 #define TOUCH_BOTTOM TOUCH_Y_MAX
193 #if (NUM_BUFFERS > 1)
203 if (LCD_GetSwapXY()) {
228 LCD_SetLUTEx(0, PALETTE);
257 case LCD_X_INITCONTROLLER: {
267 case LCD_X_SETVRAMADDR: {
286 case LCD_X_SHOWBUFFER: {
295 case LCD_X_SETLUTENTRY: {
329 #if (USE_TOUCH == 1) // Used when touch screen support is enabled