SPKT

Dependents:   LCD

Committer:
fundokukiri
Date:
Fri Jun 07 17:31:13 2019 +0000
Revision:
0:cf10ae4cedd3
LCD_F746

Who changed what in which revision?

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