]> git.sur5r.net Git - freertos/blob - Demo/MSP430X_MSP430F5438_IAR/MSP-EXP430F5438_HAL/hal_lcd.h
Add TI library files necessary to build MSP430X demo. Still a work in progress.
[freertos] / Demo / MSP430X_MSP430F5438_IAR / MSP-EXP430F5438_HAL / hal_lcd.h
1 /*******************************************************************************\r
2     Filename: hal_lcd.h\r
3 \r
4     Copyright 2010 Texas Instruments, Inc.\r
5 ***************************************************************************/\r
6 #ifndef HAL_LCD_H\r
7 #define HAL_LCD_H\r
8 \r
9 #ifndef MIN\r
10 #define MIN(n,m)   (((n) < (m)) ? (n) : (m))\r
11 #endif\r
12 \r
13 #ifndef MAX\r
14 #define MAX(n,m)   (((n) < (m)) ? (m) : (n))\r
15 #endif\r
16 \r
17 #ifndef ABS\r
18 #define ABS(n)     (((n) < 0) ? -(n) : (n))\r
19 #endif\r
20 \r
21 #define LCD_BACKLT_OUT      P8OUT\r
22 #define LCD_BACKLT_DIR      P8DIR\r
23 #define LCD_BACKLT_SEL      P8SEL\r
24 #define LCD_BACKLIGHT_PIN   BIT3\r
25 #define LCD_CS_RST_DIR      P9DIR\r
26 #define LCD_CS_RST_OUT      P9OUT  \r
27 #define LCD_CS_PIN          BIT6 \r
28 #define LCD_RESET_PIN       BIT7\r
29 #define LCD_SPI_SEL                     P9SEL\r
30 #define LCD_SPI_DIR                     P9DIR\r
31 #define LCD_MOSI_PIN            BIT1\r
32 #define LCD_MISO_PIN            BIT2\r
33 #define LCD_CLK_PIN             BIT3\r
34 \r
35 #define LCD_ROW                 110\r
36 #define LCD_COL                 138\r
37 #define LCD_Size                3505\r
38 #define LCD_MEM_Size            110*17\r
39 #define LCD_Max_Column_Offset   0x10  \r
40  \r
41 #define LCD_Last_Pixel          3505\r
42 \r
43 #define LCD_MEM_Row             0x11\r
44 #define LCD_Row                 0x20\r
45 \r
46 // Grayscale level definitions\r
47 #define PIXEL_OFF               0\r
48 #define PIXEL_LIGHT             1\r
49 #define PIXEL_DARK              2\r
50 #define PIXEL_ON                3\r
51 \r
52 #define INVERT_TEXT             BIT0\r
53 #define OVERWRITE_TEXT          BIT2\r
54 #define GRAYSCALE_TEXT                  BIT1\r
55 \r
56 /*-------------------------------------------------------------\r
57  *                  Function Prototypes \r
58  * ------------------------------------------------------------*/ \r
59 extern void halLcdInit(void);                   \r
60 extern void halLcdShutDown(void);\r
61 extern void halLcdBackLightInit(void);\r
62 extern void halLcdSetBackLight(unsigned char BackLightLevel);\r
63 extern unsigned int halLcdGetBackLight(void);\r
64 extern void halLcdShutDownBackLight(void);\r
65 extern void halLcdSendCommand(unsigned char Data[]) ;\r
66 extern void halLcdSetContrast(unsigned char ContrastLevel);\r
67 extern unsigned char halLcdGetContrast(void);\r
68 extern void halLcdStandby(void);\r
69 extern void halLcdActive(void);\r
70 \r
71 //Move to specified LCD address\r
72 extern void halLcdSetAddress(int Address);          \r
73 \r
74 //Draw at current segment location\r
75 extern void halLcdDrawCurrentBlock(unsigned int Value);  \r
76 extern void halLcdDrawCurrentLine(const unsigned int *value, int length);         \r
77 \r
78 //Draw at specified location by calling\r
79 //LCD_Set_Address(Address) & LCD_Draw_Current_Block( value )\r
80 extern void halLcdDrawBlock(unsigned int Address, unsigned int Value); \r
81 \r
82 //Read value from LCD CGRAM\r
83 extern int halLcdReadBlock(unsigned int Address);\r
84 \r
85 //Clear LCD Screen  \r
86 extern void halLcdClearScreen(void);                    \r
87 \r
88 //Invert black to white and vice versa\r
89 extern void halLcdReverse(void);\r
90 \r
91 // Draw a Pixel @ (x,y) with GrayScale level\r
92 extern void halLcdPixel(  int x,  int y, unsigned char GrayScale);\r
93 //Draw Line from (x1,y1) to (x2,y2) with GrayScale level\r
94 extern void halLcdLine(  int x1,  int y1,  int x2,  int y2, unsigned char GrayScale); \r
95 extern void halLcdHLine( int x1, int x2, int y, unsigned char GrayScale);\r
96 extern void halLcdVLine( int x1, int x2, int y, unsigned char GrayScale);\r
97 \r
98 extern void halLcdCircle(int x, int y, int Radius, int GrayScale);\r
99 \r
100 extern void halLcdImage(const unsigned int Image[], int Columns, int Rows, int x, int y);\r
101 extern void halLcdClearImage(int Columns, int Rows,  int x, int y);\r
102 \r
103 //Print String of Length starting at current LCD location\r
104 extern void halLcdPrint(char String[], unsigned char TextStyle) ;\r
105 \r
106 //Print String of Length starting at (x,y)\r
107 extern void halLcdPrintXY(char String[], int x, int y, unsigned char TextStyle);  \r
108 \r
109 //Print String of Length starting at (x,y)\r
110 extern void halLcdPrintLine(char String[], unsigned char Line, unsigned char TextStyle);  \r
111 extern void halLcdPrintLineCol(char String[], unsigned char Line, unsigned char Col, unsigned char TextStyle);  \r
112 \r
113 extern void halLcdCursor(void);\r
114 extern void halLcdCursorOff(void);\r
115 //Scroll a single row of pixels\r
116 extern void halLcdScrollRow(int y);\r
117 //Scroll a number of consecutive rows from yStart to yEnd\r
118 extern void halLcdHScroll(int yStart, int yEnd);\r
119 //Scroll a line of text\r
120 extern void halLcdScrollLine(int Line);\r
121 \r
122 #endif /* HAL_LCD_H */\r