| /******************************************************************************* | |
| Filename: hal_lcd.h | |
| Copyright 2010 Texas Instruments, Inc. | |
| ***************************************************************************/ | |
| #ifndef HAL_LCD_H | |
| #define HAL_LCD_H | |
| #ifndef MIN | |
| #define MIN(n,m) (((n) < (m)) ? (n) : (m)) | |
| #endif | |
| #ifndef MAX | |
| #define MAX(n,m) (((n) < (m)) ? (m) : (n)) | |
| #endif | |
| #ifndef ABS | |
| #define ABS(n) (((n) < 0) ? -(n) : (n)) | |
| #endif | |
| #define LCD_BACKLT_OUT P8OUT | |
| #define LCD_BACKLT_DIR P8DIR | |
| #define LCD_BACKLT_SEL P8SEL | |
| #define LCD_BACKLIGHT_PIN BIT3 | |
| #define LCD_CS_RST_DIR P9DIR | |
| #define LCD_CS_RST_OUT P9OUT | |
| #define LCD_CS_PIN BIT6 | |
| #define LCD_RESET_PIN BIT7 | |
| #define LCD_SPI_SEL P9SEL | |
| #define LCD_SPI_DIR P9DIR | |
| #define LCD_MOSI_PIN BIT1 | |
| #define LCD_MISO_PIN BIT2 | |
| #define LCD_CLK_PIN BIT3 | |
| #define LCD_ROW 110 | |
| #define LCD_COL 138 | |
| #define LCD_Size 3505 | |
| #define LCD_MEM_Size 110*17 | |
| #define LCD_Max_Column_Offset 0x10 | |
| #define LCD_Last_Pixel 3505 | |
| #define LCD_MEM_Row 0x11 | |
| #define LCD_Row 0x20 | |
| // Grayscale level definitions | |
| #define PIXEL_OFF 0 | |
| #define PIXEL_LIGHT 1 | |
| #define PIXEL_DARK 2 | |
| #define PIXEL_ON 3 | |
| #define INVERT_TEXT BIT0 | |
| #define OVERWRITE_TEXT BIT2 | |
| #define GRAYSCALE_TEXT BIT1 | |
| /*------------------------------------------------------------- | |
| * Function Prototypes | |
| * ------------------------------------------------------------*/ | |
| extern void halLcdInit(void); | |
| extern void halLcdShutDown(void); | |
| extern void halLcdBackLightInit(void); | |
| extern void halLcdSetBackLight(unsigned char BackLightLevel); | |
| extern unsigned int halLcdGetBackLight(void); | |
| extern void halLcdShutDownBackLight(void); | |
| extern void halLcdSendCommand(unsigned char Data[]) ; | |
| extern void halLcdSetContrast(unsigned char ContrastLevel); | |
| extern unsigned char halLcdGetContrast(void); | |
| extern void halLcdStandby(void); | |
| extern void halLcdActive(void); | |
| //Move to specified LCD address | |
| extern void halLcdSetAddress(int Address); | |
| //Draw at current segment location | |
| extern void halLcdDrawCurrentBlock(unsigned int Value); | |
| extern void halLcdDrawCurrentLine(const unsigned int *value, int length); | |
| //Draw at specified location by calling | |
| //LCD_Set_Address(Address) & LCD_Draw_Current_Block( value ) | |
| extern void halLcdDrawBlock(unsigned int Address, unsigned int Value); | |
| //Read value from LCD CGRAM | |
| extern int halLcdReadBlock(unsigned int Address); | |
| //Clear LCD Screen | |
| extern void halLcdClearScreen(void); | |
| //Invert black to white and vice versa | |
| extern void halLcdReverse(void); | |
| // Draw a Pixel @ (x,y) with GrayScale level | |
| extern void halLcdPixel( int x, int y, unsigned char GrayScale); | |
| //Draw Line from (x1,y1) to (x2,y2) with GrayScale level | |
| extern void halLcdLine( int x1, int y1, int x2, int y2, unsigned char GrayScale); | |
| extern void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale); | |
| extern void halLcdVLine( int x1, int x2, int y, unsigned char GrayScale); | |
| extern void halLcdCircle(int x, int y, int Radius, int GrayScale); | |
| extern void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y); | |
| extern void halLcdClearImage(int Columns, int Rows, int x, int y); | |
| //Print String of Length starting at current LCD location | |
| extern void halLcdPrint(char String[], unsigned char TextStyle) ; | |
| //Print String of Length starting at (x,y) | |
| extern void halLcdPrintXY(char String[], int x, int y, unsigned char TextStyle); | |
| //Print String of Length starting at (x,y) | |
| extern void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle); | |
| extern void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col, unsigned char TextStyle); | |
| extern void halLcdCursor(void); | |
| extern void halLcdCursorOff(void); | |
| //Scroll a single row of pixels | |
| extern void halLcdScrollRow(int y); | |
| //Scroll a number of consecutive rows from yStart to yEnd | |
| extern void halLcdHScroll(int yStart, int yEnd); | |
| //Scroll a line of text | |
| extern void halLcdScrollLine(int Line); | |
| #endif /* HAL_LCD_H */ |