Behrooz Abdi
/
Tiger_LCD
Landtiger (LPC1768) graphics LCD demo.
GLCD.h
- Committer:
- wim
- Date:
- 2012-11-06
- Revision:
- 2:43ede88fb5a3
- Parent:
- 0:a8090b59eb05
- Child:
- 3:2dccfa0121de
File content as of revision 2:43ede88fb5a3:
/******************************************************************************/ /* GLCD.h: Graphic LCD function prototypes and defines */ /******************************************************************************/ /* This file is part of the uVision/ARM development tools. */ /* Copyright (c) 2005-2009 Keil Software. All rights reserved. */ /* This software may only be used under the terms of a valid, current, */ /* end user licence from KEIL for a compatible version of KEIL software */ /* development tools. Nothing else gives you the right to use this software. */ /******************************************************************************/ #ifndef _GLCD_H #define _GLCD_H /*------------------------------------------------------------------------------ Color coding GLCD is coded: 15..11 red, 10..5 green, 4..0 blue (unsigned short) GLCD_R5, GLCD_G6, GLCD_B5 original coding: 17..12 red, 11..6 green, 5..0 blue ORG_R6, ORG_G6, ORG_B6 ORG_R1..5 = GLCD_R0..4, ORG_R0 = GLCD_R4 ORG_G0..5 = GLCD_G0..5, ORG_B1..5 = GLCD_B0..4, ORG_B0 = GLCD_B4 *----------------------------------------------------------------------------*/ /* GLCD RGB color definitions */ #define Black 0x0000 /* 0, 0, 0 */ #define Navy 0x000F /* 0, 0, 128 */ #define DarkGreen 0x03E0 /* 0, 128, 0 */ #define DarkCyan 0x03EF /* 0, 128, 128 */ #define Maroon 0x7800 /* 128, 0, 0 */ #define Purple 0x780F /* 128, 0, 128 */ #define Olive 0x7BE0 /* 128, 128, 0 */ #define LightGrey 0xC618 /* 192, 192, 192 */ #define DarkGrey 0x7BEF /* 128, 128, 128 */ #define Blue 0x001F /* 0, 0, 255 */ #define Green 0x07E0 /* 0, 255, 0 */ #define Cyan 0x07FF /* 0, 255, 255 */ #define Red 0xF800 /* 255, 0, 0 */ #define Magenta 0xF81F /* 255, 0, 255 */ #define Yellow 0xFFE0 /* 255, 255, 0 */ #define White 0xFFFF /* 255, 255, 255 */ // GLCD Controller IDs #define HX8347A_ID 0x0047 #define HX8347D_ID 0x0047 #define ILI9320_ID 0x9320 #define ILI9325_ID 0x9325 #define ILI9325C_ID 0x9325 #define ILI9325D_ID 0x9325 #define ILI9328_ID 0x9328 #define ILI9331_ID 0x9331 #define LGDP4531_ID 0x4531 #define LGDP4535_ID 0x4535 #define R61505U_ID1 0x1505 #define R61505U_ID2 0x0505 #define SPFD5408B_ID 0x5408 #define SSD1289_ID 0x8989 #define SSD1298_ID 0x8999 #define SSD2119_ID 0x9919 #define ST7781_ID 0x7783 #if(0) /* GLCD Exported functions */ extern void GLCD_Init (void); extern unsigned short GLCD_DriverCode (); extern void GLCD_WindowMax (void); extern void GLCD_PutPixel (unsigned int x, unsigned int y); extern void GLCD_SetTextColor (unsigned short color); extern void GLCD_SetBackColor (unsigned short color); extern void GLCD_clearScreen (unsigned short color); extern void GLCD_DrawChar (unsigned int x, unsigned int y, unsigned short *c); extern void GLCD_DisplayChar (unsigned int ln, unsigned int col, unsigned char c); extern void GLCD_DisplayString (unsigned int ln, unsigned int col, unsigned char *s); extern void GLCD_ClearLn (unsigned int ln); extern void GLCD_Bargraph (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned int val); extern void GLCD_Bitmap (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bitmap); extern void GLCD_Bmp (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bmp); extern void GLCD_drawHLine (int x, int y, int l); extern void GLCD_drawVLine (int x, int y, int l); extern void GLCD_drawRect (int x1, int y1, int x2, int y2); #endif class GLCD { public: GLCD(void); void Init (void); void WindowMax (void); void Window (int x1, int y1, int x2, int y2); void drawPixel (unsigned int x, unsigned int y); void drawPixel (unsigned int x, unsigned int y, unsigned short color); void drawPixel (unsigned int x, unsigned int y, uint8_t r, uint8_t g, uint8_t b); void setColor (unsigned short color); void setColor (uint8_t r, uint8_t g, uint8_t b); void setBackColor (unsigned short color); void setBackColor (uint8_t r, uint8_t g, uint8_t b); void clearScreen (unsigned short color); void DrawChar (unsigned int x, unsigned int y, unsigned short *c); void DisplayChar (unsigned int ln, unsigned int col, unsigned char c); void DisplayString (unsigned int ln, unsigned int col, unsigned char *s); void ClearLn (unsigned int ln); void Bargraph (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned int val); void Bitmap (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bitmap); void Bmp (unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned char *bmp); void drawHLine (int x, int y, int l); void drawVLine (int x, int y, int l); void drawRect (int x1, int y1, int x2, int y2); void drawLine (int x1, int y1, int x2, int y2); void drawRoundRect (int x1, int y1, int x2, int y2); void fillRect (int x1, int y1, int x2, int y2); void fillRoundRect (int x1, int y1, int x2, int y2); void drawCircle (int x, int y, int radius); void fillCircle (int x, int y, int radius); void lcdOff(); void lcdOn(); void setContrast(char c); int getDisplayXSize(); int getDisplayYSize(); unsigned short getDriverCode (); unsigned short _textColor, _backColor; private: static __inline unsigned char lcd_send (unsigned short data); static __inline unsigned short lcd_read (void); static __inline void wr_cmd (unsigned char c); static __inline void wr_dat (unsigned short c); static __inline unsigned short rd_dat (void); static __inline void wr_dat_start (void); static __inline void wr_dat_stop (void); static __inline void wr_dat_only (unsigned short c); static __inline void wr_reg (unsigned char reg, unsigned short val); static __inline unsigned short rd_reg (unsigned short reg); unsigned short _driverCode; }; #endif /* _GLCD_H */