53 #define d4dlcd_fsa506_ID 1
58 #if (D4D_MK_STR(D4D_LLD_LCD) == d4dlcd_fsa506_ID)
67 #if D4D_COLOR_SYSTEM != D4D_COLOR_SYSTEM_RGB565
68 #error The eGUI low level driver "d4dlcd_fsa506" not supported selected type of D4D_COLOR_SYSTEM. To run this driver just select D4D_COLOR_SYSTEM_RGB565.
74 static unsigned char D4DLCD_Init_FSA506(
void);
75 static unsigned char D4DLCD_SetWindow_FSA506(
unsigned short x1,
unsigned short y1,
unsigned short x2,
unsigned short y2);
77 static void D4DLCD_Send_PixelColor_FSA506(
D4D_COLOR Value) ;
78 static D4D_COLOR D4DLCD_Get_PixelColor_FSA506(
void);
80 static unsigned char D4DLCD_DeInit_FSA506(
void);
82 static void FSA506_Command_Write(
Byte Addr,
Byte Data);
83 static Byte FSA506_Command_Read(
Byte Addr);
84 static void FSA506_DisplayRAM_WriteDisable(
void);
85 static void FSA506_DisplayRAM_WriteEnable(
void);
99 D4DLCD_SetWindow_FSA506,
100 D4DLCD_SetOrientation_FSA506,
101 D4DLCD_Send_PixelColor_FSA506,
102 D4DLCD_Get_PixelColor_FSA506,
105 D4DLCD_DeInit_FSA506,
131 static unsigned char D4DLCD_Init_FSA506(
void)
168 temp_reg = FSA506_Command_Read(0x40);
169 FSA506_Command_Write(0x40,0x12);
179 temp_reg = FSA506_Command_Read(0x40);
180 FSA506_Command_Write(0x41,0x01);
181 FSA506_Command_Write(0x42,0x01);
184 FSA506_Command_Write(0x00,0x00);
185 FSA506_Command_Write(0x01,0x00);
186 FSA506_Command_Write(0x02,0x01);
187 FSA506_Command_Write(0x03,0x3F);
188 FSA506_Command_Write(0x04,0x00);
189 FSA506_Command_Write(0x05,0x00);
190 FSA506_Command_Write(0x06,0x00);
191 FSA506_Command_Write(0x07,0xEF);
193 FSA506_Command_Write(0x08,0x01);
194 FSA506_Command_Write(0x09,0x40);
195 FSA506_Command_Write(0x0a,0x00);
196 FSA506_Command_Write(0x0b,0x00);
197 FSA506_Command_Write(0x0c,0x00);
200 FSA506_Command_Write(0x10,0x0d);
222 FSA506_Command_Write(0x11,0x05);
241 FSA506_Command_Write(0x12,0x00);
242 FSA506_Command_Write(0x13,0x00);
243 FSA506_Command_Write(0x14,0x00);
245 FSA506_Command_Write(0x15,0x10);
246 FSA506_Command_Write(0x16,0x00);
247 FSA506_Command_Write(0x17,0x38);
248 FSA506_Command_Write(0x18,0x01);
249 FSA506_Command_Write(0x19,0x40);
251 FSA506_Command_Write(0x1a,0x01);
252 FSA506_Command_Write(0x1b,0xb8);
254 FSA506_Command_Write(0x1c,0x00);
255 FSA506_Command_Write(0x1d,0x00);
257 FSA506_Command_Write(0x1e,0x00);
258 FSA506_Command_Write(0x1f,0x08);
260 FSA506_Command_Write(0x20,0x00);
261 FSA506_Command_Write(0x21,0x12);
263 FSA506_Command_Write(0x22,0x00);
264 FSA506_Command_Write(0x23,0xf0);
266 FSA506_Command_Write(0x24,0x01);
267 FSA506_Command_Write(0x25,0x09);
269 FSA506_Command_Write(0x26,0x00);
270 FSA506_Command_Write(0x27,0x00);
271 FSA506_Command_Write(0x28,0x00);
273 FSA506_Command_Write(0x29,0x01);
275 FSA506_Command_Write(0x2d,0x08);
282 FSA506_Command_Write(0x30,0x00);
283 FSA506_Command_Write(0x31,0x00);
285 FSA506_Command_Write(0x32,0x00);
286 FSA506_Command_Write(0x33,0x00);
288 FSA506_Command_Write(0x34,0x01);
289 FSA506_Command_Write(0x35,0x40);
291 FSA506_Command_Write(0x36,0x00);
292 FSA506_Command_Write(0x37,0xF0);
307 static unsigned char D4DLCD_DeInit_FSA506(
void)
325 static unsigned char D4DLCD_SetWindow_FSA506(
unsigned short x1,
unsigned short y1,
unsigned short x2,
unsigned short y2)
327 FSA506_DisplayRAM_WriteDisable();
338 FSA506_DisplayRAM_WriteEnable();
357 switch (new_orientation)
374 FSA506_DisplayRAM_WriteDisable();
375 FSA506_Command_Write(0x2d,data);
390 static void D4DLCD_Send_PixelColor_FSA506(
D4D_COLOR Value)
406 static D4D_COLOR D4DLCD_Get_PixelColor_FSA506(
void)
429 static void FSA506_Command_Write(
Byte Addr,
Byte Data) {
436 static Byte FSA506_Command_Read(
Byte Addr) {
442 static void FSA506_DisplayRAM_WriteDisable(
void)
449 static void FSA506_DisplayRAM_WriteEnable(
void)
457 #endif //(D4D_MK_STR(D4D_LLD_LCD) == d4dlcd_fsa506_ID)
D4D low level standard LCD interface API structure.
#define D4D_SCREEN_SIZE_LONGER_SIDE
This macro is used to define the size of longer side of LCD. If not defined, the longer side is set t...
Orientation LandScape up side down.
D4D Driver main header file.
D4DLCD_FLUSH_MODE
D4D low level eGUI flush screen types enumeration.
D4D Driver private header file.
Orientation Portrait up side down.
D4DLCD_ORIENTATION
D4D low level screen orientation enumeration type.
unsigned char Byte
Type definition of Byte (unsigned 8-bit).
Switch pin to output mode.
#define NULL
Type definition of null pointer.
Set pin output register to logic 1.
LCD device backlight enable signal.
#define D4D_SCREEN_SIZE_SHORTER_SIDE
This macro is used to define the size of shorter side of LCD. If not defined, the shorter side is set...
#define D4D_UNUSED(x)
Macro used just for notify compiler that the input parameter is not used.
Set pin output register to logic 0.
D4D driver - common low level driver header file.
void D4DLCD_Delay_ms_Common(unsigned short period)
D4D driver - resistive touch screen driver function header file.
D4D driver - fsa506 lcd driver function header file.
LWord D4D_COLOR
Type definition of eGUI color variables.
unsigned short Word
Type definition of Word (unsigned 16-bit).