Select one of the symbols to view example projects that use it.
 
Outline
#define __STM32469I_DISCOVERY_LCD_H
#include "../Components/otm8009a/otm8009a.h"
#include "../Components/nt35510/nt35510.h"
#include "stm32469i_discovery_sdram.h"
#include "stm32469i_discovery.h"
#include "../../../Utilities/Fonts/fonts.h"
#include <string.h>
#define LCD_LayerCfgTypeDef
#define LCD_FB_START_ADDRESS
#define LTDC_MAX_LAYER_NUMBER
#define LTDC_ACTIVE_LAYER_BACKGROUND
#define LTDC_ACTIVE_LAYER_FOREGROUND
#define LTDC_NB_OF_LAYERS
#define LTDC_DEFAULT_ACTIVE_LAYER
#define LCD_OK
#define LCD_ERROR
#define LCD_TIMEOUT
#define LCD_OTM8009A_ID
#define LCD_COLOR_BLUE
#define LCD_COLOR_GREEN
#define LCD_COLOR_RED
#define LCD_COLOR_CYAN
#define LCD_COLOR_MAGENTA
#define LCD_COLOR_YELLOW
#define LCD_COLOR_LIGHTBLUE
#define LCD_COLOR_LIGHTGREEN
#define LCD_COLOR_LIGHTRED
#define LCD_COLOR_LIGHTCYAN
#define LCD_COLOR_LIGHTMAGENTA
#define LCD_COLOR_LIGHTYELLOW
#define LCD_COLOR_DARKBLUE
#define LCD_COLOR_DARKGREEN
#define LCD_COLOR_DARKRED
#define LCD_COLOR_DARKCYAN
#define LCD_COLOR_DARKMAGENTA
#define LCD_COLOR_DARKYELLOW
#define LCD_COLOR_WHITE
#define LCD_COLOR_LIGHTGRAY
#define LCD_COLOR_GRAY
#define LCD_COLOR_DARKGRAY
#define LCD_COLOR_BLACK
#define LCD_COLOR_BROWN
#define LCD_COLOR_ORANGE
#define LCD_COLOR_TRANSPARENT
#define LCD_DEFAULT_FONT
#define LCD_DSI_PIXEL_DATA_FMT_RBG888
#define LCD_DSI_PIXEL_DATA_FMT_RBG565
LCD_DrawPropTypeDef
Point
pPoint
Text_AlignModeTypdef
LCD_OrientationTypeDef
BSP_LCD_DMA2D_IRQHandler();
BSP_LCD_DSI_IRQHandler();
BSP_LCD_LTDC_IRQHandler();
BSP_LCD_LTDC_ER_IRQHandler();
BSP_LCD_Init();
BSP_LCD_InitEx(LCD_OrientationTypeDef);
BSP_LCD_MspDeInit();
BSP_LCD_MspInit();
BSP_LCD_Reset();
BSP_LCD_GetXSize();
BSP_LCD_GetYSize();
BSP_LCD_SetXSize(uint32_t);
BSP_LCD_SetYSize(uint32_t);
BSP_LCD_LayerDefaultInit(uint16_t, uint32_t);
BSP_LCD_SetTransparency(uint32_t, uint8_t);
BSP_LCD_SetLayerAddress(uint32_t, uint32_t);
BSP_LCD_SetColorKeying(uint32_t, uint32_t);
BSP_LCD_ResetColorKeying(uint32_t);
BSP_LCD_SetLayerWindow(uint16_t, uint16_t, uint16_t, uint16_t, uint16_t);
BSP_LCD_SelectLayer(uint32_t);
BSP_LCD_SetLayerVisible(uint32_t, FunctionalState);
BSP_LCD_SetTextColor(uint32_t);
BSP_LCD_GetTextColor();
BSP_LCD_SetBackColor(uint32_t);
BSP_LCD_GetBackColor();
BSP_LCD_SetFont(sFONT *);
BSP_LCD_GetFont();
BSP_LCD_ReadPixel(uint16_t, uint16_t);
BSP_LCD_DrawPixel(uint16_t, uint16_t, uint32_t);
BSP_LCD_Clear(uint32_t);
BSP_LCD_ClearStringLine(uint32_t);
BSP_LCD_DisplayStringAtLine(uint16_t, uint8_t *);
BSP_LCD_DisplayStringAt(uint16_t, uint16_t, uint8_t *, Text_AlignModeTypdef);
BSP_LCD_DisplayChar(uint16_t, uint16_t, uint8_t);
BSP_LCD_DrawHLine(uint16_t, uint16_t, uint16_t);
BSP_LCD_DrawVLine(uint16_t, uint16_t, uint16_t);
BSP_LCD_DrawLine(uint16_t, uint16_t, uint16_t, uint16_t);
BSP_LCD_DrawRect(uint16_t, uint16_t, uint16_t, uint16_t);
BSP_LCD_DrawCircle(uint16_t, uint16_t, uint16_t);
BSP_LCD_DrawPolygon(pPoint, uint16_t);
BSP_LCD_DrawEllipse(int, int, int, int);
BSP_LCD_DrawBitmap(uint32_t, uint32_t, uint8_t *);
BSP_LCD_FillRect(uint16_t, uint16_t, uint16_t, uint16_t);
BSP_LCD_FillCircle(uint16_t, uint16_t, uint16_t);
BSP_LCD_FillPolygon(pPoint, uint16_t);
BSP_LCD_FillEllipse(int, int, int, int);
BSP_LCD_DisplayOff();
BSP_LCD_DisplayOn();
hdma2d_eval;
Files
loading...
CodeScopeSTM32 Libraries and SamplesSTM32469I-Discoverystm32469i_discovery_lcd.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/** ****************************************************************************** * @file stm32469i_discovery_lcd.h * @author MCD Application Team * @brief This file contains the common defines and functions prototypes for * the stm32469i_discovery_lcd.c driver. ****************************************************************************** * @attention * * Copyright (c) 2017 STMicroelectronics. * All rights reserved. * * This software is licensed under terms that can be found in the LICENSE file * in the root directory of this software component. * If no LICENSE file comes with this software, it is provided AS-IS. * ****************************************************************************** *//* ... */ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __STM32469I_DISCOVERY_LCD_H #define __STM32469I_DISCOVERY_LCD_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ /* Include LCD component Driver */ /* Include OTM8009A LCD Driver IC driver code */ #include "../Components/otm8009a/otm8009a.h" /* Include NT35510 LCD Driver IC driver code */ #include "../Components/nt35510/nt35510.h" /* Include SDRAM Driver */ #include "stm32469i_discovery_sdram.h" #include "stm32469i_discovery.h" #include "../../../Utilities/Fonts/fonts.h" #include <string.h> /* use of memset() */ 6 includes /** @addtogroup BSP * @{ *//* ... */ /** @addtogroup STM32469I_Discovery * @{ *//* ... */ /** @addtogroup STM32469I-Discovery_LCD * @{ *//* ... */ /** @defgroup STM32469I-Discovery_LCD_Exported_Constants STM32469I Discovery LCD Exported Constants * @{ *//* ... */ #define LCD_LayerCfgTypeDef LTDC_LayerCfgTypeDef /** * @brief LCD FB_StartAddress *//* ... */ #define LCD_FB_START_ADDRESS ((uint32_t)0xC0000000) /** @brief Maximum number of LTDC layers *//* ... */ #define LTDC_MAX_LAYER_NUMBER ((uint32_t) 2) /** @brief LTDC Background layer index *//* ... */ #define LTDC_ACTIVE_LAYER_BACKGROUND ((uint32_t) 0) /** @brief LTDC Foreground layer index *//* ... */ #define LTDC_ACTIVE_LAYER_FOREGROUND ((uint32_t) 1) /** @brief Number of LTDC layers *//* ... */ #define LTDC_NB_OF_LAYERS ((uint32_t) 2) /** @brief LTDC Default used layer index *//* ... */ #define LTDC_DEFAULT_ACTIVE_LAYER LTDC_ACTIVE_LAYER_FOREGROUND /** * @brief LCD status structure definition *//* ... */ #define LCD_OK 0x00 #define LCD_ERROR 0x01 #define LCD_TIMEOUT 0x02 /** * @brief LCD Display OTM8009A ID *//* ... */ #define LCD_OTM8009A_ID ((uint32_t) 0) /** * @brief LCD color definitions values * in ARGB8888 format. *//* ... */ /** @brief Blue value in ARGB8888 format *//* ... */ #define LCD_COLOR_BLUE ((uint32_t) 0xFF0000FF) /** @brief Green value in ARGB8888 format *//* ... */ #define LCD_COLOR_GREEN ((uint32_t) 0xFF00FF00) /** @brief Red value in ARGB8888 format *//* ... */ #define LCD_COLOR_RED ((uint32_t) 0xFFFF0000) /** @brief Cyan value in ARGB8888 format *//* ... */ #define LCD_COLOR_CYAN ((uint32_t) 0xFF00FFFF) /** @brief Magenta value in ARGB8888 format *//* ... */ #define LCD_COLOR_MAGENTA ((uint32_t) 0xFFFF00FF) /** @brief Yellow value in ARGB8888 format *//* ... */ #define LCD_COLOR_YELLOW ((uint32_t) 0xFFFFFF00) /** @brief Light Blue value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTBLUE ((uint32_t) 0xFF8080FF) /** @brief Light Green value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTGREEN ((uint32_t) 0xFF80FF80) /** @brief Light Red value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTRED ((uint32_t) 0xFFFF8080) /** @brief Light Cyan value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTCYAN ((uint32_t) 0xFF80FFFF) /** @brief Light Magenta value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTMAGENTA ((uint32_t) 0xFFFF80FF) /** @brief Light Yellow value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTYELLOW ((uint32_t) 0xFFFFFF80) /** @brief Dark Blue value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKBLUE ((uint32_t) 0xFF000080) /** @brief Light Dark Green value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKGREEN ((uint32_t) 0xFF008000) /** @brief Light Dark Red value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKRED ((uint32_t) 0xFF800000) /** @brief Dark Cyan value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKCYAN ((uint32_t) 0xFF008080) /** @brief Dark Magenta value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKMAGENTA ((uint32_t) 0xFF800080) /** @brief Dark Yellow value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKYELLOW ((uint32_t) 0xFF808000) /** @brief White value in ARGB8888 format *//* ... */ #define LCD_COLOR_WHITE ((uint32_t) 0xFFFFFFFF) /** @brief Light Gray value in ARGB8888 format *//* ... */ #define LCD_COLOR_LIGHTGRAY ((uint32_t) 0xFFD3D3D3) /** @brief Gray value in ARGB8888 format *//* ... */ #define LCD_COLOR_GRAY ((uint32_t) 0xFF808080) /** @brief Dark Gray value in ARGB8888 format *//* ... */ #define LCD_COLOR_DARKGRAY ((uint32_t) 0xFF404040) /** @brief Black value in ARGB8888 format *//* ... */ #define LCD_COLOR_BLACK ((uint32_t) 0xFF000000) /** @brief Brown value in ARGB8888 format *//* ... */ #define LCD_COLOR_BROWN ((uint32_t) 0xFFA52A2A) /** @brief Orange value in ARGB8888 format *//* ... */ #define LCD_COLOR_ORANGE ((uint32_t) 0xFFFFA500) /** @brief Transparent value in ARGB8888 format *//* ... */ #define LCD_COLOR_TRANSPARENT ((uint32_t) 0xFF000000) /** * @brief LCD default font *//* ... */ #define LCD_DEFAULT_FONT Font24 /** * @brief Possible values of * pixel data format (ie color coding) transmitted on DSI Data lane in DSI packets *//* ... */ #define LCD_DSI_PIXEL_DATA_FMT_RBG888 DSI_RGB888 /*!< DSI packet pixel format chosen is RGB888 : 24 bpp */ #define LCD_DSI_PIXEL_DATA_FMT_RBG565 DSI_RGB565 /*!< DSI packet pixel format chosen is RGB565 : 16 bpp */ 40 defines /** * @} *//* ... */ /** @defgroup STM32469I-Discovery_LCD_Exported_Types STM32469I Discovery LCD Exported Types * @{ *//* ... */ /** * @brief LCD Drawing main properties *//* ... */ typedef struct { uint32_t TextColor; /*!< Specifies the color of text */ uint32_t BackColor; /*!< Specifies the background color below the text */ sFONT *pFont; /*!< Specifies the font used for the text */ ...} LCD_DrawPropTypeDef; /** * @brief LCD Drawing point (pixel) geometric definition *//* ... */ typedef struct { int16_t X; /*!< geometric X position of drawing */ int16_t Y; /*!< geometric Y position of drawing */ ...} Point; /** * @brief Pointer on LCD Drawing point (pixel) geometric definition *//* ... */ typedef Point * pPoint; /** * @brief LCD drawing Line alignment mode definitions *//* ... */ typedef enum { CENTER_MODE = 0x01, /*!< Center mode */ RIGHT_MODE = 0x02, /*!< Right mode */ LEFT_MODE = 0x03 /*!< Left mode */ ...} Text_AlignModeTypdef; /** * @brief LCD_OrientationTypeDef * Possible values of Display Orientation *//* ... */ typedef enum { LCD_ORIENTATION_PORTRAIT = 0x00, /*!< Portrait orientation choice of LCD screen */ LCD_ORIENTATION_LANDSCAPE = 0x01, /*!< Landscape orientation choice of LCD screen */ LCD_ORIENTATION_INVALID = 0x02 /*!< Invalid orientation choice of LCD screen */ ...} LCD_OrientationTypeDef; /** * @} *//* ... */ /** @defgroup STM32469I-Discovery_LCD_Exported_Macro STM32469I Discovery LCD Exported Macro * @{ *//* ... */ /** * @} *//* ... */ /** @defgroup STM32469I-Discovery_LCD_Exported_Functions STM32469I Discovery LCD Exported Functions * @{ *//* ... */ void BSP_LCD_DMA2D_IRQHandler(void); void BSP_LCD_DSI_IRQHandler(void); void BSP_LCD_LTDC_IRQHandler(void); void BSP_LCD_LTDC_ER_IRQHandler(void); uint8_t BSP_LCD_Init(void); uint8_t BSP_LCD_InitEx(LCD_OrientationTypeDef orientation); void BSP_LCD_MspDeInit(void); void BSP_LCD_MspInit(void); void BSP_LCD_Reset(void); uint32_t BSP_LCD_GetXSize(void); uint32_t BSP_LCD_GetYSize(void); void BSP_LCD_SetXSize(uint32_t imageWidthPixels); void BSP_LCD_SetYSize(uint32_t imageHeightPixels); void BSP_LCD_LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address); void BSP_LCD_SetTransparency(uint32_t LayerIndex, uint8_t Transparency); void BSP_LCD_SetLayerAddress(uint32_t LayerIndex, uint32_t Address); void BSP_LCD_SetColorKeying(uint32_t LayerIndex, uint32_t RGBValue); void BSP_LCD_ResetColorKeying(uint32_t LayerIndex); void BSP_LCD_SetLayerWindow(uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); void BSP_LCD_SelectLayer(uint32_t LayerIndex); void BSP_LCD_SetLayerVisible(uint32_t LayerIndex, FunctionalState State); void BSP_LCD_SetTextColor(uint32_t Color); uint32_t BSP_LCD_GetTextColor(void); void BSP_LCD_SetBackColor(uint32_t Color); uint32_t BSP_LCD_GetBackColor(void); void BSP_LCD_SetFont(sFONT *fonts); sFONT *BSP_LCD_GetFont(void); uint32_t BSP_LCD_ReadPixel(uint16_t Xpos, uint16_t Ypos); void BSP_LCD_DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t pixel); void BSP_LCD_Clear(uint32_t Color); void BSP_LCD_ClearStringLine(uint32_t Line); void BSP_LCD_DisplayStringAtLine(uint16_t Line, uint8_t *ptr); void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode); void BSP_LCD_DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii); void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); void BSP_LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); void BSP_LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); void BSP_LCD_DrawPolygon(pPoint Points, uint16_t PointCount); void BSP_LCD_DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius); void BSP_LCD_DrawBitmap(uint32_t Xpos, uint32_t Ypos, uint8_t *pbmp); void BSP_LCD_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); void BSP_LCD_FillPolygon(pPoint Points, uint16_t PointCount); void BSP_LCD_FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius); void BSP_LCD_DisplayOff(void); void BSP_LCD_DisplayOn(void); /** * @} *//* ... */ /** @defgroup STM32469I-EVAL_LCD_Exported_Variables STM32469I EVAL LCD Exported Variables * @{ *//* ... */ /* @brief DMA2D handle variable */ extern DMA2D_HandleTypeDef hdma2d_eval; /** * @} *//* ... */ /** @defgroup STM32469I-Discovery_LCD_Exported_Variables STM32469I Discovery LCD Exported Variables * @{ *//* ... */ /** * @} *//* ... */ /** * @} *//* ... */ /** * @} *//* ... */ /** * @} *//* ... */ #ifdef __cplusplus }extern "C" { ... } #endif /* ... */ #endif /* __STM32469I_DISCOVERY_LCD_H */