2b

Committer:
shinoku99
Date:
Sat May 16 12:01:41 2020 +0000
Revision:
1:057b63c02182
Parent:
0:dc55a068bc1a
2b

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:dc55a068bc1a 1 #include "LCD_DISCO_F429ZI.h"
bcostm 0:dc55a068bc1a 2
bcostm 0:dc55a068bc1a 3 #define LCD_FRAME_BUFFER_LAYER0 (LCD_FRAME_BUFFER+0x130000)
bcostm 0:dc55a068bc1a 4 #define LCD_FRAME_BUFFER_LAYER1 LCD_FRAME_BUFFER
bcostm 0:dc55a068bc1a 5 #define CONVERTED_FRAME_BUFFER (LCD_FRAME_BUFFER+0x260000)
bcostm 0:dc55a068bc1a 6
bcostm 0:dc55a068bc1a 7 // Constructor
bcostm 0:dc55a068bc1a 8 LCD_DISCO_F429ZI::LCD_DISCO_F429ZI()
bcostm 0:dc55a068bc1a 9 {
bcostm 0:dc55a068bc1a 10 BSP_LCD_Init();
bcostm 0:dc55a068bc1a 11 BSP_LCD_LayerDefaultInit(1, LCD_FRAME_BUFFER_LAYER1);
bcostm 0:dc55a068bc1a 12 BSP_LCD_SelectLayer(1);
bcostm 0:dc55a068bc1a 13 BSP_LCD_Clear(LCD_COLOR_WHITE);
bcostm 0:dc55a068bc1a 14 BSP_LCD_SetColorKeying(1, LCD_COLOR_WHITE);
bcostm 0:dc55a068bc1a 15 BSP_LCD_SetLayerVisible(1, DISABLE);
bcostm 0:dc55a068bc1a 16 BSP_LCD_LayerDefaultInit(0, LCD_FRAME_BUFFER_LAYER0);
bcostm 0:dc55a068bc1a 17 BSP_LCD_SelectLayer(0);
bcostm 0:dc55a068bc1a 18 BSP_LCD_SetFont(&Font16);
bcostm 0:dc55a068bc1a 19 BSP_LCD_DisplayOn();
bcostm 0:dc55a068bc1a 20 BSP_LCD_Clear(LCD_COLOR_WHITE);
bcostm 0:dc55a068bc1a 21 }
bcostm 0:dc55a068bc1a 22
bcostm 0:dc55a068bc1a 23 // Destructor
bcostm 0:dc55a068bc1a 24 LCD_DISCO_F429ZI::~LCD_DISCO_F429ZI()
bcostm 0:dc55a068bc1a 25 {
bcostm 0:dc55a068bc1a 26
bcostm 0:dc55a068bc1a 27 }
bcostm 0:dc55a068bc1a 28
bcostm 0:dc55a068bc1a 29 //=================================================================================================================
bcostm 0:dc55a068bc1a 30 // Public methods
bcostm 0:dc55a068bc1a 31 //=================================================================================================================
bcostm 0:dc55a068bc1a 32
bcostm 0:dc55a068bc1a 33 uint8_t LCD_DISCO_F429ZI::Init(void)
bcostm 0:dc55a068bc1a 34 {
bcostm 0:dc55a068bc1a 35 return BSP_LCD_Init();
bcostm 0:dc55a068bc1a 36 }
bcostm 0:dc55a068bc1a 37
bcostm 0:dc55a068bc1a 38 uint32_t LCD_DISCO_F429ZI::GetXSize(void)
bcostm 0:dc55a068bc1a 39 {
bcostm 0:dc55a068bc1a 40 return BSP_LCD_GetXSize();
bcostm 0:dc55a068bc1a 41 }
bcostm 0:dc55a068bc1a 42
bcostm 0:dc55a068bc1a 43 uint32_t LCD_DISCO_F429ZI::GetYSize(void)
bcostm 0:dc55a068bc1a 44 {
bcostm 0:dc55a068bc1a 45 return BSP_LCD_GetYSize();
bcostm 0:dc55a068bc1a 46 }
bcostm 0:dc55a068bc1a 47
bcostm 0:dc55a068bc1a 48 void LCD_DISCO_F429ZI::LayerDefaultInit(uint16_t LayerIndex, uint32_t FB_Address)
bcostm 0:dc55a068bc1a 49 {
bcostm 0:dc55a068bc1a 50 BSP_LCD_LayerDefaultInit(LayerIndex, FB_Address);
bcostm 0:dc55a068bc1a 51 }
bcostm 0:dc55a068bc1a 52
bcostm 0:dc55a068bc1a 53 void LCD_DISCO_F429ZI::SelectLayer(uint32_t LayerIndex)
bcostm 0:dc55a068bc1a 54 {
bcostm 0:dc55a068bc1a 55 BSP_LCD_SelectLayer(LayerIndex);
bcostm 0:dc55a068bc1a 56 }
bcostm 0:dc55a068bc1a 57
bcostm 0:dc55a068bc1a 58 void LCD_DISCO_F429ZI::SetLayerVisible(uint32_t LayerIndex, FunctionalState state)
bcostm 0:dc55a068bc1a 59 {
bcostm 0:dc55a068bc1a 60 BSP_LCD_SetLayerVisible(LayerIndex, state);
bcostm 0:dc55a068bc1a 61 }
bcostm 0:dc55a068bc1a 62
bcostm 0:dc55a068bc1a 63 void LCD_DISCO_F429ZI::SetTransparency(uint32_t LayerIndex, uint8_t Transparency)
bcostm 0:dc55a068bc1a 64 {
bcostm 0:dc55a068bc1a 65 BSP_LCD_SetTransparency(LayerIndex, Transparency);
bcostm 0:dc55a068bc1a 66 }
bcostm 0:dc55a068bc1a 67
bcostm 0:dc55a068bc1a 68 void LCD_DISCO_F429ZI::SetLayerAddress(uint32_t LayerIndex, uint32_t Address)
bcostm 0:dc55a068bc1a 69 {
bcostm 0:dc55a068bc1a 70 BSP_LCD_SetLayerAddress(LayerIndex, Address);
bcostm 0:dc55a068bc1a 71 }
bcostm 0:dc55a068bc1a 72
bcostm 0:dc55a068bc1a 73 void LCD_DISCO_F429ZI::SetLayerWindow(uint16_t LayerIndex, uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
bcostm 0:dc55a068bc1a 74 {
bcostm 0:dc55a068bc1a 75 BSP_LCD_SetLayerWindow(LayerIndex, Xpos, Ypos, Width, Height);
bcostm 0:dc55a068bc1a 76 }
bcostm 0:dc55a068bc1a 77
bcostm 0:dc55a068bc1a 78 void LCD_DISCO_F429ZI::SetColorKeying(uint32_t LayerIndex, uint32_t RGBValue)
bcostm 0:dc55a068bc1a 79 {
bcostm 0:dc55a068bc1a 80 BSP_LCD_SetColorKeying(LayerIndex, RGBValue);
bcostm 0:dc55a068bc1a 81 }
bcostm 0:dc55a068bc1a 82
bcostm 0:dc55a068bc1a 83 void LCD_DISCO_F429ZI::ResetColorKeying(uint32_t LayerIndex)
bcostm 0:dc55a068bc1a 84 {
bcostm 0:dc55a068bc1a 85 BSP_LCD_ResetColorKeying(LayerIndex);
bcostm 0:dc55a068bc1a 86 }
bcostm 0:dc55a068bc1a 87
bcostm 0:dc55a068bc1a 88 uint32_t LCD_DISCO_F429ZI::GetTextColor(void)
bcostm 0:dc55a068bc1a 89 {
bcostm 0:dc55a068bc1a 90 return BSP_LCD_GetTextColor();
bcostm 0:dc55a068bc1a 91 }
bcostm 0:dc55a068bc1a 92
bcostm 0:dc55a068bc1a 93 uint32_t LCD_DISCO_F429ZI::GetBackColor(void)
bcostm 0:dc55a068bc1a 94 {
bcostm 0:dc55a068bc1a 95 return BSP_LCD_GetBackColor();
bcostm 0:dc55a068bc1a 96 }
bcostm 0:dc55a068bc1a 97
bcostm 0:dc55a068bc1a 98 void LCD_DISCO_F429ZI::SetTextColor(uint32_t Color)
bcostm 0:dc55a068bc1a 99 {
bcostm 0:dc55a068bc1a 100 BSP_LCD_SetTextColor(Color);
bcostm 0:dc55a068bc1a 101 }
bcostm 0:dc55a068bc1a 102
bcostm 0:dc55a068bc1a 103 void LCD_DISCO_F429ZI::SetBackColor(uint32_t Color)
bcostm 0:dc55a068bc1a 104 {
bcostm 0:dc55a068bc1a 105 BSP_LCD_SetBackColor(Color);
bcostm 0:dc55a068bc1a 106 }
bcostm 0:dc55a068bc1a 107
bcostm 0:dc55a068bc1a 108 void LCD_DISCO_F429ZI::SetFont(sFONT *pFonts)
bcostm 0:dc55a068bc1a 109 {
bcostm 0:dc55a068bc1a 110 BSP_LCD_SetFont(pFonts);
bcostm 0:dc55a068bc1a 111 }
bcostm 0:dc55a068bc1a 112
bcostm 0:dc55a068bc1a 113 sFONT *LCD_DISCO_F429ZI::GetFont(void)
bcostm 0:dc55a068bc1a 114 {
bcostm 0:dc55a068bc1a 115 return BSP_LCD_GetFont();
bcostm 0:dc55a068bc1a 116 }
bcostm 0:dc55a068bc1a 117
bcostm 0:dc55a068bc1a 118 uint32_t LCD_DISCO_F429ZI::ReadPixel(uint16_t Xpos, uint16_t Ypos)
bcostm 0:dc55a068bc1a 119 {
bcostm 0:dc55a068bc1a 120 return BSP_LCD_ReadPixel(Xpos, Ypos);
bcostm 0:dc55a068bc1a 121 }
bcostm 0:dc55a068bc1a 122
bcostm 0:dc55a068bc1a 123 void LCD_DISCO_F429ZI::Clear(uint32_t Color)
bcostm 0:dc55a068bc1a 124 {
bcostm 0:dc55a068bc1a 125 BSP_LCD_Clear(Color);
bcostm 0:dc55a068bc1a 126 }
bcostm 0:dc55a068bc1a 127
bcostm 0:dc55a068bc1a 128 void LCD_DISCO_F429ZI::ClearStringLine(uint32_t Line)
bcostm 0:dc55a068bc1a 129 {
bcostm 0:dc55a068bc1a 130 BSP_LCD_ClearStringLine(Line);
bcostm 0:dc55a068bc1a 131 }
bcostm 0:dc55a068bc1a 132
bcostm 0:dc55a068bc1a 133 void LCD_DISCO_F429ZI::DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
bcostm 0:dc55a068bc1a 134 {
bcostm 0:dc55a068bc1a 135 BSP_LCD_DisplayChar(Xpos, Ypos, Ascii);
bcostm 0:dc55a068bc1a 136 }
bcostm 0:dc55a068bc1a 137
bcostm 0:dc55a068bc1a 138 void LCD_DISCO_F429ZI::DisplayStringAt(uint16_t X, uint16_t Y, uint8_t *pText, Text_AlignModeTypdef mode)
bcostm 0:dc55a068bc1a 139 {
bcostm 0:dc55a068bc1a 140 BSP_LCD_DisplayStringAt(X, Y, pText, mode);
bcostm 0:dc55a068bc1a 141 }
bcostm 0:dc55a068bc1a 142
bcostm 0:dc55a068bc1a 143 void LCD_DISCO_F429ZI::DisplayStringAtLine(uint16_t Line, uint8_t *ptr)
bcostm 0:dc55a068bc1a 144 {
bcostm 0:dc55a068bc1a 145 BSP_LCD_DisplayStringAtLine(Line, ptr);
bcostm 0:dc55a068bc1a 146 }
bcostm 0:dc55a068bc1a 147
bcostm 0:dc55a068bc1a 148 void LCD_DISCO_F429ZI::DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
bcostm 0:dc55a068bc1a 149 {
bcostm 0:dc55a068bc1a 150 BSP_LCD_DrawHLine(Xpos, Ypos, Length);
bcostm 0:dc55a068bc1a 151 }
bcostm 0:dc55a068bc1a 152
bcostm 0:dc55a068bc1a 153 void LCD_DISCO_F429ZI::DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length)
bcostm 0:dc55a068bc1a 154 {
bcostm 0:dc55a068bc1a 155 BSP_LCD_DrawVLine(Xpos, Ypos, Length);
bcostm 0:dc55a068bc1a 156 }
bcostm 0:dc55a068bc1a 157
bcostm 0:dc55a068bc1a 158 void LCD_DISCO_F429ZI::DrawLine(uint16_t X1, uint16_t Y1, uint16_t X2, uint16_t Y2)
bcostm 0:dc55a068bc1a 159 {
bcostm 0:dc55a068bc1a 160 BSP_LCD_DrawLine(X1, Y1, X2, Y2);
bcostm 0:dc55a068bc1a 161 }
bcostm 0:dc55a068bc1a 162
bcostm 0:dc55a068bc1a 163 void LCD_DISCO_F429ZI::DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
bcostm 0:dc55a068bc1a 164 {
bcostm 0:dc55a068bc1a 165 BSP_LCD_DrawRect(Xpos, Ypos, Width, Height);
bcostm 0:dc55a068bc1a 166 }
bcostm 0:dc55a068bc1a 167
bcostm 0:dc55a068bc1a 168 void LCD_DISCO_F429ZI::DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
bcostm 0:dc55a068bc1a 169 {
bcostm 0:dc55a068bc1a 170 BSP_LCD_DrawCircle(Xpos, Ypos, Radius);
bcostm 0:dc55a068bc1a 171 }
bcostm 0:dc55a068bc1a 172
bcostm 0:dc55a068bc1a 173 void LCD_DISCO_F429ZI::DrawPolygon(pPoint Points, uint16_t PointCount)
bcostm 0:dc55a068bc1a 174 {
bcostm 0:dc55a068bc1a 175 BSP_LCD_DrawPolygon(Points, PointCount);
bcostm 0:dc55a068bc1a 176 }
bcostm 0:dc55a068bc1a 177
bcostm 0:dc55a068bc1a 178 void LCD_DISCO_F429ZI::DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
bcostm 0:dc55a068bc1a 179 {
bcostm 0:dc55a068bc1a 180 BSP_LCD_DrawEllipse(Xpos, Ypos, XRadius, YRadius);
bcostm 0:dc55a068bc1a 181 }
bcostm 0:dc55a068bc1a 182
bcostm 0:dc55a068bc1a 183 void LCD_DISCO_F429ZI::DrawBitmap(uint32_t X, uint32_t Y, uint8_t *pBmp)
bcostm 0:dc55a068bc1a 184 {
bcostm 0:dc55a068bc1a 185 BSP_LCD_DrawBitmap(X, Y, pBmp);
bcostm 0:dc55a068bc1a 186 }
bcostm 0:dc55a068bc1a 187
bcostm 0:dc55a068bc1a 188 void LCD_DISCO_F429ZI::FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)
bcostm 0:dc55a068bc1a 189 {
bcostm 0:dc55a068bc1a 190 BSP_LCD_FillRect(Xpos, Ypos, Width, Height);
bcostm 0:dc55a068bc1a 191 }
bcostm 0:dc55a068bc1a 192
bcostm 0:dc55a068bc1a 193 void LCD_DISCO_F429ZI::FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
bcostm 0:dc55a068bc1a 194 {
bcostm 0:dc55a068bc1a 195 BSP_LCD_FillCircle(Xpos, Ypos, Radius);
bcostm 0:dc55a068bc1a 196 }
bcostm 0:dc55a068bc1a 197
bcostm 0:dc55a068bc1a 198 void LCD_DISCO_F429ZI::FillTriangle(uint16_t X1, uint16_t X2, uint16_t X3, uint16_t Y1, uint16_t Y2, uint16_t Y3)
bcostm 0:dc55a068bc1a 199 {
bcostm 0:dc55a068bc1a 200 BSP_LCD_FillTriangle(X1, X2, X3, Y1, Y2, Y3);
bcostm 0:dc55a068bc1a 201 }
bcostm 0:dc55a068bc1a 202
bcostm 0:dc55a068bc1a 203 void LCD_DISCO_F429ZI::FillPolygon(pPoint Points, uint16_t PointCount)
bcostm 0:dc55a068bc1a 204 {
bcostm 0:dc55a068bc1a 205 BSP_LCD_FillPolygon(Points, PointCount);
bcostm 0:dc55a068bc1a 206 }
bcostm 0:dc55a068bc1a 207
bcostm 0:dc55a068bc1a 208 void LCD_DISCO_F429ZI::FillEllipse(int Xpos, int Ypos, int XRadius, int YRadius)
bcostm 0:dc55a068bc1a 209 {
bcostm 0:dc55a068bc1a 210 BSP_LCD_FillEllipse(Xpos, Ypos, XRadius, YRadius);
bcostm 0:dc55a068bc1a 211 }
bcostm 0:dc55a068bc1a 212
bcostm 0:dc55a068bc1a 213 void LCD_DISCO_F429ZI::DisplayOn(void)
bcostm 0:dc55a068bc1a 214 {
bcostm 0:dc55a068bc1a 215 BSP_LCD_DisplayOn();
bcostm 0:dc55a068bc1a 216 }
bcostm 0:dc55a068bc1a 217
bcostm 0:dc55a068bc1a 218 void LCD_DISCO_F429ZI::DisplayOff(void)
bcostm 0:dc55a068bc1a 219 {
bcostm 0:dc55a068bc1a 220 BSP_LCD_DisplayOff();
bcostm 0:dc55a068bc1a 221 }
bcostm 0:dc55a068bc1a 222
bcostm 0:dc55a068bc1a 223 void LCD_DISCO_F429ZI::DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code)
bcostm 0:dc55a068bc1a 224 {
bcostm 0:dc55a068bc1a 225 BSP_LCD_DrawPixel(Xpos, Ypos, RGB_Code);
bcostm 0:dc55a068bc1a 226 }
bcostm 0:dc55a068bc1a 227
bcostm 0:dc55a068bc1a 228 //=================================================================================================================
bcostm 0:dc55a068bc1a 229 // Private methods
bcostm 0:dc55a068bc1a 230 //=================================================================================================================