lcd

Dependencies:   DS1307

Committer:
hameddejnabadi
Date:
Mon Aug 05 05:58:35 2019 +0000
Revision:
0:c9901a4a9245
qwe

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hameddejnabadi 0:c9901a4a9245 1 /* Copyright (c) 2010-2011 mbed.org, MIT License
hameddejnabadi 0:c9901a4a9245 2 *
hameddejnabadi 0:c9901a4a9245 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
hameddejnabadi 0:c9901a4a9245 4 * and associated documentation files (the "Software"), to deal in the Software without
hameddejnabadi 0:c9901a4a9245 5 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
hameddejnabadi 0:c9901a4a9245 6 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
hameddejnabadi 0:c9901a4a9245 7 * Software is furnished to do so, subject to the following conditions:
hameddejnabadi 0:c9901a4a9245 8 *
hameddejnabadi 0:c9901a4a9245 9 * The above copyright notice and this permission notice shall be included in all copies or
hameddejnabadi 0:c9901a4a9245 10 * substantial portions of the Software.
hameddejnabadi 0:c9901a4a9245 11 *
hameddejnabadi 0:c9901a4a9245 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
hameddejnabadi 0:c9901a4a9245 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
hameddejnabadi 0:c9901a4a9245 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
hameddejnabadi 0:c9901a4a9245 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
hameddejnabadi 0:c9901a4a9245 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
hameddejnabadi 0:c9901a4a9245 17 */
hameddejnabadi 0:c9901a4a9245 18
hameddejnabadi 0:c9901a4a9245 19 #include "LCD_DISCO_F746NG.h"
hameddejnabadi 0:c9901a4a9245 20
hameddejnabadi 0:c9901a4a9245 21 // Constructor
hameddejnabadi 0:c9901a4a9245 22 LCD_DISCO_F746NG::LCD_DISCO_F746NG()
hameddejnabadi 0:c9901a4a9245 23 {
hameddejnabadi 0:c9901a4a9245 24 BSP_LCD_Init();
hameddejnabadi 0:c9901a4a9245 25
hameddejnabadi 0:c9901a4a9245 26 BSP_LCD_LayerDefaultInit(0, LCD_FB_START_ADDRESS);
hameddejnabadi 0:c9901a4a9245 27 BSP_LCD_LayerDefaultInit(1, LCD_FB_START_ADDRESS+(BSP_LCD_GetXSize()*BSP_LCD_GetYSize()*4));
hameddejnabadi 0:c9901a4a9245 28
hameddejnabadi 0:c9901a4a9245 29 BSP_LCD_DisplayOn();
hameddejnabadi 0:c9901a4a9245 30
hameddejnabadi 0:c9901a4a9245 31 BSP_LCD_SelectLayer(0);
hameddejnabadi 0:c9901a4a9245 32 BSP_LCD_Clear(LCD_COLOR_BLACK);
hameddejnabadi 0:c9901a4a9245 33
hameddejnabadi 0:c9901a4a9245 34 BSP_LCD_SelectLayer(1);
hameddejnabadi 0:c9901a4a9245 35 BSP_LCD_Clear(LCD_COLOR_BLACK);
hameddejnabadi 0:c9901a4a9245 36
hameddejnabadi 0:c9901a4a9245 37 BSP_LCD_SetFont(&LCD_DEFAULT_FONT);
hameddejnabadi 0:c9901a4a9245 38
hameddejnabadi 0:c9901a4a9245 39 BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
hameddejnabadi 0:c9901a4a9245 40 BSP_LCD_SetTextColor(LCD_COLOR_DARKBLUE);
hameddejnabadi 0:c9901a4a9245 41 }
hameddejnabadi 0:c9901a4a9245 42
hameddejnabadi 0:c9901a4a9245 43 // Destructor
hameddejnabadi 0:c9901a4a9245 44 LCD_DISCO_F746NG::~LCD_DISCO_F746NG()
hameddejnabadi 0:c9901a4a9245 45 {
hameddejnabadi 0:c9901a4a9245 46 BSP_LCD_DeInit();
hameddejnabadi 0:c9901a4a9245 47 }
hameddejnabadi 0:c9901a4a9245 48
hameddejnabadi 0:c9901a4a9245 49 //=================================================================================================================
hameddejnabadi 0:c9901a4a9245 50 // Public methods
hameddejnabadi 0:c9901a4a9245 51 //=================================================================================================================
hameddejnabadi 0:c9901a4a9245 52
hameddejnabadi 0:c9901a4a9245 53 uint8_t LCD_DISCO_F746NG::Init(void)
hameddejnabadi 0:c9901a4a9245 54 {
hameddejnabadi 0:c9901a4a9245 55 return BSP_LCD_Init();
hameddejnabadi 0:c9901a4a9245 56 }
hameddejnabadi 0:c9901a4a9245 57
hameddejnabadi 0:c9901a4a9245 58 uint8_t LCD_DISCO_F746NG::DeInit(void)
hameddejnabadi 0:c9901a4a9245 59 {
hameddejnabadi 0:c9901a4a9245 60 return BSP_LCD_DeInit();
hameddejnabadi 0:c9901a4a9245 61 }
hameddejnabadi 0:c9901a4a9245 62
hameddejnabadi 0:c9901a4a9245 63 uint32_t LCD_DISCO_F746NG::GetXSize(void)
hameddejnabadi 0:c9901a4a9245 64 {
hameddejnabadi 0:c9901a4a9245 65 return BSP_LCD_GetXSize();
hameddejnabadi 0:c9901a4a9245 66 }
hameddejnabadi 0:c9901a4a9245 67
hameddejnabadi 0:c9901a4a9245 68 uint32_t LCD_DISCO_F746NG::GetYSize(void)
hameddejnabadi 0:c9901a4a9245 69 {
hameddejnabadi 0:c9901a4a9245 70 return BSP_LCD_GetYSize();
hameddejnabadi 0:c9901a4a9245 71 }
hameddejnabadi 0:c9901a4a9245 72
hameddejnabadi 0:c9901a4a9245 73 void LCD_DISCO_F746NG::SetXSize(uint32_t imageWidthPixels)
hameddejnabadi 0:c9901a4a9245 74 {
hameddejnabadi 0:c9901a4a9245 75 BSP_LCD_SetXSize(imageWidthPixels);
hameddejnabadi 0:c9901a4a9245 76 }
hameddejnabadi 0:c9901a4a9245 77
hameddejnabadi 0:c9901a4a9245 78 void LCD_DISCO_F746NG::SetYSize(uint32_t imageHeightPixels)
hameddejnabadi 0:c9901a4a9245 79 {
hameddejnabadi 0:c9901a4a9245 80 BSP_LCD_SetYSize(imageHeightPixels);
hameddejnabadi 0:c9901a4a9245 81 }
hameddejnabadi 0:c9901a4a9245 82
hameddejnabadi 0:c9901a4a9245 83 void LCD_DISCO_F746NG::LayerDefaultInit(uint16_t LayerIndex, uint32_t FrameBuffer)
hameddejnabadi 0:c9901a4a9245 84 {
hameddejnabadi 0:c9901a4a9245 85 BSP_LCD_LayerDefaultInit(LayerIndex, FrameBuffer);
hameddejnabadi 0:c9901a4a9245 86 }
hameddejnabadi 0:c9901a4a9245 87
hameddejnabadi 0:c9901a4a9245 88 void LCD_DISCO_F746NG::LayerRgb565Init(uint16_t LayerIndex, uint32_t FB_Address)
hameddejnabadi 0:c9901a4a9245 89 {
hameddejnabadi 0:c9901a4a9245 90 BSP_LCD_LayerRgb565Init(LayerIndex, FB_Address);
hameddejnabadi 0:c9901a4a9245 91 }
hameddejnabadi 0:c9901a4a9245 92
hameddejnabadi 0:c9901a4a9245 93 void LCD_DISCO_F746NG::SetTransparency(uint32_t LayerIndex, uint8_t Transparency)
hameddejnabadi 0:c9901a4a9245 94 {
hameddejnabadi 0:c9901a4a9245 95 BSP_LCD_SetTransparency(LayerIndex, Transparency);
hameddejnabadi 0:c9901a4a9245 96 }
hameddejnabadi 0:c9901a4a9245 97
hameddejnabadi 0:c9901a4a9245 98 void LCD_DISCO_F746NG::SetLayerAddress(uint32_t LayerIndex, uint32_t Address)
hameddejnabadi 0:c9901a4a9245 99 {
hameddejnabadi 0:c9901a4a9245 100 BSP_LCD_SetLayerAddress(LayerIndex, Address);
hameddejnabadi 0:c9901a4a9245 101 }
hameddejnabadi 0:c9901a4a9245 102
hameddejnabadi 0:c9901a4a9245 103 void LCD_DISCO_F746NG::SetColorKeying(uint32_t LayerIndex, uint32_t RGBValue)
hameddejnabadi 0:c9901a4a9245 104 {
hameddejnabadi 0:c9901a4a9245 105 BSP_LCD_SetColorKeying(LayerIndex, RGBValue);
hameddejnabadi 0:c9901a4a9245 106 }
hameddejnabadi 0:c9901a4a9245 107
hameddejnabadi 0:c9901a4a9245 108 void LCD_DISCO_F746NG::ResetColorKeying(uint32_t LayerIndex)
hameddejnabadi 0:c9901a4a9245 109 {
hameddejnabadi 0:c9901a4a9245 110 BSP_LCD_ResetColorKeying(LayerIndex);
hameddejnabadi 0:c9901a4a9245 111 }
hameddejnabadi 0:c9901a4a9245 112
hameddejnabadi 0:c9901a4a9245 113 void LCD_DISCO_F746NG::SetLayerWindow(uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
hameddejnabadi 0:c9901a4a9245 114 {
hameddejnabadi 0:c9901a4a9245 115 BSP_LCD_SetLayerWindow(LayerIndex, Xpos, Ypos, Width, Height);
hameddejnabadi 0:c9901a4a9245 116 }
hameddejnabadi 0:c9901a4a9245 117
hameddejnabadi 0:c9901a4a9245 118 void LCD_DISCO_F746NG::SelectLayer(uint32_t LayerIndex)
hameddejnabadi 0:c9901a4a9245 119 {
hameddejnabadi 0:c9901a4a9245 120 BSP_LCD_SelectLayer(LayerIndex);
hameddejnabadi 0:c9901a4a9245 121 }
hameddejnabadi 0:c9901a4a9245 122
hameddejnabadi 0:c9901a4a9245 123 void LCD_DISCO_F746NG::SetLayerVisible(uint32_t LayerIndex, FunctionalState State)
hameddejnabadi 0:c9901a4a9245 124 {
hameddejnabadi 0:c9901a4a9245 125 BSP_LCD_SetLayerVisible(LayerIndex, State);
hameddejnabadi 0:c9901a4a9245 126 }
hameddejnabadi 0:c9901a4a9245 127
hameddejnabadi 0:c9901a4a9245 128 void LCD_DISCO_F746NG::SetTextColor(uint32_t Color)
hameddejnabadi 0:c9901a4a9245 129 {
hameddejnabadi 0:c9901a4a9245 130 BSP_LCD_SetTextColor(Color);
hameddejnabadi 0:c9901a4a9245 131 }
hameddejnabadi 0:c9901a4a9245 132
hameddejnabadi 0:c9901a4a9245 133 uint32_t LCD_DISCO_F746NG::GetTextColor(void)
hameddejnabadi 0:c9901a4a9245 134 {
hameddejnabadi 0:c9901a4a9245 135 return BSP_LCD_GetTextColor();
hameddejnabadi 0:c9901a4a9245 136 }
hameddejnabadi 0:c9901a4a9245 137
hameddejnabadi 0:c9901a4a9245 138 void LCD_DISCO_F746NG::SetBackColor(uint32_t Color)
hameddejnabadi 0:c9901a4a9245 139 {
hameddejnabadi 0:c9901a4a9245 140 BSP_LCD_SetBackColor(Color);
hameddejnabadi 0:c9901a4a9245 141 }
hameddejnabadi 0:c9901a4a9245 142
hameddejnabadi 0:c9901a4a9245 143 uint32_t LCD_DISCO_F746NG::GetBackColor(void)
hameddejnabadi 0:c9901a4a9245 144 {
hameddejnabadi 0:c9901a4a9245 145 return BSP_LCD_GetBackColor();
hameddejnabadi 0:c9901a4a9245 146 }
hameddejnabadi 0:c9901a4a9245 147
hameddejnabadi 0:c9901a4a9245 148 void LCD_DISCO_F746NG::SetFont(sFONT *fonts)
hameddejnabadi 0:c9901a4a9245 149 {
hameddejnabadi 0:c9901a4a9245 150 BSP_LCD_SetFont(fonts);
hameddejnabadi 0:c9901a4a9245 151 }
hameddejnabadi 0:c9901a4a9245 152
hameddejnabadi 0:c9901a4a9245 153 sFONT *LCD_DISCO_F746NG::GetFont(void)
hameddejnabadi 0:c9901a4a9245 154 {
hameddejnabadi 0:c9901a4a9245 155 return BSP_LCD_GetFont();
hameddejnabadi 0:c9901a4a9245 156 }
hameddejnabadi 0:c9901a4a9245 157
hameddejnabadi 0:c9901a4a9245 158 uint32_t LCD_DISCO_F746NG::ReadPixel(uint16_t Xpos, uint16_t Ypos)
hameddejnabadi 0:c9901a4a9245 159 {
hameddejnabadi 0:c9901a4a9245 160 return BSP_LCD_ReadPixel(Xpos, Ypos);
hameddejnabadi 0:c9901a4a9245 161 }
hameddejnabadi 0:c9901a4a9245 162
hameddejnabadi 0:c9901a4a9245 163 void LCD_DISCO_F746NG::DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t pixel)
hameddejnabadi 0:c9901a4a9245 164 {
hameddejnabadi 0:c9901a4a9245 165 BSP_LCD_DrawPixel(Xpos, Ypos, pixel);
hameddejnabadi 0:c9901a4a9245 166 }
hameddejnabadi 0:c9901a4a9245 167
hameddejnabadi 0:c9901a4a9245 168 void LCD_DISCO_F746NG::Clear(uint32_t Color)
hameddejnabadi 0:c9901a4a9245 169 {
hameddejnabadi 0:c9901a4a9245 170 BSP_LCD_Clear(Color);
hameddejnabadi 0:c9901a4a9245 171 }
hameddejnabadi 0:c9901a4a9245 172
hameddejnabadi 0:c9901a4a9245 173 void LCD_DISCO_F746NG::ClearStringLine(uint32_t Line)
hameddejnabadi 0:c9901a4a9245 174 {
hameddejnabadi 0:c9901a4a9245 175 BSP_LCD_ClearStringLine(Line);
hameddejnabadi 0:c9901a4a9245 176 }
hameddejnabadi 0:c9901a4a9245 177
hameddejnabadi 0:c9901a4a9245 178 void LCD_DISCO_F746NG::DisplayStringAtLine(uint16_t Line, uint8_t *ptr)
hameddejnabadi 0:c9901a4a9245 179 {
hameddejnabadi 0:c9901a4a9245 180 BSP_LCD_DisplayStringAtLine(Line, ptr);
hameddejnabadi 0:c9901a4a9245 181 }
hameddejnabadi 0:c9901a4a9245 182
hameddejnabadi 0:c9901a4a9245 183 void LCD_DISCO_F746NG::DisplayStringAt(uint16_t Xpos, uint16_t Ypos, uint8_t *Text, Text_AlignModeTypdef Mode)
hameddejnabadi 0:c9901a4a9245 184 {
hameddejnabadi 0:c9901a4a9245 185 BSP_LCD_DisplayStringAt(Xpos, Ypos, Text, Mode);
hameddejnabadi 0:c9901a4a9245 186 }
hameddejnabadi 0:c9901a4a9245 187
hameddejnabadi 0:c9901a4a9245 188 void LCD_DISCO_F746NG::DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
hameddejnabadi 0:c9901a4a9245 189 {
hameddejnabadi 0:c9901a4a9245 190 BSP_LCD_DisplayChar(Xpos, Ypos, Ascii);
hameddejnabadi 0:c9901a4a9245 191 }
hameddejnabadi 0:c9901a4a9245 192
hameddejnabadi 0:c9901a4a9245 193 void LCD_DISCO_F746NG::DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
hameddejnabadi 0:c9901a4a9245 194 {
hameddejnabadi 0:c9901a4a9245 195 BSP_LCD_DrawHLine(Xpos, Ypos, Length);
hameddejnabadi 0:c9901a4a9245 196 }
hameddejnabadi 0:c9901a4a9245 197
hameddejnabadi 0:c9901a4a9245 198 void LCD_DISCO_F746NG::DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
hameddejnabadi 0:c9901a4a9245 199 {
hameddejnabadi 0:c9901a4a9245 200 BSP_LCD_DrawVLine(Xpos, Ypos, Length);
hameddejnabadi 0:c9901a4a9245 201 }
hameddejnabadi 0:c9901a4a9245 202
hameddejnabadi 0:c9901a4a9245 203 void LCD_DISCO_F746NG::DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2)
hameddejnabadi 0:c9901a4a9245 204 {
hameddejnabadi 0:c9901a4a9245 205 BSP_LCD_DrawLine(x1, y1, x2, y2);
hameddejnabadi 0:c9901a4a9245 206 }
hameddejnabadi 0:c9901a4a9245 207
hameddejnabadi 0:c9901a4a9245 208 void LCD_DISCO_F746NG::DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
hameddejnabadi 0:c9901a4a9245 209 {
hameddejnabadi 0:c9901a4a9245 210 BSP_LCD_DrawRect(Xpos, Ypos, Width, Height);
hameddejnabadi 0:c9901a4a9245 211 }
hameddejnabadi 0:c9901a4a9245 212
hameddejnabadi 0:c9901a4a9245 213 void LCD_DISCO_F746NG::DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
hameddejnabadi 0:c9901a4a9245 214 {
hameddejnabadi 0:c9901a4a9245 215 BSP_LCD_DrawCircle(Xpos, Ypos, Radius);
hameddejnabadi 0:c9901a4a9245 216 }
hameddejnabadi 0:c9901a4a9245 217
hameddejnabadi 0:c9901a4a9245 218 void LCD_DISCO_F746NG::DrawPolygon(pPoint Points, uint16_t PointCount)
hameddejnabadi 0:c9901a4a9245 219 {
hameddejnabadi 0:c9901a4a9245 220 BSP_LCD_DrawPolygon(Points, PointCount);
hameddejnabadi 0:c9901a4a9245 221 }
hameddejnabadi 0:c9901a4a9245 222
hameddejnabadi 0:c9901a4a9245 223 void LCD_DISCO_F746NG::DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
hameddejnabadi 0:c9901a4a9245 224 {
hameddejnabadi 0:c9901a4a9245 225 BSP_LCD_DrawEllipse(Xpos, Ypos, XRadius, YRadius);
hameddejnabadi 0:c9901a4a9245 226 }
hameddejnabadi 0:c9901a4a9245 227
hameddejnabadi 0:c9901a4a9245 228 void LCD_DISCO_F746NG::DrawBitmap(uint32_t Xpos, uint32_t Ypos, uint8_t *pbmp)
hameddejnabadi 0:c9901a4a9245 229 {
hameddejnabadi 0:c9901a4a9245 230 BSP_LCD_DrawBitmap(Xpos, Ypos, pbmp);
hameddejnabadi 0:c9901a4a9245 231 }
hameddejnabadi 0:c9901a4a9245 232
hameddejnabadi 0:c9901a4a9245 233 void LCD_DISCO_F746NG::FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
hameddejnabadi 0:c9901a4a9245 234 {
hameddejnabadi 0:c9901a4a9245 235 BSP_LCD_FillRect(Xpos, Ypos, Width, Height);
hameddejnabadi 0:c9901a4a9245 236 }
hameddejnabadi 0:c9901a4a9245 237
hameddejnabadi 0:c9901a4a9245 238 void LCD_DISCO_F746NG::FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
hameddejnabadi 0:c9901a4a9245 239 {
hameddejnabadi 0:c9901a4a9245 240 BSP_LCD_FillCircle(Xpos, Ypos, Radius);
hameddejnabadi 0:c9901a4a9245 241 }
hameddejnabadi 0:c9901a4a9245 242
hameddejnabadi 0:c9901a4a9245 243 void LCD_DISCO_F746NG::FillPolygon(pPoint Points, uint16_t PointCount)
hameddejnabadi 0:c9901a4a9245 244 {
hameddejnabadi 0:c9901a4a9245 245 BSP_LCD_FillPolygon(Points, PointCount);
hameddejnabadi 0:c9901a4a9245 246 }
hameddejnabadi 0:c9901a4a9245 247
hameddejnabadi 0:c9901a4a9245 248 void LCD_DISCO_F746NG::FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
hameddejnabadi 0:c9901a4a9245 249 {
hameddejnabadi 0:c9901a4a9245 250 BSP_LCD_FillEllipse(Xpos, Ypos, XRadius, YRadius);
hameddejnabadi 0:c9901a4a9245 251 }
hameddejnabadi 0:c9901a4a9245 252
hameddejnabadi 0:c9901a4a9245 253 void LCD_DISCO_F746NG::DisplayOff(void)
hameddejnabadi 0:c9901a4a9245 254 {
hameddejnabadi 0:c9901a4a9245 255 BSP_LCD_DisplayOff();
hameddejnabadi 0:c9901a4a9245 256 }
hameddejnabadi 0:c9901a4a9245 257
hameddejnabadi 0:c9901a4a9245 258 void LCD_DISCO_F746NG::DisplayOn(void)
hameddejnabadi 0:c9901a4a9245 259 {
hameddejnabadi 0:c9901a4a9245 260 BSP_LCD_DisplayOn();
hameddejnabadi 0:c9901a4a9245 261 }
hameddejnabadi 0:c9901a4a9245 262
hameddejnabadi 0:c9901a4a9245 263 //=================================================================================================================
hameddejnabadi 0:c9901a4a9245 264 // Private methods
hameddejnabadi 0:c9901a4a9245 265 //=================================================================================================================