OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [CORTEX_STM32L152_IAR/] [system_and_ST_code/] [STM32L152_EVAL/] [stm32l152_eval_lcd.h] - Blame information for rev 582

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 582 jeremybenn
/**
2
  ******************************************************************************
3
  * @file    stm32l152_eval_lcd.h
4
  * @author  MCD Application Team
5
  * @version V4.4.0RC1
6
  * @date    07/02/2010
7
  * @brief   This file contains all the functions prototypes for the stm32l152_eval_lcd
8
  *          firmware driver.
9
  ******************************************************************************
10
  * @copy
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 2010 STMicroelectronics</center></h2>
20
  */
21
 
22
/* Define to prevent recursive inclusion -------------------------------------*/
23
#ifndef __STM32L152_EVAL_LCD_H
24
#define __STM32L152_EVAL_LCD_H
25
 
26
#ifdef __cplusplus
27
 extern "C" {
28
#endif
29
 
30
/* Includes ------------------------------------------------------------------*/
31
#include "stm32l1xx.h"
32
#include "../Common/fonts.h"
33
 
34
/** @addtogroup Utilities
35
  * @{
36
  */
37
 
38
/** @addtogroup STM32_EVAL
39
  * @{
40
  */
41
 
42
/** @addtogroup STM32L152_EVAL
43
  * @{
44
  */
45
 
46
/** @addtogroup STM32L152_EVAL_LCD
47
  * @{
48
  */
49
 
50
 
51
/** @defgroup STM32L152_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 STM32L152_EVAL_LCD_Exported_Constants
64
  * @{
65
  */
66
 
67
/**
68
 * @brief Uncomment the line below if you want to use LCD_DrawBMP function to
69
 *        display a bitmap picture on the LCD. This function assumes that the bitmap
70
 *        file is loaded in the SPI Flash (mounted on STM32L152-EVAL board), however
71
 *        user can tailor it according to his application hardware requirement.
72
 */
73
/*#define USE_LCD_DrawBMP*/
74
 
75
/**
76
 * @brief Uncomment the line below if you want to use user defined Delay function
77
 *        (for precise timing), otherwise default _delay_ function defined within
78
 *         this driver is used (less precise timing).
79
 */
80
/* #define USE_Delay */
81
 
82
#ifdef USE_Delay
83
#include "main.h"
84
 
85
  #define _delay_     Delay  /* !< User can provide more timing precise _delay_ function
86
                                   (with 10ms time base), using SysTick for example */
87
#else
88
  #define _delay_     delay      /* !< Default _delay_ function with less precise timing */
89
#endif
90
 
91
 
92
/**
93
  * @brief  LCD Control pins
94
  */
95
#define LCD_NCS_PIN             GPIO_Pin_2
96
#define LCD_NCS_GPIO_PORT       GPIOH
97
#define LCD_NCS_GPIO_CLK        RCC_AHBPeriph_GPIOH
98
 
99
/**
100
  * @brief  LCD SPI Interface pins
101
  */
102
#define LCD_SPI_SCK_PIN               GPIO_Pin_13                    /* PE.13 */
103
#define LCD_SPI_SCK_GPIO_PORT         GPIOE                          /* GPIOE */
104
#define LCD_SPI_SCK_GPIO_CLK          RCC_AHBPeriph_GPIOE
105
#define LCD_SPI_SCK_SOURCE            GPIO_PinSource13
106
#define LCD_SPI_SCK_AF                GPIO_AF_SPI1
107
#define LCD_SPI_MISO_PIN              GPIO_Pin_14                    /* PE.14 */
108
#define LCD_SPI_MISO_GPIO_PORT        GPIOE                          /* GPIOE */
109
#define LCD_SPI_MISO_GPIO_CLK         RCC_AHBPeriph_GPIOE
110
#define LCD_SPI_MISO_SOURCE           GPIO_PinSource14
111
#define LCD_SPI_MISO_AF               GPIO_AF_SPI1
112
#define LCD_SPI_MOSI_PIN              GPIO_Pin_15                    /* PE.15 */
113
#define LCD_SPI_MOSI_GPIO_PORT        GPIOE                          /* GPIOE */
114
#define LCD_SPI_MOSI_GPIO_CLK         RCC_AHBPeriph_GPIOE
115
#define LCD_SPI_MOSI_SOURCE           GPIO_PinSource15
116
#define LCD_SPI_MOSI_AF               GPIO_AF_SPI1
117
#define LCD_SPI                       SPI1
118
#define LCD_SPI_CLK                   RCC_APB2Periph_SPI1
119
 
120
 
121
/**
122
  * @brief  LCD Registers
123
  */
124
#define LCD_REG_0             0x00
125
#define LCD_REG_1             0x01
126
#define LCD_REG_2             0x02
127
#define LCD_REG_3             0x03
128
#define LCD_REG_4             0x04
129
#define LCD_REG_5             0x05
130
#define LCD_REG_6             0x06
131
#define LCD_REG_7             0x07
132
#define LCD_REG_8             0x08
133
#define LCD_REG_9             0x09
134
#define LCD_REG_10            0x0A
135
#define LCD_REG_12            0x0C
136
#define LCD_REG_13            0x0D
137
#define LCD_REG_14            0x0E
138
#define LCD_REG_15            0x0F
139
#define LCD_REG_16            0x10
140
#define LCD_REG_17            0x11
141
#define LCD_REG_18            0x12
142
#define LCD_REG_19            0x13
143
#define LCD_REG_20            0x14
144
#define LCD_REG_21            0x15
145
#define LCD_REG_22            0x16
146
#define LCD_REG_23            0x17
147
#define LCD_REG_24            0x18
148
#define LCD_REG_25            0x19
149
#define LCD_REG_26            0x1A
150
#define LCD_REG_27            0x1B
151
#define LCD_REG_28            0x1C
152
#define LCD_REG_29            0x1D
153
#define LCD_REG_30            0x1E
154
#define LCD_REG_31            0x1F
155
#define LCD_REG_32            0x20
156
#define LCD_REG_33            0x21
157
#define LCD_REG_34            0x22
158
#define LCD_REG_36            0x24
159
#define LCD_REG_37            0x25
160
#define LCD_REG_40            0x28
161
#define LCD_REG_41            0x29
162
#define LCD_REG_43            0x2B
163
#define LCD_REG_45            0x2D
164
#define LCD_REG_48            0x30
165
#define LCD_REG_49            0x31
166
#define LCD_REG_50            0x32
167
#define LCD_REG_51            0x33
168
#define LCD_REG_52            0x34
169
#define LCD_REG_53            0x35
170
#define LCD_REG_54            0x36
171
#define LCD_REG_55            0x37
172
#define LCD_REG_56            0x38
173
#define LCD_REG_57            0x39
174
#define LCD_REG_59            0x3B
175
#define LCD_REG_60            0x3C
176
#define LCD_REG_61            0x3D
177
#define LCD_REG_62            0x3E
178
#define LCD_REG_63            0x3F
179
#define LCD_REG_64            0x40
180
#define LCD_REG_65            0x41
181
#define LCD_REG_66            0x42
182
#define LCD_REG_67            0x43
183
#define LCD_REG_68            0x44
184
#define LCD_REG_69            0x45
185
#define LCD_REG_70            0x46
186
#define LCD_REG_71            0x47
187
#define LCD_REG_72            0x48
188
#define LCD_REG_73            0x49
189
#define LCD_REG_74            0x4A
190
#define LCD_REG_75            0x4B
191
#define LCD_REG_76            0x4C
192
#define LCD_REG_77            0x4D
193
#define LCD_REG_78            0x4E
194
#define LCD_REG_79            0x4F
195
#define LCD_REG_80            0x50
196
#define LCD_REG_81            0x51
197
#define LCD_REG_82            0x52
198
#define LCD_REG_83            0x53
199
#define LCD_REG_96            0x60
200
#define LCD_REG_97            0x61
201
#define LCD_REG_106           0x6A
202
#define LCD_REG_118           0x76
203
#define LCD_REG_128           0x80
204
#define LCD_REG_129           0x81
205
#define LCD_REG_130           0x82
206
#define LCD_REG_131           0x83
207
#define LCD_REG_132           0x84
208
#define LCD_REG_133           0x85
209
#define LCD_REG_134           0x86
210
#define LCD_REG_135           0x87
211
#define LCD_REG_136           0x88
212
#define LCD_REG_137           0x89
213
#define LCD_REG_139           0x8B
214
#define LCD_REG_140           0x8C
215
#define LCD_REG_141           0x8D
216
#define LCD_REG_143           0x8F
217
#define LCD_REG_144           0x90
218
#define LCD_REG_145           0x91
219
#define LCD_REG_146           0x92
220
#define LCD_REG_147           0x93
221
#define LCD_REG_148           0x94
222
#define LCD_REG_149           0x95
223
#define LCD_REG_150           0x96
224
#define LCD_REG_151           0x97
225
#define LCD_REG_152           0x98
226
#define LCD_REG_153           0x99
227
#define LCD_REG_154           0x9A
228
#define LCD_REG_157           0x9D
229
#define LCD_REG_192           0xC0
230
#define LCD_REG_193           0xC1
231
#define LCD_REG_227           0xE3
232
#define LCD_REG_229           0xE5
233
#define LCD_REG_231           0xE7
234
#define LCD_REG_239           0xEF
235
 
236
 
237
/**
238
  * @brief  LCD color
239
  */
240
#define LCD_COLOR_WHITE          0xFFFF
241
#define LCD_COLOR_BLACK          0x0000
242
#define LCD_COLOR_GREY           0xF7DE
243
#define LCD_COLOR_BLUE           0x001F
244
#define LCD_COLOR_BLUE2          0x051F
245
#define LCD_COLOR_RED            0xF800
246
#define LCD_COLOR_MAGENTA        0xF81F
247
#define LCD_COLOR_GREEN          0x07E0
248
#define LCD_COLOR_CYAN           0x7FFF
249
#define LCD_COLOR_YELLOW         0xFFE0
250
 
251
/**
252
  * @brief  LCD Lines depending on the chosen fonts.
253
  */
254
#define LCD_LINE_0               LINE(0)
255
#define LCD_LINE_1               LINE(1)
256
#define LCD_LINE_2               LINE(2)
257
#define LCD_LINE_3               LINE(3)
258
#define LCD_LINE_4               LINE(4)
259
#define LCD_LINE_5               LINE(5)
260
#define LCD_LINE_6               LINE(6)
261
#define LCD_LINE_7               LINE(7)
262
#define LCD_LINE_8               LINE(8)
263
#define LCD_LINE_9               LINE(9)
264
#define LCD_LINE_10              LINE(10)
265
#define LCD_LINE_11              LINE(11)
266
#define LCD_LINE_12              LINE(12)
267
#define LCD_LINE_13              LINE(13)
268
#define LCD_LINE_14              LINE(14)
269
#define LCD_LINE_15              LINE(15)
270
#define LCD_LINE_16              LINE(16)
271
#define LCD_LINE_17              LINE(17)
272
#define LCD_LINE_18              LINE(18)
273
#define LCD_LINE_19              LINE(19)
274
#define LCD_LINE_20              LINE(20)
275
#define LCD_LINE_21              LINE(21)
276
#define LCD_LINE_22              LINE(22)
277
#define LCD_LINE_23              LINE(23)
278
#define LCD_LINE_24              LINE(24)
279
#define LCD_LINE_25              LINE(25)
280
#define LCD_LINE_26              LINE(26)
281
#define LCD_LINE_27              LINE(27)
282
#define LCD_LINE_28              LINE(28)
283
#define LCD_LINE_29              LINE(29)
284
 
285
 
286
/**
287
  * @brief LCD default font
288
  */
289
#define LCD_DEFAULT_FONT         Font16x24
290
 
291
/**
292
  * @brief  LCD Direction
293
  */
294
#define LCD_DIR_HORIZONTAL       0x0000
295
#define LCD_DIR_VERTICAL         0x0001
296
 
297
/**
298
  * @brief  LCD Size (Width and Height)
299
  */
300
#define LCD_PIXEL_WIDTH          0x0140
301
#define LCD_PIXEL_HEIGHT         0x00F0
302
 
303
/**
304
  * @}
305
  */
306
 
307
/** @defgroup STM32L152_EVAL_LCD_Exported_Macros
308
  * @{
309
  */
310
#define ASSEMBLE_RGB(R, G, B)    ((((R)& 0xF8) << 8) | (((G) & 0xFC) << 3) | (((B) & 0xF8) >> 3))
311
 
312
/**
313
  * @}
314
  */
315
 
316
/** @defgroup STM32L152_EVAL_LCD_Exported_Functions
317
  * @{
318
  */
319
void STM32L152_LCD_DeInit(void);
320
void LCD_Setup(void);
321
void STM32L152_LCD_Init(void);
322
void LCD_SetColors(__IO uint16_t _TextColor, __IO uint16_t _BackColor);
323
void LCD_GetColors(__IO uint16_t *_TextColor, __IO uint16_t *_BackColor);
324
void LCD_SetTextColor(__IO uint16_t Color);
325
void LCD_SetBackColor(__IO uint16_t Color);
326
void LCD_ClearLine(uint8_t Line);
327
void LCD_Clear(uint16_t Color);
328
void LCD_SetCursor(uint8_t Xpos, uint16_t Ypos);
329
void LCD_DrawChar(uint8_t Xpos, uint16_t Ypos, const uint16_t *c);
330
void LCD_DisplayChar(uint8_t Line, uint16_t Column, uint8_t Ascii);
331
void LCD_SetFont(sFONT *fonts);
332
sFONT *LCD_GetFont(void);
333
void LCD_DisplayStringLine(uint8_t Line, uint8_t *ptr);
334
void LCD_SetDisplayWindow(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
335
void LCD_WindowModeDisable(void);
336
void LCD_DrawLine(uint8_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction);
337
void LCD_DrawRect(uint8_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
338
void LCD_DrawCircle(uint8_t Xpos, uint16_t Ypos, uint16_t Radius);
339
void LCD_DrawMonoPict(const uint32_t *Pict);
340
void LCD_DrawBMP(uint32_t BmpAddress);
341
void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);
342
void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height);
343
void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
344
void LCD_PolyLine(pPoint Points, uint16_t PointCount);
345
void LCD_PolyLineRelative(pPoint Points, uint16_t PointCount);
346
void LCD_ClosedPolyLine(pPoint Points, uint16_t PointCount);
347
void LCD_ClosedPolyLineRelative(pPoint Points, uint16_t PointCount);
348
void LCD_FillPolyLine(pPoint Points, uint16_t PointCount);
349
void LCD_nCS_StartByte(uint8_t Start_Byte);
350
void LCD_WriteRegIndex(uint8_t LCD_Reg);
351
void LCD_WriteReg(uint8_t LCD_Reg, uint16_t LCD_RegValue);
352
void LCD_WriteRAM_Prepare(void);
353
void LCD_WriteRAMWord(uint16_t RGB_Code);
354
uint16_t LCD_ReadReg(uint8_t LCD_Reg);
355
void LCD_WriteRAM(uint16_t RGB_Code);
356
void LCD_PowerOn(void);
357
void LCD_DisplayOn(void);
358
void LCD_DisplayOff(void);
359
 
360
void LCD_CtrlLinesConfig(void);
361
void LCD_CtrlLinesWrite(GPIO_TypeDef* GPIOx, uint16_t CtrlPins, BitAction BitVal);
362
void LCD_SPIConfig(void);
363
 
364
/**
365
  * @}
366
  */
367
 
368
#ifdef __cplusplus
369
}
370
#endif
371
 
372
#endif /* __STM32L152_EVAL_LCD_H */
373
 
374
 
375
/**
376
  * @}
377
  */
378
 
379
/**
380
  * @}
381
  */
382
 
383
/**
384
  * @}
385
  */
386
 
387
/**
388
  * @}
389
  */
390
 
391
/******************* (C) COPYRIGHT 2010 STMicroelectronics *****END OF FILE****/

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.