TM STM32F4xx Libraries  v1.0.0
Libraries for STM32F4xx devices from Tilen Majerle
tm_stm32f4_lcd.h
1 
30 #ifndef TM_LIBRARY_H
31 #define TM_LIBRARY_H 100
32 
33 /* C++ detection */
34 #ifdef __cplusplus
35 extern C {
36 #endif
37 
64 #include "stm32f4xx.h"
65 #include "stm32f4xx_rcc.h"
66 #include "stm32f4xx_ltdc.h"
67 #include "defines.h"
68 #include "tm_stm32f4_sdram.h"
69 #include "tm_stm32f4_gpio.h"
70 #include "tm_stm32f4_fonts.h"
71 #include "tm_stm32f4_dma2d_graphic.h"
72 
79 #if defined(USE_LCD_STM324x9_EVAL) || defined(TM_DISCO_STM324x9_EVAL)
80 
81 /* Check define */
82 #ifndef USE_LCD_STM324x9_EVAL
83 #define USE_LCD_STM324x9_EVAL
84 #endif
85 
86 /* Set pixel settings */
87 #define LCD_PIXEL_WIDTH 640
88 #define LCD_PIXEL_HEIGHT 480
89 
90 #else
91 
92 /* STM32F429-Discovery */
93 #define LCD_PIXEL_WIDTH 240
94 #define LCD_PIXEL_HEIGHT 320
95 
96 #endif
97 
98 /* Frame settings */
99 #define LCD_FRAME_BUFFER (SDRAM_START_ADR)
100 #define LCD_BUFFER_OFFSET ((uint32_t)(LCD_PIXEL_WIDTH * LCD_PIXEL_HEIGHT * 2))
101 
112 typedef enum _TM_LCD_Result_t {
113  TM_LCD_Result_Ok = 0x00,
114  TM_LCD_Result_Error,
115  TM_LCD_Result_SDRAM_Error
116 } TM_LCD_Result_t;
117 
128 TM_LCD_Result_t TM_LCD_Init(void);
129 TM_LCD_Result_t TM_LCD_Fill(uint32_t color);
130 TM_LCD_Result_t TM_LCD_DisplayOn(void);
131 TM_LCD_Result_t TM_LCD_DisplayOff(void);
132 uint16_t TM_LCD_GetWidth(void);
133 uint16_t TM_LCD_GetHeight(void);
134 uint32_t TM_LCD_GetFrameBuffer(void);
135 
136 TM_LCD_Result_t TM_LCD_SetXY(uint16_t X, uint16_t Y);
137 TM_LCD_Result_t TM_LCD_SetFont(TM_FontDef_t* Font);
138 TM_LCD_Result_t TM_LCD_SetColors(uint32_t Foreground, uint32_t Background);
139 TM_LCD_Result_t TM_LCD_Putc(char c);
140 TM_LCD_Result_t TM_LCD_Puts(char* str);
141 
148 TM_LCD_Result_t TM_LCD_DrawPixel(uint16_t X, uint16_t Y, uint32_t color);
149 uint32_t TM_LCD_GetPixel(uint16_t X, uint16_t Y);
150 TM_LCD_Result_t TM_LCD_DrawLine(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint32_t color);
151 TM_LCD_Result_t TM_LCD_DrawRectangle(uint16_t x0, uint16_t y0, uint16_t Width, uint16_t Height, uint32_t color);
152 TM_LCD_Result_t TM_LCD_DrawFilledRectangle(uint16_t x0, uint16_t y0, uint16_t Width, uint16_t Height, uint32_t color);
153 TM_LCD_Result_t TM_LCD_DrawRoundedRectangle(uint16_t x0, uint16_t y0, uint16_t Width, uint16_t Height, uint16_t r, uint32_t color);
154 TM_LCD_Result_t TM_LCD_DrawFilledRoundedRectangle(uint16_t x0, uint16_t y0, uint16_t Width, uint16_t Height, uint16_t r, uint32_t color);
155 TM_LCD_Result_t TM_LCD_DrawCircle(int16_t x0, int16_t y0, int16_t r, uint32_t color);
156 TM_LCD_Result_t TM_LCD_DrawFilledCircle(int16_t x0, int16_t y0, int16_t r, uint32_t color);
157 
168 TM_LCD_Result_t TM_LCD_SetLayer1(void);
169 TM_LCD_Result_t TM_LCD_SetLayer2(void);
170 TM_LCD_Result_t TM_LCD_SetLayer1Opacity(uint8_t opacity);
171 TM_LCD_Result_t TM_LCD_SetLayer2Opacity(uint8_t opacity);
172 TM_LCD_Result_t TM_LCD_ChangeLayers(void);
173 TM_LCD_Result_t TM_LCD_Layer2To1(void);
174 TM_LCD_Result_t TM_LCD_Layer1To2(void);
175 
192 /* C++ detection */
193 #ifdef __cplusplus
194 }
195 #endif
196 
197 #endif
Font structure used on my LCD libraries.
Definition: tm_stm32f4_fonts.h:89