sp
LCD_DISCO_F746NG/LCD_DISCO_F746NG.h@0:4e245f4bc8ac, 2019-06-07 (annotated)
- Committer:
- phungductung
- Date:
- Fri Jun 07 05:06:42 2019 +0000
- Revision:
- 0:4e245f4bc8ac
spkt
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
phungductung | 0:4e245f4bc8ac | 1 | /* Copyright (c) 2010-2011 mbed.org, MIT License |
phungductung | 0:4e245f4bc8ac | 2 | * |
phungductung | 0:4e245f4bc8ac | 3 | * Permission is hereby granted, free of charge, to any person obtaining a copy of this software |
phungductung | 0:4e245f4bc8ac | 4 | * and associated documentation files (the "Software"), to deal in the Software without |
phungductung | 0:4e245f4bc8ac | 5 | * restriction, including without limitation the rights to use, copy, modify, merge, publish, |
phungductung | 0:4e245f4bc8ac | 6 | * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the |
phungductung | 0:4e245f4bc8ac | 7 | * Software is furnished to do so, subject to the following conditions: |
phungductung | 0:4e245f4bc8ac | 8 | * |
phungductung | 0:4e245f4bc8ac | 9 | * The above copyright notice and this permission notice shall be included in all copies or |
phungductung | 0:4e245f4bc8ac | 10 | * substantial portions of the Software. |
phungductung | 0:4e245f4bc8ac | 11 | * |
phungductung | 0:4e245f4bc8ac | 12 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING |
phungductung | 0:4e245f4bc8ac | 13 | * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
phungductung | 0:4e245f4bc8ac | 14 | * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, |
phungductung | 0:4e245f4bc8ac | 15 | * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
phungductung | 0:4e245f4bc8ac | 16 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
phungductung | 0:4e245f4bc8ac | 17 | */ |
phungductung | 0:4e245f4bc8ac | 18 | |
phungductung | 0:4e245f4bc8ac | 19 | #ifndef __LCD_DISCO_F746NG_H |
phungductung | 0:4e245f4bc8ac | 20 | #define __LCD_DISCO_F746NG_H |
phungductung | 0:4e245f4bc8ac | 21 | |
phungductung | 0:4e245f4bc8ac | 22 | #ifdef TARGET_DISCO_F746NG |
phungductung | 0:4e245f4bc8ac | 23 | |
phungductung | 0:4e245f4bc8ac | 24 | #include "mbed.h" |
phungductung | 0:4e245f4bc8ac | 25 | #include "stm32746g_discovery_lcd.h" |
phungductung | 0:4e245f4bc8ac | 26 | |
phungductung | 0:4e245f4bc8ac | 27 | /* |
phungductung | 0:4e245f4bc8ac | 28 | This class drives the LCD display (RK043FN48H-CT672B 4,3" 480x272 pixels device) present on DISCO_F746NG board. |
phungductung | 0:4e245f4bc8ac | 29 | |
phungductung | 0:4e245f4bc8ac | 30 | Usage: |
phungductung | 0:4e245f4bc8ac | 31 | |
phungductung | 0:4e245f4bc8ac | 32 | #include "mbed.h" |
phungductung | 0:4e245f4bc8ac | 33 | #include "LCD_DISCO_F746NG.h" |
phungductung | 0:4e245f4bc8ac | 34 | |
phungductung | 0:4e245f4bc8ac | 35 | LCD_DISCO_F746NG lcd; |
phungductung | 0:4e245f4bc8ac | 36 | |
phungductung | 0:4e245f4bc8ac | 37 | int main() |
phungductung | 0:4e245f4bc8ac | 38 | { |
phungductung | 0:4e245f4bc8ac | 39 | lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"MBED EXAMPLE", CENTER_MODE); |
phungductung | 0:4e245f4bc8ac | 40 | wait(1); |
phungductung | 0:4e245f4bc8ac | 41 | lcd.Clear(LCD_COLOR_BLUE); |
phungductung | 0:4e245f4bc8ac | 42 | lcd.SetBackColor(LCD_COLOR_BLUE); |
phungductung | 0:4e245f4bc8ac | 43 | lcd.SetTextColor(LCD_COLOR_WHITE); |
phungductung | 0:4e245f4bc8ac | 44 | lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"DISCOVERY STM32F746NG", CENTER_MODE); |
phungductung | 0:4e245f4bc8ac | 45 | while(1) |
phungductung | 0:4e245f4bc8ac | 46 | { |
phungductung | 0:4e245f4bc8ac | 47 | } |
phungductung | 0:4e245f4bc8ac | 48 | } |
phungductung | 0:4e245f4bc8ac | 49 | */ |
phungductung | 0:4e245f4bc8ac | 50 | class LCD_DISCO_F746NG |
phungductung | 0:4e245f4bc8ac | 51 | { |
phungductung | 0:4e245f4bc8ac | 52 | |
phungductung | 0:4e245f4bc8ac | 53 | public: |
phungductung | 0:4e245f4bc8ac | 54 | //! Constructor |
phungductung | 0:4e245f4bc8ac | 55 | LCD_DISCO_F746NG(); |
phungductung | 0:4e245f4bc8ac | 56 | |
phungductung | 0:4e245f4bc8ac | 57 | //! Destructor |
phungductung | 0:4e245f4bc8ac | 58 | ~LCD_DISCO_F746NG(); |
phungductung | 0:4e245f4bc8ac | 59 | |
phungductung | 0:4e245f4bc8ac | 60 | /** |
phungductung | 0:4e245f4bc8ac | 61 | * @brief Initializes the LCD. |
phungductung | 0:4e245f4bc8ac | 62 | * @retval LCD state |
phungductung | 0:4e245f4bc8ac | 63 | */ |
phungductung | 0:4e245f4bc8ac | 64 | uint8_t Init(void); |
phungductung | 0:4e245f4bc8ac | 65 | |
phungductung | 0:4e245f4bc8ac | 66 | /** |
phungductung | 0:4e245f4bc8ac | 67 | * @brief DeInitializes the LCD. |
phungductung | 0:4e245f4bc8ac | 68 | * @retval LCD state |
phungductung | 0:4e245f4bc8ac | 69 | */ |
phungductung | 0:4e245f4bc8ac | 70 | uint8_t DeInit(void); |
phungductung | 0:4e245f4bc8ac | 71 | |
phungductung | 0:4e245f4bc8ac | 72 | /** |
phungductung | 0:4e245f4bc8ac | 73 | * @brief Gets the LCD X size. |
phungductung | 0:4e245f4bc8ac | 74 | * @retval Used LCD X size |
phungductung | 0:4e245f4bc8ac | 75 | */ |
phungductung | 0:4e245f4bc8ac | 76 | uint32_t GetXSize(void); |
phungductung | 0:4e245f4bc8ac | 77 | |
phungductung | 0:4e245f4bc8ac | 78 | /** |
phungductung | 0:4e245f4bc8ac | 79 | * @brief Gets the LCD Y size. |
phungductung | 0:4e245f4bc8ac | 80 | * @retval Used LCD Y size |
phungductung | 0:4e245f4bc8ac | 81 | */ |
phungductung | 0:4e245f4bc8ac | 82 | uint32_t GetYSize(void); |
phungductung | 0:4e245f4bc8ac | 83 | |
phungductung | 0:4e245f4bc8ac | 84 | /** |
phungductung | 0:4e245f4bc8ac | 85 | * @brief Set the LCD X size. |
phungductung | 0:4e245f4bc8ac | 86 | * @param imageWidthPixels : image width in pixels unit |
phungductung | 0:4e245f4bc8ac | 87 | * @retval None |
phungductung | 0:4e245f4bc8ac | 88 | */ |
phungductung | 0:4e245f4bc8ac | 89 | void SetXSize(uint32_t imageWidthPixels); |
phungductung | 0:4e245f4bc8ac | 90 | |
phungductung | 0:4e245f4bc8ac | 91 | /** |
phungductung | 0:4e245f4bc8ac | 92 | * @brief Set the LCD Y size. |
phungductung | 0:4e245f4bc8ac | 93 | * @param imageHeightPixels : image height in lines unit |
phungductung | 0:4e245f4bc8ac | 94 | * @retval None |
phungductung | 0:4e245f4bc8ac | 95 | */ |
phungductung | 0:4e245f4bc8ac | 96 | void SetYSize(uint32_t imageHeightPixels); |
phungductung | 0:4e245f4bc8ac | 97 | |
phungductung | 0:4e245f4bc8ac | 98 | /** |
phungductung | 0:4e245f4bc8ac | 99 | * @brief Initializes the LCD layer in ARGB8888 format (32 bits per pixel);. |
phungductung | 0:4e245f4bc8ac | 100 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 101 | * @param FB_Address: Layer frame buffer |
phungductung | 0:4e245f4bc8ac | 102 | * @retval None |
phungductung | 0:4e245f4bc8ac | 103 | */ |
phungductung | 0:4e245f4bc8ac | 104 | void LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address); |
phungductung | 0:4e245f4bc8ac | 105 | |
phungductung | 0:4e245f4bc8ac | 106 | /** |
phungductung | 0:4e245f4bc8ac | 107 | * @brief Initializes the LCD layer in RGB565 format (16 bits per pixel);. |
phungductung | 0:4e245f4bc8ac | 108 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 109 | * @param FB_Address: Layer frame buffer |
phungductung | 0:4e245f4bc8ac | 110 | * @retval None |
phungductung | 0:4e245f4bc8ac | 111 | */ |
phungductung | 0:4e245f4bc8ac | 112 | void LayerRgb565Init(uint16_t LayerIndex, uint32_t FB_Address); |
phungductung | 0:4e245f4bc8ac | 113 | |
phungductung | 0:4e245f4bc8ac | 114 | /** |
phungductung | 0:4e245f4bc8ac | 115 | * @brief Selects the LCD Layer. |
phungductung | 0:4e245f4bc8ac | 116 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 117 | * @retval None |
phungductung | 0:4e245f4bc8ac | 118 | */ |
phungductung | 0:4e245f4bc8ac | 119 | void SelectLayer(uint32_t LayerIndex); |
phungductung | 0:4e245f4bc8ac | 120 | |
phungductung | 0:4e245f4bc8ac | 121 | /** |
phungductung | 0:4e245f4bc8ac | 122 | * @brief Sets an LCD Layer visible |
phungductung | 0:4e245f4bc8ac | 123 | * @param LayerIndex: Visible Layer |
phungductung | 0:4e245f4bc8ac | 124 | * @param State: New state of the specified layer |
phungductung | 0:4e245f4bc8ac | 125 | * This parameter can be one of the following values: |
phungductung | 0:4e245f4bc8ac | 126 | * @arg ENABLE |
phungductung | 0:4e245f4bc8ac | 127 | * @arg DISABLE |
phungductung | 0:4e245f4bc8ac | 128 | * @retval None |
phungductung | 0:4e245f4bc8ac | 129 | */ |
phungductung | 0:4e245f4bc8ac | 130 | void SetLayerVisible(uint32_t LayerIndex, FunctionalState State); |
phungductung | 0:4e245f4bc8ac | 131 | |
phungductung | 0:4e245f4bc8ac | 132 | /** |
phungductung | 0:4e245f4bc8ac | 133 | * @brief Configures the transparency. |
phungductung | 0:4e245f4bc8ac | 134 | * @param LayerIndex: Layer foreground or background. |
phungductung | 0:4e245f4bc8ac | 135 | * @param Transparency: Transparency |
phungductung | 0:4e245f4bc8ac | 136 | * This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF |
phungductung | 0:4e245f4bc8ac | 137 | * @retval None |
phungductung | 0:4e245f4bc8ac | 138 | */ |
phungductung | 0:4e245f4bc8ac | 139 | void SetTransparency(uint32_t LayerIndex, uint8_t Transparency); |
phungductung | 0:4e245f4bc8ac | 140 | |
phungductung | 0:4e245f4bc8ac | 141 | /** |
phungductung | 0:4e245f4bc8ac | 142 | * @brief Sets an LCD layer frame buffer address. |
phungductung | 0:4e245f4bc8ac | 143 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 144 | * @param Address: New LCD frame buffer value |
phungductung | 0:4e245f4bc8ac | 145 | * @retval None |
phungductung | 0:4e245f4bc8ac | 146 | */ |
phungductung | 0:4e245f4bc8ac | 147 | void SetLayerAddress(uint32_t LayerIndex, uint32_t Address); |
phungductung | 0:4e245f4bc8ac | 148 | |
phungductung | 0:4e245f4bc8ac | 149 | /** |
phungductung | 0:4e245f4bc8ac | 150 | * @brief Sets display window. |
phungductung | 0:4e245f4bc8ac | 151 | * @param LayerIndex: Layer index |
phungductung | 0:4e245f4bc8ac | 152 | * @param Xpos: LCD X position |
phungductung | 0:4e245f4bc8ac | 153 | * @param Ypos: LCD Y position |
phungductung | 0:4e245f4bc8ac | 154 | * @param Width: LCD window width |
phungductung | 0:4e245f4bc8ac | 155 | * @param Height: LCD window height |
phungductung | 0:4e245f4bc8ac | 156 | * @retval None |
phungductung | 0:4e245f4bc8ac | 157 | */ |
phungductung | 0:4e245f4bc8ac | 158 | void SetLayerWindow(uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); |
phungductung | 0:4e245f4bc8ac | 159 | |
phungductung | 0:4e245f4bc8ac | 160 | /** |
phungductung | 0:4e245f4bc8ac | 161 | * @brief Configures and sets the color keying. |
phungductung | 0:4e245f4bc8ac | 162 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 163 | * @param RGBValue: Color reference |
phungductung | 0:4e245f4bc8ac | 164 | * @retval None |
phungductung | 0:4e245f4bc8ac | 165 | */ |
phungductung | 0:4e245f4bc8ac | 166 | void SetColorKeying(uint32_t LayerIndex, uint32_t RGBValue); |
phungductung | 0:4e245f4bc8ac | 167 | |
phungductung | 0:4e245f4bc8ac | 168 | /** |
phungductung | 0:4e245f4bc8ac | 169 | * @brief Disables the color keying. |
phungductung | 0:4e245f4bc8ac | 170 | * @param LayerIndex: Layer foreground or background |
phungductung | 0:4e245f4bc8ac | 171 | * @retval None |
phungductung | 0:4e245f4bc8ac | 172 | */ |
phungductung | 0:4e245f4bc8ac | 173 | void ResetColorKeying(uint32_t LayerIndex); |
phungductung | 0:4e245f4bc8ac | 174 | |
phungductung | 0:4e245f4bc8ac | 175 | /** |
phungductung | 0:4e245f4bc8ac | 176 | * @brief Sets the LCD text color. |
phungductung | 0:4e245f4bc8ac | 177 | * @param Color: Text color code ARGB(8-8-8-8); |
phungductung | 0:4e245f4bc8ac | 178 | * @retval None |
phungductung | 0:4e245f4bc8ac | 179 | */ |
phungductung | 0:4e245f4bc8ac | 180 | void SetTextColor(uint32_t Color); |
phungductung | 0:4e245f4bc8ac | 181 | |
phungductung | 0:4e245f4bc8ac | 182 | /** |
phungductung | 0:4e245f4bc8ac | 183 | * @brief Gets the LCD text color. |
phungductung | 0:4e245f4bc8ac | 184 | * @retval Used text color. |
phungductung | 0:4e245f4bc8ac | 185 | */ |
phungductung | 0:4e245f4bc8ac | 186 | uint32_t GetTextColor(void); |
phungductung | 0:4e245f4bc8ac | 187 | |
phungductung | 0:4e245f4bc8ac | 188 | /** |
phungductung | 0:4e245f4bc8ac | 189 | * @brief Sets the LCD background color. |
phungductung | 0:4e245f4bc8ac | 190 | * @param Color: Layer background color code ARGB(8-8-8-8); |
phungductung | 0:4e245f4bc8ac | 191 | * @retval None |
phungductung | 0:4e245f4bc8ac | 192 | */ |
phungductung | 0:4e245f4bc8ac | 193 | void SetBackColor(uint32_t Color); |
phungductung | 0:4e245f4bc8ac | 194 | |
phungductung | 0:4e245f4bc8ac | 195 | /** |
phungductung | 0:4e245f4bc8ac | 196 | * @brief Gets the LCD background color. |
phungductung | 0:4e245f4bc8ac | 197 | * @retval Used background colour |
phungductung | 0:4e245f4bc8ac | 198 | */ |
phungductung | 0:4e245f4bc8ac | 199 | uint32_t GetBackColor(void); |
phungductung | 0:4e245f4bc8ac | 200 | |
phungductung | 0:4e245f4bc8ac | 201 | /** |
phungductung | 0:4e245f4bc8ac | 202 | * @brief Sets the LCD text font. |
phungductung | 0:4e245f4bc8ac | 203 | * @param fonts: Layer font to be used |
phungductung | 0:4e245f4bc8ac | 204 | * @retval None |
phungductung | 0:4e245f4bc8ac | 205 | */ |
phungductung | 0:4e245f4bc8ac | 206 | void SetFont(sFONT *fonts); |
phungductung | 0:4e245f4bc8ac | 207 | |
phungductung | 0:4e245f4bc8ac | 208 | /** |
phungductung | 0:4e245f4bc8ac | 209 | * @brief Gets the LCD text font. |
phungductung | 0:4e245f4bc8ac | 210 | * @retval Used layer font |
phungductung | 0:4e245f4bc8ac | 211 | */ |
phungductung | 0:4e245f4bc8ac | 212 | sFONT *GetFont(void); |
phungductung | 0:4e245f4bc8ac | 213 | |
phungductung | 0:4e245f4bc8ac | 214 | /** |
phungductung | 0:4e245f4bc8ac | 215 | * @brief Reads an LCD pixel. |
phungductung | 0:4e245f4bc8ac | 216 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 217 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 218 | * @retval RGB pixel color |
phungductung | 0:4e245f4bc8ac | 219 | */ |
phungductung | 0:4e245f4bc8ac | 220 | uint32_t ReadPixel(uint16_t Xpos, uint16_t Ypos); |
phungductung | 0:4e245f4bc8ac | 221 | |
phungductung | 0:4e245f4bc8ac | 222 | /** |
phungductung | 0:4e245f4bc8ac | 223 | * @brief Clears the whole LCD. |
phungductung | 0:4e245f4bc8ac | 224 | * @param Color: Color of the background |
phungductung | 0:4e245f4bc8ac | 225 | * @retval None |
phungductung | 0:4e245f4bc8ac | 226 | */ |
phungductung | 0:4e245f4bc8ac | 227 | void Clear(uint32_t Color); |
phungductung | 0:4e245f4bc8ac | 228 | |
phungductung | 0:4e245f4bc8ac | 229 | /** |
phungductung | 0:4e245f4bc8ac | 230 | * @brief Clears the selected line. |
phungductung | 0:4e245f4bc8ac | 231 | * @param Line: Line to be cleared |
phungductung | 0:4e245f4bc8ac | 232 | * @retval None |
phungductung | 0:4e245f4bc8ac | 233 | */ |
phungductung | 0:4e245f4bc8ac | 234 | void ClearStringLine(uint32_t Line); |
phungductung | 0:4e245f4bc8ac | 235 | |
phungductung | 0:4e245f4bc8ac | 236 | /** |
phungductung | 0:4e245f4bc8ac | 237 | * @brief Displays one character. |
phungductung | 0:4e245f4bc8ac | 238 | * @param Xpos: Start column address |
phungductung | 0:4e245f4bc8ac | 239 | * @param Ypos: Line where to display the character shape. |
phungductung | 0:4e245f4bc8ac | 240 | * @param Ascii: Character ascii code |
phungductung | 0:4e245f4bc8ac | 241 | * This parameter must be a number between Min_Data = 0x20 and Max_Data = 0x7E |
phungductung | 0:4e245f4bc8ac | 242 | * @retval None |
phungductung | 0:4e245f4bc8ac | 243 | */ |
phungductung | 0:4e245f4bc8ac | 244 | void DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii); |
phungductung | 0:4e245f4bc8ac | 245 | |
phungductung | 0:4e245f4bc8ac | 246 | /** |
phungductung | 0:4e245f4bc8ac | 247 | * @brief Displays characters on the LCD. |
phungductung | 0:4e245f4bc8ac | 248 | * @param Xpos: X position (in pixel); |
phungductung | 0:4e245f4bc8ac | 249 | * @param Ypos: Y position (in pixel); |
phungductung | 0:4e245f4bc8ac | 250 | * @param Text: Pointer to string to display on LCD |
phungductung | 0:4e245f4bc8ac | 251 | * @param Mode: Display mode |
phungductung | 0:4e245f4bc8ac | 252 | * This parameter can be one of the following values: |
phungductung | 0:4e245f4bc8ac | 253 | * @arg CENTER_MODE |
phungductung | 0:4e245f4bc8ac | 254 | * @arg RIGHT_MODE |
phungductung | 0:4e245f4bc8ac | 255 | * @arg LEFT_MODE |
phungductung | 0:4e245f4bc8ac | 256 | * @retval None |
phungductung | 0:4e245f4bc8ac | 257 | */ |
phungductung | 0:4e245f4bc8ac | 258 | void DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode); |
phungductung | 0:4e245f4bc8ac | 259 | |
phungductung | 0:4e245f4bc8ac | 260 | /** |
phungductung | 0:4e245f4bc8ac | 261 | * @brief Displays a maximum of 60 characters on the LCD. |
phungductung | 0:4e245f4bc8ac | 262 | * @param Line: Line where to display the character shape |
phungductung | 0:4e245f4bc8ac | 263 | * @param ptr: Pointer to string to display on LCD |
phungductung | 0:4e245f4bc8ac | 264 | * @retval None |
phungductung | 0:4e245f4bc8ac | 265 | */ |
phungductung | 0:4e245f4bc8ac | 266 | void DisplayStringAtLine(uint16_t Line, uint8_t *ptr); |
phungductung | 0:4e245f4bc8ac | 267 | |
phungductung | 0:4e245f4bc8ac | 268 | /** |
phungductung | 0:4e245f4bc8ac | 269 | * @brief Draws an horizontal line. |
phungductung | 0:4e245f4bc8ac | 270 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 271 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 272 | * @param Length: Line length |
phungductung | 0:4e245f4bc8ac | 273 | * @retval None |
phungductung | 0:4e245f4bc8ac | 274 | */ |
phungductung | 0:4e245f4bc8ac | 275 | void DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); |
phungductung | 0:4e245f4bc8ac | 276 | |
phungductung | 0:4e245f4bc8ac | 277 | /** |
phungductung | 0:4e245f4bc8ac | 278 | * @brief Draws a vertical line. |
phungductung | 0:4e245f4bc8ac | 279 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 280 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 281 | * @param Length: Line length |
phungductung | 0:4e245f4bc8ac | 282 | * @retval None |
phungductung | 0:4e245f4bc8ac | 283 | */ |
phungductung | 0:4e245f4bc8ac | 284 | void DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length); |
phungductung | 0:4e245f4bc8ac | 285 | |
phungductung | 0:4e245f4bc8ac | 286 | /** |
phungductung | 0:4e245f4bc8ac | 287 | * @brief Draws an uni-line (between two points);. |
phungductung | 0:4e245f4bc8ac | 288 | * @param x1: Point 1 X position |
phungductung | 0:4e245f4bc8ac | 289 | * @param y1: Point 1 Y position |
phungductung | 0:4e245f4bc8ac | 290 | * @param x2: Point 2 X position |
phungductung | 0:4e245f4bc8ac | 291 | * @param y2: Point 2 Y position |
phungductung | 0:4e245f4bc8ac | 292 | * @retval None |
phungductung | 0:4e245f4bc8ac | 293 | */ |
phungductung | 0:4e245f4bc8ac | 294 | void DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); |
phungductung | 0:4e245f4bc8ac | 295 | |
phungductung | 0:4e245f4bc8ac | 296 | /** |
phungductung | 0:4e245f4bc8ac | 297 | * @brief Draws a rectangle. |
phungductung | 0:4e245f4bc8ac | 298 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 299 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 300 | * @param Width: Rectangle width |
phungductung | 0:4e245f4bc8ac | 301 | * @param Height: Rectangle height |
phungductung | 0:4e245f4bc8ac | 302 | * @retval None |
phungductung | 0:4e245f4bc8ac | 303 | */ |
phungductung | 0:4e245f4bc8ac | 304 | void DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); |
phungductung | 0:4e245f4bc8ac | 305 | |
phungductung | 0:4e245f4bc8ac | 306 | /** |
phungductung | 0:4e245f4bc8ac | 307 | * @brief Draws a circle. |
phungductung | 0:4e245f4bc8ac | 308 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 309 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 310 | * @param Radius: Circle radius |
phungductung | 0:4e245f4bc8ac | 311 | * @retval None |
phungductung | 0:4e245f4bc8ac | 312 | */ |
phungductung | 0:4e245f4bc8ac | 313 | void DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); |
phungductung | 0:4e245f4bc8ac | 314 | |
phungductung | 0:4e245f4bc8ac | 315 | /** |
phungductung | 0:4e245f4bc8ac | 316 | * @brief Draws an poly-line (between many points);. |
phungductung | 0:4e245f4bc8ac | 317 | * @param Points: Pointer to the points array |
phungductung | 0:4e245f4bc8ac | 318 | * @param PointCount: Number of points |
phungductung | 0:4e245f4bc8ac | 319 | * @retval None |
phungductung | 0:4e245f4bc8ac | 320 | */ |
phungductung | 0:4e245f4bc8ac | 321 | void DrawPolygon(pPoint Points, uint16_t PointCount); |
phungductung | 0:4e245f4bc8ac | 322 | |
phungductung | 0:4e245f4bc8ac | 323 | /** |
phungductung | 0:4e245f4bc8ac | 324 | * @brief Draws an ellipse on LCD. |
phungductung | 0:4e245f4bc8ac | 325 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 326 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 327 | * @param XRadius: Ellipse X radius |
phungductung | 0:4e245f4bc8ac | 328 | * @param YRadius: Ellipse Y radius |
phungductung | 0:4e245f4bc8ac | 329 | * @retval None |
phungductung | 0:4e245f4bc8ac | 330 | */ |
phungductung | 0:4e245f4bc8ac | 331 | void DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius); |
phungductung | 0:4e245f4bc8ac | 332 | |
phungductung | 0:4e245f4bc8ac | 333 | /** |
phungductung | 0:4e245f4bc8ac | 334 | * @brief Draws a pixel on LCD. |
phungductung | 0:4e245f4bc8ac | 335 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 336 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 337 | * @param RGB_Code: Pixel color in ARGB mode (8-8-8-8); |
phungductung | 0:4e245f4bc8ac | 338 | * @retval None |
phungductung | 0:4e245f4bc8ac | 339 | */ |
phungductung | 0:4e245f4bc8ac | 340 | void DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code); |
phungductung | 0:4e245f4bc8ac | 341 | |
phungductung | 0:4e245f4bc8ac | 342 | /** |
phungductung | 0:4e245f4bc8ac | 343 | * @brief Draws a bitmap picture loaded in the internal Flash in ARGB888 format (32 bits per pixel);. |
phungductung | 0:4e245f4bc8ac | 344 | * @param Xpos: Bmp X position in the LCD |
phungductung | 0:4e245f4bc8ac | 345 | * @param Ypos: Bmp Y position in the LCD |
phungductung | 0:4e245f4bc8ac | 346 | * @param pbmp: Pointer to Bmp picture address in the internal Flash |
phungductung | 0:4e245f4bc8ac | 347 | * @retval None |
phungductung | 0:4e245f4bc8ac | 348 | */ |
phungductung | 0:4e245f4bc8ac | 349 | void DrawBitmap(uint32_t Xpos, uint32_t Ypos, uint8_t *pbmp); |
phungductung | 0:4e245f4bc8ac | 350 | |
phungductung | 0:4e245f4bc8ac | 351 | /** |
phungductung | 0:4e245f4bc8ac | 352 | * @brief Draws a full rectangle. |
phungductung | 0:4e245f4bc8ac | 353 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 354 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 355 | * @param Width: Rectangle width |
phungductung | 0:4e245f4bc8ac | 356 | * @param Height: Rectangle height |
phungductung | 0:4e245f4bc8ac | 357 | * @retval None |
phungductung | 0:4e245f4bc8ac | 358 | */ |
phungductung | 0:4e245f4bc8ac | 359 | void FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height); |
phungductung | 0:4e245f4bc8ac | 360 | |
phungductung | 0:4e245f4bc8ac | 361 | /** |
phungductung | 0:4e245f4bc8ac | 362 | * @brief Draws a full circle. |
phungductung | 0:4e245f4bc8ac | 363 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 364 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 365 | * @param Radius: Circle radius |
phungductung | 0:4e245f4bc8ac | 366 | * @retval None |
phungductung | 0:4e245f4bc8ac | 367 | */ |
phungductung | 0:4e245f4bc8ac | 368 | void FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius); |
phungductung | 0:4e245f4bc8ac | 369 | |
phungductung | 0:4e245f4bc8ac | 370 | /** |
phungductung | 0:4e245f4bc8ac | 371 | * @brief Draws a full poly-line (between many points);. |
phungductung | 0:4e245f4bc8ac | 372 | * @param Points: Pointer to the points array |
phungductung | 0:4e245f4bc8ac | 373 | * @param PointCount: Number of points |
phungductung | 0:4e245f4bc8ac | 374 | * @retval None |
phungductung | 0:4e245f4bc8ac | 375 | */ |
phungductung | 0:4e245f4bc8ac | 376 | void FillPolygon(pPoint Points, uint16_t PointCount); |
phungductung | 0:4e245f4bc8ac | 377 | |
phungductung | 0:4e245f4bc8ac | 378 | /** |
phungductung | 0:4e245f4bc8ac | 379 | * @brief Draws a full ellipse. |
phungductung | 0:4e245f4bc8ac | 380 | * @param Xpos: X position |
phungductung | 0:4e245f4bc8ac | 381 | * @param Ypos: Y position |
phungductung | 0:4e245f4bc8ac | 382 | * @param XRadius: Ellipse X radius |
phungductung | 0:4e245f4bc8ac | 383 | * @param YRadius: Ellipse Y radius |
phungductung | 0:4e245f4bc8ac | 384 | * @retval None |
phungductung | 0:4e245f4bc8ac | 385 | */ |
phungductung | 0:4e245f4bc8ac | 386 | void FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius); |
phungductung | 0:4e245f4bc8ac | 387 | |
phungductung | 0:4e245f4bc8ac | 388 | /** |
phungductung | 0:4e245f4bc8ac | 389 | * @brief Enables the display. |
phungductung | 0:4e245f4bc8ac | 390 | * @retval None |
phungductung | 0:4e245f4bc8ac | 391 | */ |
phungductung | 0:4e245f4bc8ac | 392 | void DisplayOn(void); |
phungductung | 0:4e245f4bc8ac | 393 | |
phungductung | 0:4e245f4bc8ac | 394 | /** |
phungductung | 0:4e245f4bc8ac | 395 | * @brief Disables the display. |
phungductung | 0:4e245f4bc8ac | 396 | * @retval None |
phungductung | 0:4e245f4bc8ac | 397 | */ |
phungductung | 0:4e245f4bc8ac | 398 | void DisplayOff(void); |
phungductung | 0:4e245f4bc8ac | 399 | |
phungductung | 0:4e245f4bc8ac | 400 | private: |
phungductung | 0:4e245f4bc8ac | 401 | |
phungductung | 0:4e245f4bc8ac | 402 | }; |
phungductung | 0:4e245f4bc8ac | 403 | |
phungductung | 0:4e245f4bc8ac | 404 | #else |
phungductung | 0:4e245f4bc8ac | 405 | #error "This class must be used with DISCO_F746NG board only." |
phungductung | 0:4e245f4bc8ac | 406 | #endif // TARGET_DISCO_F746NG |
phungductung | 0:4e245f4bc8ac | 407 | |
phungductung | 0:4e245f4bc8ac | 408 | #endif |