Sylvain Letreguilly / Mbed 2 deprecated cpelcddemo

Dependencies:   mbed

Committer:
agemio
Date:
Thu Nov 05 12:53:31 2015 +0000
Revision:
0:14f16771fe40
first commit;

Who changed what in which revision?

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