Library to control Silicon Labs SI570 10 MHZ TO 1.4 GHZ I2C PROGRAMMABLE XO/VCXO.

Dependencies:   mbed

Fork of SI570 by Gerrit Polder

Committer:
DL3LD
Date:
Sun Mar 27 06:55:59 2016 +0000
Revision:
1:1556bcaaf759
STM32F746NG SI570 VFO Test

Who changed what in which revision?

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