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 #include "LCD_DISCO_F746NG.h"
DL3LD 1:1556bcaaf759 20
DL3LD 1:1556bcaaf759 21 // Constructor
DL3LD 1:1556bcaaf759 22 LCD_DISCO_F746NG::LCD_DISCO_F746NG()
DL3LD 1:1556bcaaf759 23 {
DL3LD 1:1556bcaaf759 24 BSP_LCD_Init();
DL3LD 1:1556bcaaf759 25
DL3LD 1:1556bcaaf759 26 BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS);
DL3LD 1:1556bcaaf759 27 BSP_LCD_LayerDefaultInit(1, LCD_FB_START_ADDRESS+(BSP_LCD_GetXSize()*BSP_LCD_GetYSize()*4));
DL3LD 1:1556bcaaf759 28
DL3LD 1:1556bcaaf759 29 BSP_LCD_DisplayOn();
DL3LD 1:1556bcaaf759 30
DL3LD 1:1556bcaaf759 31 BSP_LCD_SelectLayer(0);
DL3LD 1:1556bcaaf759 32 BSP_LCD_Clear(LCD_COLOR_BLACK);
DL3LD 1:1556bcaaf759 33
DL3LD 1:1556bcaaf759 34 BSP_LCD_SelectLayer(1);
DL3LD 1:1556bcaaf759 35 BSP_LCD_Clear(LCD_COLOR_BLACK);
DL3LD 1:1556bcaaf759 36
DL3LD 1:1556bcaaf759 37 BSP_LCD_SetFont(&LCD_DEFAULT_FONT);
DL3LD 1:1556bcaaf759 38
DL3LD 1:1556bcaaf759 39 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
DL3LD 1:1556bcaaf759 40 BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE);
DL3LD 1:1556bcaaf759 41 }
DL3LD 1:1556bcaaf759 42
DL3LD 1:1556bcaaf759 43 // Destructor
DL3LD 1:1556bcaaf759 44 LCD_DISCO_F746NG::~LCD_DISCO_F746NG()
DL3LD 1:1556bcaaf759 45 {
DL3LD 1:1556bcaaf759 46 BSP_LCD_DeInit();
DL3LD 1:1556bcaaf759 47 }
DL3LD 1:1556bcaaf759 48
DL3LD 1:1556bcaaf759 49 //=================================================================================================================
DL3LD 1:1556bcaaf759 50 // Public methods
DL3LD 1:1556bcaaf759 51 //=================================================================================================================
DL3LD 1:1556bcaaf759 52
DL3LD 1:1556bcaaf759 53 uint8_t LCD_DISCO_F746NG::Init(void)
DL3LD 1:1556bcaaf759 54 {
DL3LD 1:1556bcaaf759 55 return BSP_LCD_Init();
DL3LD 1:1556bcaaf759 56 }
DL3LD 1:1556bcaaf759 57
DL3LD 1:1556bcaaf759 58 uint8_t LCD_DISCO_F746NG::DeInit(void)
DL3LD 1:1556bcaaf759 59 {
DL3LD 1:1556bcaaf759 60 return BSP_LCD_DeInit();
DL3LD 1:1556bcaaf759 61 }
DL3LD 1:1556bcaaf759 62
DL3LD 1:1556bcaaf759 63 uint32_t LCD_DISCO_F746NG::GetXSize(void)
DL3LD 1:1556bcaaf759 64 {
DL3LD 1:1556bcaaf759 65 return BSP_LCD_GetXSize();
DL3LD 1:1556bcaaf759 66 }
DL3LD 1:1556bcaaf759 67
DL3LD 1:1556bcaaf759 68 uint32_t LCD_DISCO_F746NG::GetYSize(void)
DL3LD 1:1556bcaaf759 69 {
DL3LD 1:1556bcaaf759 70 return BSP_LCD_GetYSize();
DL3LD 1:1556bcaaf759 71 }
DL3LD 1:1556bcaaf759 72
DL3LD 1:1556bcaaf759 73 void LCD_DISCO_F746NG::SetXSize(uint32_t imageWidthPixels)
DL3LD 1:1556bcaaf759 74 {
DL3LD 1:1556bcaaf759 75 BSP_LCD_SetXSize(imageWidthPixels);
DL3LD 1:1556bcaaf759 76 }
DL3LD 1:1556bcaaf759 77
DL3LD 1:1556bcaaf759 78 void LCD_DISCO_F746NG::SetYSize(uint32_t imageHeightPixels)
DL3LD 1:1556bcaaf759 79 {
DL3LD 1:1556bcaaf759 80 BSP_LCD_SetYSize(imageHeightPixels);
DL3LD 1:1556bcaaf759 81 }
DL3LD 1:1556bcaaf759 82
DL3LD 1:1556bcaaf759 83 void LCD_DISCO_F746NG::LayerDefaultInit(uint16_t LayerIndex, uint32_t FrameBuffer)
DL3LD 1:1556bcaaf759 84 {
DL3LD 1:1556bcaaf759 85 BSP_LCD_LayerDefaultInit(LayerIndex, FrameBuffer);
DL3LD 1:1556bcaaf759 86 }
DL3LD 1:1556bcaaf759 87
DL3LD 1:1556bcaaf759 88 void LCD_DISCO_F746NG::LayerRgb565Init(uint16_t LayerIndex, uint32_t FB_Address)
DL3LD 1:1556bcaaf759 89 {
DL3LD 1:1556bcaaf759 90 BSP_LCD_LayerRgb565Init(LayerIndex, FB_Address);
DL3LD 1:1556bcaaf759 91 }
DL3LD 1:1556bcaaf759 92
DL3LD 1:1556bcaaf759 93 void LCD_DISCO_F746NG::SetTransparency(uint32_t LayerIndex, uint8_t Transparency)
DL3LD 1:1556bcaaf759 94 {
DL3LD 1:1556bcaaf759 95 BSP_LCD_SetTransparency(LayerIndex, Transparency);
DL3LD 1:1556bcaaf759 96 }
DL3LD 1:1556bcaaf759 97
DL3LD 1:1556bcaaf759 98 void LCD_DISCO_F746NG::SetLayerAddress(uint32_t LayerIndex, uint32_t Address)
DL3LD 1:1556bcaaf759 99 {
DL3LD 1:1556bcaaf759 100 BSP_LCD_SetLayerAddress(LayerIndex, Address);
DL3LD 1:1556bcaaf759 101 }
DL3LD 1:1556bcaaf759 102
DL3LD 1:1556bcaaf759 103 void LCD_DISCO_F746NG::SetColorKeying(uint32_t LayerIndex, uint32_t RGBValue)
DL3LD 1:1556bcaaf759 104 {
DL3LD 1:1556bcaaf759 105 BSP_LCD_SetColorKeying(LayerIndex, RGBValue);
DL3LD 1:1556bcaaf759 106 }
DL3LD 1:1556bcaaf759 107
DL3LD 1:1556bcaaf759 108 void LCD_DISCO_F746NG::ResetColorKeying(uint32_t LayerIndex)
DL3LD 1:1556bcaaf759 109 {
DL3LD 1:1556bcaaf759 110 BSP_LCD_ResetColorKeying(LayerIndex);
DL3LD 1:1556bcaaf759 111 }
DL3LD 1:1556bcaaf759 112
DL3LD 1:1556bcaaf759 113 void LCD_DISCO_F746NG::SetLayerWindow(uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
DL3LD 1:1556bcaaf759 114 {
DL3LD 1:1556bcaaf759 115 BSP_LCD_SetLayerWindow(LayerIndex, Xpos, Ypos, Width, Height);
DL3LD 1:1556bcaaf759 116 }
DL3LD 1:1556bcaaf759 117
DL3LD 1:1556bcaaf759 118 void LCD_DISCO_F746NG::SelectLayer(uint32_t LayerIndex)
DL3LD 1:1556bcaaf759 119 {
DL3LD 1:1556bcaaf759 120 BSP_LCD_SelectLayer(LayerIndex);
DL3LD 1:1556bcaaf759 121 }
DL3LD 1:1556bcaaf759 122
DL3LD 1:1556bcaaf759 123 void LCD_DISCO_F746NG::SetLayerVisible(uint32_t LayerIndex, FunctionalState State)
DL3LD 1:1556bcaaf759 124 {
DL3LD 1:1556bcaaf759 125 BSP_LCD_SetLayerVisible(LayerIndex, State);
DL3LD 1:1556bcaaf759 126 }
DL3LD 1:1556bcaaf759 127
DL3LD 1:1556bcaaf759 128 void LCD_DISCO_F746NG::SetTextColor(uint32_t Color)
DL3LD 1:1556bcaaf759 129 {
DL3LD 1:1556bcaaf759 130 BSP_LCD_SetTextColor(Color);
DL3LD 1:1556bcaaf759 131 }
DL3LD 1:1556bcaaf759 132
DL3LD 1:1556bcaaf759 133 uint32_t LCD_DISCO_F746NG::GetTextColor(void)
DL3LD 1:1556bcaaf759 134 {
DL3LD 1:1556bcaaf759 135 return BSP_LCD_GetTextColor();
DL3LD 1:1556bcaaf759 136 }
DL3LD 1:1556bcaaf759 137
DL3LD 1:1556bcaaf759 138 void LCD_DISCO_F746NG::SetBackColor(uint32_t Color)
DL3LD 1:1556bcaaf759 139 {
DL3LD 1:1556bcaaf759 140 BSP_LCD_SetBackColor(Color);
DL3LD 1:1556bcaaf759 141 }
DL3LD 1:1556bcaaf759 142
DL3LD 1:1556bcaaf759 143 uint32_t LCD_DISCO_F746NG::GetBackColor(void)
DL3LD 1:1556bcaaf759 144 {
DL3LD 1:1556bcaaf759 145 return BSP_LCD_GetBackColor();
DL3LD 1:1556bcaaf759 146 }
DL3LD 1:1556bcaaf759 147
DL3LD 1:1556bcaaf759 148 void LCD_DISCO_F746NG::SetFont(sFONT *fonts)
DL3LD 1:1556bcaaf759 149 {
DL3LD 1:1556bcaaf759 150 BSP_LCD_SetFont(fonts);
DL3LD 1:1556bcaaf759 151 }
DL3LD 1:1556bcaaf759 152
DL3LD 1:1556bcaaf759 153 sFONT *LCD_DISCO_F746NG::GetFont(void)
DL3LD 1:1556bcaaf759 154 {
DL3LD 1:1556bcaaf759 155 return BSP_LCD_GetFont();
DL3LD 1:1556bcaaf759 156 }
DL3LD 1:1556bcaaf759 157
DL3LD 1:1556bcaaf759 158 uint32_t LCD_DISCO_F746NG::ReadPixel(uint16_t Xpos, uint16_t Ypos)
DL3LD 1:1556bcaaf759 159 {
DL3LD 1:1556bcaaf759 160 return BSP_LCD_ReadPixel(Xpos, Ypos);
DL3LD 1:1556bcaaf759 161 }
DL3LD 1:1556bcaaf759 162
DL3LD 1:1556bcaaf759 163 void LCD_DISCO_F746NG::DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t pixel)
DL3LD 1:1556bcaaf759 164 {
DL3LD 1:1556bcaaf759 165 BSP_LCD_DrawPixel(Xpos, Ypos, pixel);
DL3LD 1:1556bcaaf759 166 }
DL3LD 1:1556bcaaf759 167
DL3LD 1:1556bcaaf759 168 void LCD_DISCO_F746NG::Clear(uint32_t Color)
DL3LD 1:1556bcaaf759 169 {
DL3LD 1:1556bcaaf759 170 BSP_LCD_Clear(Color);
DL3LD 1:1556bcaaf759 171 }
DL3LD 1:1556bcaaf759 172
DL3LD 1:1556bcaaf759 173 void LCD_DISCO_F746NG::ClearStringLine(uint32_t Line)
DL3LD 1:1556bcaaf759 174 {
DL3LD 1:1556bcaaf759 175 BSP_LCD_ClearStringLine(Line);
DL3LD 1:1556bcaaf759 176 }
DL3LD 1:1556bcaaf759 177
DL3LD 1:1556bcaaf759 178 void LCD_DISCO_F746NG::DisplayStringAtLine(uint16_t Line, uint8_t *ptr)
DL3LD 1:1556bcaaf759 179 {
DL3LD 1:1556bcaaf759 180 BSP_LCD_DisplayStringAtLine(Line, ptr);
DL3LD 1:1556bcaaf759 181 }
DL3LD 1:1556bcaaf759 182
DL3LD 1:1556bcaaf759 183 void LCD_DISCO_F746NG::DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode)
DL3LD 1:1556bcaaf759 184 {
DL3LD 1:1556bcaaf759 185 BSP_LCD_DisplayStringAt(Xpos, Ypos, Text, Mode);
DL3LD 1:1556bcaaf759 186 }
DL3LD 1:1556bcaaf759 187
DL3LD 1:1556bcaaf759 188 void LCD_DISCO_F746NG::DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
DL3LD 1:1556bcaaf759 189 {
DL3LD 1:1556bcaaf759 190 BSP_LCD_DisplayChar(Xpos, Ypos, Ascii);
DL3LD 1:1556bcaaf759 191 }
DL3LD 1:1556bcaaf759 192
DL3LD 1:1556bcaaf759 193 void LCD_DISCO_F746NG::DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
DL3LD 1:1556bcaaf759 194 {
DL3LD 1:1556bcaaf759 195 BSP_LCD_DrawHLine(Xpos, Ypos, Length);
DL3LD 1:1556bcaaf759 196 }
DL3LD 1:1556bcaaf759 197
DL3LD 1:1556bcaaf759 198 void LCD_DISCO_F746NG::DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
DL3LD 1:1556bcaaf759 199 {
DL3LD 1:1556bcaaf759 200 BSP_LCD_DrawVLine(Xpos, Ypos, Length);
DL3LD 1:1556bcaaf759 201 }
DL3LD 1:1556bcaaf759 202
DL3LD 1:1556bcaaf759 203 void LCD_DISCO_F746NG::DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2)
DL3LD 1:1556bcaaf759 204 {
DL3LD 1:1556bcaaf759 205 BSP_LCD_DrawLine(x1, y1, x2, y2);
DL3LD 1:1556bcaaf759 206 }
DL3LD 1:1556bcaaf759 207
DL3LD 1:1556bcaaf759 208 void LCD_DISCO_F746NG::DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
DL3LD 1:1556bcaaf759 209 {
DL3LD 1:1556bcaaf759 210 BSP_LCD_DrawRect(Xpos, Ypos, Width, Height);
DL3LD 1:1556bcaaf759 211 }
DL3LD 1:1556bcaaf759 212
DL3LD 1:1556bcaaf759 213 void LCD_DISCO_F746NG::DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
DL3LD 1:1556bcaaf759 214 {
DL3LD 1:1556bcaaf759 215 BSP_LCD_DrawCircle(Xpos, Ypos, Radius);
DL3LD 1:1556bcaaf759 216 }
DL3LD 1:1556bcaaf759 217
DL3LD 1:1556bcaaf759 218 void LCD_DISCO_F746NG::DrawPolygon(pPoint Points, uint16_t PointCount)
DL3LD 1:1556bcaaf759 219 {
DL3LD 1:1556bcaaf759 220 BSP_LCD_DrawPolygon(Points, PointCount);
DL3LD 1:1556bcaaf759 221 }
DL3LD 1:1556bcaaf759 222
DL3LD 1:1556bcaaf759 223 void LCD_DISCO_F746NG::DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
DL3LD 1:1556bcaaf759 224 {
DL3LD 1:1556bcaaf759 225 BSP_LCD_DrawEllipse(Xpos, Ypos, XRadius, YRadius);
DL3LD 1:1556bcaaf759 226 }
DL3LD 1:1556bcaaf759 227
DL3LD 1:1556bcaaf759 228 void LCD_DISCO_F746NG::DrawBitmap(uint32_t Xpos, uint32_t Ypos, uint8_t *pbmp)
DL3LD 1:1556bcaaf759 229 {
DL3LD 1:1556bcaaf759 230 BSP_LCD_DrawBitmap(Xpos, Ypos, pbmp);
DL3LD 1:1556bcaaf759 231 }
DL3LD 1:1556bcaaf759 232
DL3LD 1:1556bcaaf759 233 void LCD_DISCO_F746NG::FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
DL3LD 1:1556bcaaf759 234 {
DL3LD 1:1556bcaaf759 235 BSP_LCD_FillRect(Xpos, Ypos, Width, Height);
DL3LD 1:1556bcaaf759 236 }
DL3LD 1:1556bcaaf759 237
DL3LD 1:1556bcaaf759 238 void LCD_DISCO_F746NG::FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
DL3LD 1:1556bcaaf759 239 {
DL3LD 1:1556bcaaf759 240 BSP_LCD_FillCircle(Xpos, Ypos, Radius);
DL3LD 1:1556bcaaf759 241 }
DL3LD 1:1556bcaaf759 242
DL3LD 1:1556bcaaf759 243 void LCD_DISCO_F746NG::FillPolygon(pPoint Points, uint16_t PointCount)
DL3LD 1:1556bcaaf759 244 {
DL3LD 1:1556bcaaf759 245 BSP_LCD_FillPolygon(Points, PointCount);
DL3LD 1:1556bcaaf759 246 }
DL3LD 1:1556bcaaf759 247
DL3LD 1:1556bcaaf759 248 void LCD_DISCO_F746NG::FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
DL3LD 1:1556bcaaf759 249 {
DL3LD 1:1556bcaaf759 250 BSP_LCD_FillEllipse(Xpos, Ypos, XRadius, YRadius);
DL3LD 1:1556bcaaf759 251 }
DL3LD 1:1556bcaaf759 252
DL3LD 1:1556bcaaf759 253 void LCD_DISCO_F746NG::DisplayOff(void)
DL3LD 1:1556bcaaf759 254 {
DL3LD 1:1556bcaaf759 255 BSP_LCD_DisplayOff();
DL3LD 1:1556bcaaf759 256 }
DL3LD 1:1556bcaaf759 257
DL3LD 1:1556bcaaf759 258 void LCD_DISCO_F746NG::DisplayOn(void)
DL3LD 1:1556bcaaf759 259 {
DL3LD 1:1556bcaaf759 260 BSP_LCD_DisplayOn();
DL3LD 1:1556bcaaf759 261 }
DL3LD 1:1556bcaaf759 262
DL3LD 1:1556bcaaf759 263 //=================================================================================================================
DL3LD 1:1556bcaaf759 264 // Private methods
DL3LD 1:1556bcaaf759 265 //=================================================================================================================
DL3LD 1:1556bcaaf759 266