]> git.sur5r.net Git - freertos/blob - Demo/CORTEX_STM32F107_GCC_Rowley/LCD/STM3210D_lcd.h
New MicroBlaze port: Added a FreeRTOS exception handler, and installed it in each...
[freertos] / Demo / CORTEX_STM32F107_GCC_Rowley / LCD / STM3210D_lcd.h
1 /******************** (C) COPYRIGHT 2008 STMicroelectronics ********************\r
2 * File Name          : lcd.h\r
3 * Author             : MCD Application Team\r
4 * Version            : VX.Y.Z\r
5 * Date               : mm/dd/yyyy\r
6 * Description        : This file contains all the functions prototypes for the\r
7 *                      lcd firmware driver.\r
8 ********************************************************************************\r
9 * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS\r
10 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.\r
11 * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,\r
12 * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE\r
13 * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING\r
14 * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.\r
15 *******************************************************************************/\r
16 \r
17 /* Define to prevent recursive inclusion -------------------------------------*/\r
18 #ifndef __LCD_H\r
19 #define __LCD_H\r
20 \r
21 /* Includes ------------------------------------------------------------------*/\r
22 #include "stm32f10x_lib.h"\r
23 \r
24 /* Exported types ------------------------------------------------------------*/\r
25 /* Exported constants --------------------------------------------------------*/\r
26 /* LCD Registers */\r
27 #define R0             0x00\r
28 #define R1             0x01\r
29 #define R2             0x02\r
30 #define R3             0x03\r
31 #define R4             0x04\r
32 #define R5             0x05\r
33 #define R6             0x06\r
34 #define R7             0x07\r
35 #define R8             0x08\r
36 #define R9             0x09\r
37 #define R10            0x0A\r
38 #define R12            0x0C\r
39 #define R13            0x0D\r
40 #define R14            0x0E\r
41 #define R15            0x0F\r
42 #define R16            0x10\r
43 #define R17            0x11\r
44 #define R18            0x12\r
45 #define R19            0x13\r
46 #define R20            0x14\r
47 #define R21            0x15\r
48 #define R22            0x16\r
49 #define R23            0x17\r
50 #define R24            0x18\r
51 #define R25            0x19\r
52 #define R26            0x1A\r
53 #define R27            0x1B\r
54 #define R28            0x1C\r
55 #define R29            0x1D\r
56 #define R30            0x1E\r
57 #define R31            0x1F\r
58 #define R32            0x20\r
59 #define R33            0x21\r
60 #define R34            0x22\r
61 #define R36            0x24\r
62 #define R37            0x25\r
63 #define R40            0x28\r
64 #define R41            0x29\r
65 #define R43            0x2B\r
66 #define R45            0x2D\r
67 #define R48            0x30\r
68 #define R49            0x31\r
69 #define R50            0x32\r
70 #define R51            0x33\r
71 #define R52            0x34\r
72 #define R53            0x35\r
73 #define R54            0x36\r
74 #define R55            0x37\r
75 #define R56            0x38\r
76 #define R57            0x39\r
77 #define R59            0x3B\r
78 #define R60            0x3C\r
79 #define R61            0x3D\r
80 #define R62            0x3E\r
81 #define R63            0x3F\r
82 #define R64            0x40\r
83 #define R65            0x41\r
84 #define R66            0x42\r
85 #define R67            0x43\r
86 #define R68            0x44\r
87 #define R69            0x45\r
88 #define R70            0x46\r
89 #define R71            0x47\r
90 #define R72            0x48\r
91 #define R73            0x49\r
92 #define R74            0x4A\r
93 #define R75            0x4B\r
94 #define R76            0x4C\r
95 #define R77            0x4D\r
96 #define R78            0x4E\r
97 #define R79            0x4F\r
98 #define R80            0x50\r
99 #define R81            0x51\r
100 #define R82            0x52\r
101 #define R83            0x53\r
102 #define R96            0x60\r
103 #define R97            0x61\r
104 #define R106           0x6A\r
105 #define R118           0x76\r
106 #define R128           0x80\r
107 #define R129           0x81\r
108 #define R130           0x82\r
109 #define R131           0x83\r
110 #define R132           0x84\r
111 #define R133           0x85\r
112 #define R134           0x86\r
113 #define R135           0x87\r
114 #define R136           0x88\r
115 #define R137           0x89\r
116 #define R139           0x8B\r
117 #define R140           0x8C\r
118 #define R141           0x8D\r
119 #define R143           0x8F\r
120 #define R144           0x90\r
121 #define R145           0x91\r
122 #define R146           0x92\r
123 #define R147           0x93\r
124 #define R148           0x94\r
125 #define R149           0x95\r
126 #define R150           0x96\r
127 #define R151           0x97\r
128 #define R152           0x98\r
129 #define R153           0x99\r
130 #define R154           0x9A\r
131 #define R157           0x9D\r
132 #define R192           0xC0\r
133 #define R193           0xC1\r
134 #define R229           0xE5\r
135 \r
136 /* LCD Control pins */\r
137 #define CtrlPin_NCS    GPIO_Pin_2   /* PB.02 */\r
138 \r
139 /* LCD color */\r
140 #define White          0xFFFF\r
141 #define Black          0x0000\r
142 #define Grey           0xF7DE\r
143 #define Blue           0x001F\r
144 #define Blue2          0x051F\r
145 #define Red            0xF800\r
146 #define Magenta        0xF81F\r
147 #define Green          0x07E0\r
148 #define Cyan           0x7FFF\r
149 #define Yellow         0xFFE0\r
150 \r
151 #define Line0          0\r
152 #define Line1          24\r
153 #define Line2          48\r
154 #define Line3          72\r
155 #define Line4          96\r
156 #define Line5          120\r
157 #define Line6          144\r
158 #define Line7          168\r
159 #define Line8          192\r
160 #define Line9          216\r
161 \r
162 #define Horizontal     0x00\r
163 #define Vertical       0x01\r
164 \r
165 /* Exported macro ------------------------------------------------------------*/\r
166 /* Exported functions ------------------------------------------------------- */\r
167 /*----- High layer function -----*/\r
168 void LCD_Setup(void);\r
169 void STM3210D_LCD_Init(void);\r
170 void LCD_SetTextColor(vu16 Color);\r
171 void LCD_SetBackColor(vu16 Color);\r
172 void LCD_ClearLine(u8 Line);\r
173 void LCD_Clear(u16 Color);\r
174 void LCD_SetCursor(u8 Xpos, u16 Ypos);\r
175 void LCD_DrawChar(u8 Xpos, u16 Ypos, uc16 *c);\r
176 void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii);\r
177 void LCD_DisplayStringLine(u8 Line, u8 *ptr);\r
178 void LCD_SetDisplayWindow(u8 Xpos, u16 Ypos, u8 Height, u16 Width);\r
179 void LCD_WindowModeDisable(void);\r
180 void LCD_DrawLine(u8 Xpos, u16 Ypos, u16 Length, u8 Direction);\r
181 void LCD_DrawRect(u8 Xpos, u16 Ypos, u8 Height, u16 Width);\r
182 void LCD_DrawCircle(u8 Xpos, u16 Ypos, u16 Radius);\r
183 void LCD_DrawMonoPict(uc32 *Pict);\r
184 //void LCD_DrawBMP(u32 BmpAddress);\r
185 void LCD_DrawBMP(uc16 *BmpAddress);\r
186 /*----- Medium layer function -----*/\r
187 void LCD_nCS_StartByte(u8 Start_Byte);\r
188 void LCD_WriteRegIndex(u8 LCD_Reg);\r
189 void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue);\r
190 void LCD_WriteRAM_Prepare(void);\r
191 void LCD_WriteRAMWord(u16 RGB_Code);\r
192 u16 LCD_ReadReg(u8 LCD_Reg);\r
193 void LCD_WriteRAM(u16 RGB_Code);\r
194 void LCD_PowerOn(void);\r
195 void LCD_DisplayOn(void);\r
196 void LCD_DisplayOff(void);\r
197 \r
198 /*----- Low layer function -----*/\r
199 void LCD_CtrlLinesConfig(void);\r
200 void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, u16 CtrlPins, BitAction BitVal);\r
201 void LCD_SPIConfig(void);\r
202 \r
203 #endif /* __LCD_H */\r
204 \r
205 /******************* (C) COPYRIGHT 2008 STMicroelectronics *****END OF FILE****/\r