comparison libs/STM32F10x_StdPeriph_Lib_V3.5.0/Utilities/STM32_EVAL/STM3210E_EVAL/stm3210e_eval_lcd.h @ 0:c59513fd84fb

Initial commit of STM32 test code.
author Daniel O'Connor <darius@dons.net.au>
date Mon, 03 Oct 2011 21:19:15 +1030
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:c59513fd84fb
1 /**
2 ******************************************************************************
3 * @file stm3210e_eval_lcd.h
4 * @author MCD Application Team
5 * @version V4.5.0
6 * @date 07-March-2011
7 * @brief This file contains all the functions prototypes for the stm3210e_eval_lcd
8 * firmware driver.
9 ******************************************************************************
10 * @attention
11 *
12 * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
13 * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
14 * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
15 * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
16 * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
17 * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
18 *
19 * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
20 ******************************************************************************
21 */
22
23 /* Define to prevent recursive inclusion -------------------------------------*/
24 #ifndef __STM3210E_EVAL_LCD_H
25 #define __STM3210E_EVAL_LCD_H
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 /* Includes ------------------------------------------------------------------*/
32 #include "stm32f10x.h"
33 #include "../Common/fonts.h"
34
35 /** @addtogroup Utilities
36 * @{
37 */
38
39 /** @addtogroup STM32_EVAL
40 * @{
41 */
42
43 /** @addtogroup STM3210E_EVAL
44 * @{
45 */
46
47 /** @addtogroup STM3210E_EVAL_LCD
48 * @{
49 */
50
51 /** @defgroup STM3210E_EVAL_LCD_Exported_Types
52 * @{
53 */
54 typedef struct
55 {
56 int16_t X;
57 int16_t Y;
58 } Point, * pPoint;
59 /**
60 * @}
61 */
62
63 /** @defgroup STM3210E_EVAL_LCD_Exported_Constants
64 * @{
65 */
66
67 /**
68 * @brief Uncomment the line below if you want to use user defined Delay function
69 * (for precise timing), otherwise default _delay_ function defined within
70 * this driver is used (less precise timing).
71 */
72 /* #define USE_Delay */
73
74 #ifdef USE_Delay
75 #include "main.h"
76 #define _delay_ Delay /* !< User can provide more timing precise _delay_ function
77 (with 10ms time base), using SysTick for example */
78 #else
79 #define _delay_ delay /* !< Default _delay_ function with less precise timing */
80 #endif
81
82 /**
83 * @brief LCD Registers
84 */
85 #define LCD_REG_0 0x00
86 #define LCD_REG_1 0x01
87 #define LCD_REG_2 0x02
88 #define LCD_REG_3 0x03
89 #define LCD_REG_4 0x04
90 #define LCD_REG_5 0x05
91 #define LCD_REG_6 0x06
92 #define LCD_REG_7 0x07
93 #define LCD_REG_8 0x08
94 #define LCD_REG_9 0x09
95 #define LCD_REG_10 0x0A
96 #define LCD_REG_12 0x0C
97 #define LCD_REG_13 0x0D
98 #define LCD_REG_14 0x0E
99 #define LCD_REG_15 0x0F
100 #define LCD_REG_16 0x10
101 #define LCD_REG_17 0x11
102 #define LCD_REG_18 0x12
103 #define LCD_REG_19 0x13
104 #define LCD_REG_20 0x14
105 #define LCD_REG_21 0x15
106 #define LCD_REG_22 0x16
107 #define LCD_REG_23 0x17
108 #define LCD_REG_24 0x18
109 #define LCD_REG_25 0x19
110 #define LCD_REG_26 0x1A
111 #define LCD_REG_27 0x1B
112 #define LCD_REG_28 0x1C
113 #define LCD_REG_29 0x1D
114 #define LCD_REG_30 0x1E
115 #define LCD_REG_31 0x1F
116 #define LCD_REG_32 0x20
117 #define LCD_REG_33 0x21
118 #define LCD_REG_34 0x22
119 #define LCD_REG_36 0x24
120 #define LCD_REG_37 0x25
121 #define LCD_REG_40 0x28
122 #define LCD_REG_41 0x29
123 #define LCD_REG_43 0x2B
124 #define LCD_REG_45 0x2D
125 #define LCD_REG_48 0x30
126 #define LCD_REG_49 0x31
127 #define LCD_REG_50 0x32
128 #define LCD_REG_51 0x33
129 #define LCD_REG_52 0x34
130 #define LCD_REG_53 0x35
131 #define LCD_REG_54 0x36
132 #define LCD_REG_55 0x37
133 #define LCD_REG_56 0x38
134 #define LCD_REG_57 0x39
135 #define LCD_REG_58 0x3A
136 #define LCD_REG_59 0x3B
137 #define LCD_REG_60 0x3C
138 #define LCD_REG_61 0x3D
139 #define LCD_REG_62 0x3E
140 #define LCD_REG_63 0x3F
141 #define LCD_REG_64 0x40
142 #define LCD_REG_65 0x41
143 #define LCD_REG_66 0x42
144 #define LCD_REG_67 0x43
145 #define LCD_REG_68 0x44
146 #define LCD_REG_69 0x45
147 #define LCD_REG_70 0x46
148 #define LCD_REG_71 0x47
149 #define LCD_REG_72 0x48
150 #define LCD_REG_73 0x49
151 #define LCD_REG_74 0x4A
152 #define LCD_REG_75 0x4B
153 #define LCD_REG_76 0x4C
154 #define LCD_REG_77 0x4D
155 #define LCD_REG_78 0x4E
156 #define LCD_REG_79 0x4F
157 #define LCD_REG_80 0x50
158 #define LCD_REG_81 0x51
159 #define LCD_REG_82 0x52
160 #define LCD_REG_83 0x53
161 #define LCD_REG_96 0x60
162 #define LCD_REG_97 0x61
163 #define LCD_REG_106 0x6A
164 #define LCD_REG_118 0x76
165 #define LCD_REG_128 0x80
166 #define LCD_REG_129 0x81
167 #define LCD_REG_130 0x82
168 #define LCD_REG_131 0x83
169 #define LCD_REG_132 0x84
170 #define LCD_REG_133 0x85
171 #define LCD_REG_134 0x86
172 #define LCD_REG_135 0x87
173 #define LCD_REG_136 0x88
174 #define LCD_REG_137 0x89
175 #define LCD_REG_139 0x8B
176 #define LCD_REG_140 0x8C
177 #define LCD_REG_141 0x8D
178 #define LCD_REG_143 0x8F
179 #define LCD_REG_144 0x90
180 #define LCD_REG_145 0x91
181 #define LCD_REG_146 0x92
182 #define LCD_REG_147 0x93
183 #define LCD_REG_148 0x94
184 #define LCD_REG_149 0x95
185 #define LCD_REG_150 0x96
186 #define LCD_REG_151 0x97
187 #define LCD_REG_152 0x98
188 #define LCD_REG_153 0x99
189 #define LCD_REG_154 0x9A
190 #define LCD_REG_157 0x9D
191 #define LCD_REG_192 0xC0
192 #define LCD_REG_193 0xC1
193 #define LCD_REG_229 0xE5
194
195 /**
196 * @brief LCD color
197 */
198 #define LCD_COLOR_WHITE 0xFFFF
199 #define LCD_COLOR_BLACK 0x0000
200 #define LCD_COLOR_GREY 0xF7DE
201 #define LCD_COLOR_BLUE 0x001F
202 #define LCD_COLOR_BLUE2 0x051F
203 #define LCD_COLOR_RED 0xF800
204 #define LCD_COLOR_MAGENTA 0xF81F
205 #define LCD_COLOR_GREEN 0x07E0
206 #define LCD_COLOR_CYAN 0x7FFF
207 #define LCD_COLOR_YELLOW 0xFFE0
208
209 /**
210 * @brief LCD Lines depending on the chosen fonts.
211 */
212 #define LCD_LINE_0 LINE(0)
213 #define LCD_LINE_1 LINE(1)
214 #define LCD_LINE_2 LINE(2)
215 #define LCD_LINE_3 LINE(3)
216 #define LCD_LINE_4 LINE(4)
217 #define LCD_LINE_5 LINE(5)
218 #define LCD_LINE_6 LINE(6)
219 #define LCD_LINE_7 LINE(7)
220 #define LCD_LINE_8 LINE(8)
221 #define LCD_LINE_9 LINE(9)
222 #define LCD_LINE_10 LINE(10)
223 #define LCD_LINE_11 LINE(11)
224 #define LCD_LINE_12 LINE(12)
225 #define LCD_LINE_13 LINE(13)
226 #define LCD_LINE_14 LINE(14)
227 #define LCD_LINE_15 LINE(15)
228 #define LCD_LINE_16 LINE(16)
229 #define LCD_LINE_17 LINE(17)
230 #define LCD_LINE_18 LINE(18)
231 #define LCD_LINE_19 LINE(19)
232 #define LCD_LINE_20 LINE(20)
233 #define LCD_LINE_21 LINE(21)
234 #define LCD_LINE_22 LINE(22)
235 #define LCD_LINE_23 LINE(23)
236 #define LCD_LINE_24 LINE(24)
237 #define LCD_LINE_25 LINE(25)
238 #define LCD_LINE_26 LINE(26)
239 #define LCD_LINE_27 LINE(27)
240 #define LCD_LINE_28 LINE(28)
241 #define LCD_LINE_29 LINE(29)
242
243 /**
244 * @brief LCD default font
245 */
246 #define LCD_DEFAULT_FONT Font16x24
247
248 /**
249 * @brief LCD Direction
250 */
251 #define LCD_DIR_HORIZONTAL 0x0000
252 #define LCD_DIR_VERTICAL 0x0001
253
254 /**
255 * @brief LCD Size (Width and Height)
256 */
257 #define LCD_PIXEL_WIDTH 0x0140
258 #define LCD_PIXEL_HEIGHT 0x00F0
259
260 /**
261 * @}
262 */
263
264 /** @defgroup STM3210E_EVAL_LCD_Exported_Macros
265 * @{
266 */
267 #define ASSEMBLE_RGB(R, G, B) ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3))
268 /**
269 * @}
270 */
271
272 /** @defgroup STM3210E_EVAL_LCD_Exported_Functions
273 * @{
274 */
275 /** @defgroup
276 * @{
277 */
278 void LCD_DeInit(void);
279 void STM3210E_LCD_Init(void);
280 void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor);
281 void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor);
282 void LCD_SetTextColor(__IO uint16_t Color);
283 void LCD_SetBackColor(__IO uint16_t Color);
284 void LCD_ClearLine(uint8_t Line);
285 void LCD_Clear(uint16_t Color);
286 void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos);
287 void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c);
288 void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii);
289 void LCD_SetFont(sFONT *fonts);
290 sFONT *LCD_GetFont(void);
291 void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr);
292 void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
293 void LCD_WindowModeDisable(void);
294 void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction);
295 void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
296 void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius);
297 void LCD_DrawMonoPict(const uint32_t *Pict);
298 void LCD_WriteBMP(uint32_t BmpAddress);
299 void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);
300 void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height);
301 void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
302 void LCD_PolyLine(pPoint Points, uint16_t PointCount);
303 void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount);
304 void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount);
305 void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount);
306 void LCD_FillPolyLine(pPoint Points, uint16_t PointCount);
307 /**
308 * @}
309 */
310
311 /** @defgroup
312 * @{
313 */
314 void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue);
315 uint16_t LCD_ReadReg(uint8_t LCD_Reg);
316 void LCD_WriteRAM_Prepare(void);
317 void LCD_WriteRAM(uint16_t RGB_Code);
318 uint16_t LCD_ReadRAM(void);
319 void LCD_PowerOn(void);
320 void LCD_DisplayOn(void);
321 void LCD_DisplayOff(void);
322 /**
323 * @}
324 */
325
326 /** @defgroup
327 * @{
328 */
329 void LCD_CtrlLinesConfig(void);
330 void LCD_FSMCConfig(void);
331 /**
332 * @}
333 */
334
335 /**
336 * @}
337 */
338 #ifdef __cplusplus
339 }
340 #endif
341
342 #endif /* __STM3210E_EVAL_LCD_H */
343 /**
344 * @}
345 */
346
347 /**
348 * @}
349 */
350
351 /**
352 * @}
353 */
354
355 /**
356 * @}
357 */
358
359 /******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/