A wrapper Class library for using the touch LCD on the DISCO-F469NI Development board. The class uses the existing BSP class created by Team ST.

Dependencies:   BSP_DISCO_F469NI LCD_DISCO_F469NI TS_DISCO_F469NI

Committer:
grantphillips
Date:
Thu Mar 01 10:21:06 2018 +0000
Revision:
0:d8d53c5e721e
V1.0

Who changed what in which revision?

UserRevisionLine numberNew contents of line
grantphillips 0:d8d53c5e721e 1 /* DISCOF469LCD Library v1.0
grantphillips 0:d8d53c5e721e 2 * Copyright (c) 2018 Grant Phillips
grantphillips 0:d8d53c5e721e 3 * grant.phillips@mandela.ac.za
grantphillips 0:d8d53c5e721e 4 *
grantphillips 0:d8d53c5e721e 5 *
grantphillips 0:d8d53c5e721e 6 * Permission is hereby granted, free of charge, to any person obtaining a copy
grantphillips 0:d8d53c5e721e 7 * of this software and associated documentation files (the "Software"), to deal
grantphillips 0:d8d53c5e721e 8 * in the Software without restriction, including without limitation the rights
grantphillips 0:d8d53c5e721e 9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
grantphillips 0:d8d53c5e721e 10 * copies of the Software, and to permit persons to whom the Software is
grantphillips 0:d8d53c5e721e 11 * furnished to do so, subject to the following conditions:
grantphillips 0:d8d53c5e721e 12 *
grantphillips 0:d8d53c5e721e 13 * The above copyright notice and this permission notice shall be included in
grantphillips 0:d8d53c5e721e 14 * all copies or substantial portions of the Software.
grantphillips 0:d8d53c5e721e 15 *
grantphillips 0:d8d53c5e721e 16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
grantphillips 0:d8d53c5e721e 17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
grantphillips 0:d8d53c5e721e 18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
grantphillips 0:d8d53c5e721e 19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
grantphillips 0:d8d53c5e721e 20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
grantphillips 0:d8d53c5e721e 21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
grantphillips 0:d8d53c5e721e 22 * THE SOFTWARE.
grantphillips 0:d8d53c5e721e 23 */
grantphillips 0:d8d53c5e721e 24
grantphillips 0:d8d53c5e721e 25 #ifndef DISCOF469LCD_H
grantphillips 0:d8d53c5e721e 26 #define DISCOF469LCD_H
grantphillips 0:d8d53c5e721e 27
grantphillips 0:d8d53c5e721e 28 #include "mbed.h"
grantphillips 0:d8d53c5e721e 29 #include "TS_DISCO_F469NI.h"
grantphillips 0:d8d53c5e721e 30 #include "LCD_DISCO_F469NI.h"
grantphillips 0:d8d53c5e721e 31
grantphillips 0:d8d53c5e721e 32 #define LCD_WHITE 0xffffffff
grantphillips 0:d8d53c5e721e 33 #define LCD_SILVER 0xffC0C0C0
grantphillips 0:d8d53c5e721e 34 #define LCD_GRAY 0xff808080
grantphillips 0:d8d53c5e721e 35 #define LCD_BLACK 0xff000000
grantphillips 0:d8d53c5e721e 36 #define LCD_RED 0xffff0000
grantphillips 0:d8d53c5e721e 37 #define LCD_MAROON 0xff800000
grantphillips 0:d8d53c5e721e 38 #define LCD_YELLOW 0xffffff00
grantphillips 0:d8d53c5e721e 39 #define LCD_OLIVE 0xff808000
grantphillips 0:d8d53c5e721e 40 #define LCD_LIME 0xff00ff00
grantphillips 0:d8d53c5e721e 41 #define LCD_GREEN 0xff008000
grantphillips 0:d8d53c5e721e 42 #define LCD_AQUA 0xff00ffff
grantphillips 0:d8d53c5e721e 43 #define LCD_TEAL 0xff008080
grantphillips 0:d8d53c5e721e 44 #define LCD_BLUE 0xff0000ff
grantphillips 0:d8d53c5e721e 45 #define LCD_NAVY 0xff000080
grantphillips 0:d8d53c5e721e 46 #define LCD_FUCHSIA 0xffff00ff
grantphillips 0:d8d53c5e721e 47 #define LCD_PURPLE 0xff800080
grantphillips 0:d8d53c5e721e 48
grantphillips 0:d8d53c5e721e 49 /** A wrapper Class library for using the touch lcd on the DISCO-F469NI Development board. The class
grantphillips 0:d8d53c5e721e 50 * uses the existing BSP class created by Team ST.
grantphillips 0:d8d53c5e721e 51 *
grantphillips 0:d8d53c5e721e 52 * Example:
grantphillips 0:d8d53c5e721e 53 * @code
grantphillips 0:d8d53c5e721e 54 * #include "mbed.h"
grantphillips 0:d8d53c5e721e 55 * #include "DISCOF469LCD.h"
grantphillips 0:d8d53c5e721e 56 *
grantphillips 0:d8d53c5e721e 57 * DISCOF469LCD lcd;
grantphillips 0:d8d53c5e721e 58 *
grantphillips 0:d8d53c5e721e 59 * void DisplayPattern(void);
grantphillips 0:d8d53c5e721e 60 *
grantphillips 0:d8d53c5e721e 61 * int main() {
grantphillips 0:d8d53c5e721e 62 * char buf[40];
grantphillips 0:d8d53c5e721e 63 * int numtouches;
grantphillips 0:d8d53c5e721e 64 * bool cleared = false;
grantphillips 0:d8d53c5e721e 65 * uint16_t x1, y1, x2, y2;
grantphillips 0:d8d53c5e721e 66 *
grantphillips 0:d8d53c5e721e 67 * DisplayPattern();
grantphillips 0:d8d53c5e721e 68 * wait(4.0);
grantphillips 0:d8d53c5e721e 69 * lcd.Clear(LCD_WHITE);
grantphillips 0:d8d53c5e721e 70 *
grantphillips 0:d8d53c5e721e 71 * while(1)
grantphillips 0:d8d53c5e721e 72 * {
grantphillips 0:d8d53c5e721e 73 * numtouches = lcd.Touches(); //read if the screen is touched
grantphillips 0:d8d53c5e721e 74 * if(numtouches > 0) //has the screen been touched?
grantphillips 0:d8d53c5e721e 75 * {
grantphillips 0:d8d53c5e721e 76 * cleared = false; //reset clear flag
grantphillips 0:d8d53c5e721e 77 * if(numtouches == 1) //if one finger is on the screen
grantphillips 0:d8d53c5e721e 78 * {
grantphillips 0:d8d53c5e721e 79 * lcd.GetTouch1(&x1, &y1);
grantphillips 0:d8d53c5e721e 80 * sprintf(buf, "Touch 1: x=%3u y=%3u", x1, y1);
grantphillips 0:d8d53c5e721e 81 * lcd.DrawStringAtLine(0,4,LCD_BLUE, LCD_WHITE, 0, buf);
grantphillips 0:d8d53c5e721e 82 * lcd.FillCircle(x1, y1, 50, LCD_RED);
grantphillips 0:d8d53c5e721e 83 * }
grantphillips 0:d8d53c5e721e 84 * else if(numtouches == 2) //if two fingers are on the screen
grantphillips 0:d8d53c5e721e 85 * {
grantphillips 0:d8d53c5e721e 86 * lcd.GetTouch1(&x1, &y1);
grantphillips 0:d8d53c5e721e 87 * lcd.GetTouch2(&x2, &y2);
grantphillips 0:d8d53c5e721e 88 * sprintf(buf, "Touch 1: x=%3u y=%3u", x1, y1);
grantphillips 0:d8d53c5e721e 89 * lcd.DrawStringAtLine(0,4,LCD_BLUE, LCD_WHITE, 0, buf);
grantphillips 0:d8d53c5e721e 90 * sprintf(buf, "Touch 2: x=%3u y=%3u", x2, y2);
grantphillips 0:d8d53c5e721e 91 * lcd.DrawStringAtLine(1,4,LCD_BLUE, LCD_WHITE, 0, buf);
grantphillips 0:d8d53c5e721e 92 * lcd.FillCircle(x1, y1, 50, LCD_RED);
grantphillips 0:d8d53c5e721e 93 * lcd.FillCircle(x2, y2, 50, LCD_BLUE);
grantphillips 0:d8d53c5e721e 94 * }
grantphillips 0:d8d53c5e721e 95 * }
grantphillips 0:d8d53c5e721e 96 * else
grantphillips 0:d8d53c5e721e 97 * {
grantphillips 0:d8d53c5e721e 98 * if(!cleared) //if the screen hasn't been cleared
grantphillips 0:d8d53c5e721e 99 * {
grantphillips 0:d8d53c5e721e 100 * lcd.Clear(LCD_WHITE); //clear the screen after fingers left screen
grantphillips 0:d8d53c5e721e 101 * cleared = true;
grantphillips 0:d8d53c5e721e 102 * }
grantphillips 0:d8d53c5e721e 103 * }
grantphillips 0:d8d53c5e721e 104 * }
grantphillips 0:d8d53c5e721e 105 * }
grantphillips 0:d8d53c5e721e 106 *
grantphillips 0:d8d53c5e721e 107 * void DisplayPattern(void)
grantphillips 0:d8d53c5e721e 108 * {
grantphillips 0:d8d53c5e721e 109 * lcd.FillRectangle(0, 0, 50, 479,LCD_WHITE);
grantphillips 0:d8d53c5e721e 110 * lcd.FillRectangle(50, 0, 50, 479,LCD_SILVER);
grantphillips 0:d8d53c5e721e 111 * lcd.FillRectangle(100, 0, 50, 479,LCD_GRAY);
grantphillips 0:d8d53c5e721e 112 * lcd.FillRectangle(150, 0, 50, 479,LCD_BLACK);
grantphillips 0:d8d53c5e721e 113 * lcd.FillRectangle(200, 0, 50, 479,LCD_RED);
grantphillips 0:d8d53c5e721e 114 * lcd.FillRectangle(250, 0, 50, 479,LCD_MAROON);
grantphillips 0:d8d53c5e721e 115 * lcd.FillRectangle(300, 0, 50, 479,LCD_YELLOW);
grantphillips 0:d8d53c5e721e 116 * lcd.FillRectangle(350, 0, 50, 479,LCD_OLIVE);
grantphillips 0:d8d53c5e721e 117 * lcd.FillRectangle(400, 0, 50, 479,LCD_LIME);
grantphillips 0:d8d53c5e721e 118 * lcd.FillRectangle(450, 0, 50, 479,LCD_GREEN);
grantphillips 0:d8d53c5e721e 119 * lcd.FillRectangle(500, 0, 50, 479,LCD_AQUA);
grantphillips 0:d8d53c5e721e 120 * lcd.FillRectangle(550, 0, 50, 479,LCD_TEAL);
grantphillips 0:d8d53c5e721e 121 * lcd.FillRectangle(600, 0, 50, 479,LCD_BLUE);
grantphillips 0:d8d53c5e721e 122 * lcd.FillRectangle(650, 0, 50, 479,LCD_NAVY);
grantphillips 0:d8d53c5e721e 123 * lcd.FillRectangle(700, 0, 50, 479,LCD_FUCHSIA);
grantphillips 0:d8d53c5e721e 124 * lcd.FillRectangle(750, 0, 50, 479,LCD_PURPLE);
grantphillips 0:d8d53c5e721e 125 * lcd.DrawStringAtXY(0, 0, 1, LCD_WHITE, LCD_BLACK, "White");
grantphillips 0:d8d53c5e721e 126 * lcd.DrawStringAtXY(50, 0, 1, LCD_WHITE, LCD_BLACK, "Silver");
grantphillips 0:d8d53c5e721e 127 * lcd.DrawStringAtXY(100, 0, 1, LCD_WHITE, LCD_BLACK, "Gray");
grantphillips 0:d8d53c5e721e 128 * lcd.DrawStringAtXY(150, 0, 1, LCD_WHITE, LCD_BLACK, "Black");
grantphillips 0:d8d53c5e721e 129 * lcd.DrawStringAtXY(200, 0, 1, LCD_WHITE, LCD_BLACK, "Red");
grantphillips 0:d8d53c5e721e 130 * lcd.DrawStringAtXY(250, 0, 1, LCD_WHITE, LCD_BLACK, "Maroon");
grantphillips 0:d8d53c5e721e 131 * lcd.DrawStringAtXY(300, 0, 1, LCD_WHITE, LCD_BLACK, "Yellow");
grantphillips 0:d8d53c5e721e 132 * lcd.DrawStringAtXY(350, 0, 1, LCD_WHITE, LCD_BLACK, "Olive");
grantphillips 0:d8d53c5e721e 133 * lcd.DrawStringAtXY(400, 0, 1, LCD_WHITE, LCD_BLACK, "Lime");
grantphillips 0:d8d53c5e721e 134 * lcd.DrawStringAtXY(450, 0, 1, LCD_WHITE, LCD_BLACK, "Green");
grantphillips 0:d8d53c5e721e 135 * lcd.DrawStringAtXY(500, 0, 1, LCD_WHITE, LCD_BLACK, "Aqua");
grantphillips 0:d8d53c5e721e 136 * lcd.DrawStringAtXY(550, 0, 1, LCD_WHITE, LCD_BLACK, "Teal");
grantphillips 0:d8d53c5e721e 137 * lcd.DrawStringAtXY(600, 0, 1, LCD_WHITE, LCD_BLACK, "Blue");
grantphillips 0:d8d53c5e721e 138 * lcd.DrawStringAtXY(650, 0, 1, LCD_WHITE, LCD_BLACK, "Navy");
grantphillips 0:d8d53c5e721e 139 * lcd.DrawStringAtXY(700, 0, 1, LCD_WHITE, LCD_BLACK, "Fuchsia");
grantphillips 0:d8d53c5e721e 140 * lcd.DrawStringAtXY(750, 0, 1, LCD_WHITE, LCD_BLACK, "Purple");
grantphillips 0:d8d53c5e721e 141 * }
grantphillips 0:d8d53c5e721e 142 * @endcode
grantphillips 0:d8d53c5e721e 143 */
grantphillips 0:d8d53c5e721e 144
grantphillips 0:d8d53c5e721e 145 class DISCOF469LCD {
grantphillips 0:d8d53c5e721e 146 public:
grantphillips 0:d8d53c5e721e 147 /** Create a DISCOF469LCD object for using the graphics LCD on the DISCO-F469NI Development board.
grantphillips 0:d8d53c5e721e 148 */
grantphillips 0:d8d53c5e721e 149 DISCOF469LCD(void);
grantphillips 0:d8d53c5e721e 150
grantphillips 0:d8d53c5e721e 151 /**
grantphillips 0:d8d53c5e721e 152 * @brief Clears the LCD by filling it with the specified color pixels.
grantphillips 0:d8d53c5e721e 153 * @param Color Color to fill the screen with - represented in ARGB8888 color space format.
grantphillips 0:d8d53c5e721e 154 */
grantphillips 0:d8d53c5e721e 155 void Clear(uint32_t Color);
grantphillips 0:d8d53c5e721e 156
grantphillips 0:d8d53c5e721e 157 /**
grantphillips 0:d8d53c5e721e 158 * @brief Draws a pixel on the LCD.
grantphillips 0:d8d53c5e721e 159 * @param Xpos X position
grantphillips 0:d8d53c5e721e 160 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 161 * @param Color Pixel color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 162 */
grantphillips 0:d8d53c5e721e 163 void DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t Color);
grantphillips 0:d8d53c5e721e 164
grantphillips 0:d8d53c5e721e 165 /**
grantphillips 0:d8d53c5e721e 166 * @brief Reads the color of an LCD pixel.
grantphillips 0:d8d53c5e721e 167 * @param Xpos X position
grantphillips 0:d8d53c5e721e 168 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 169 * @retval uint32_t Pixel color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 170 */
grantphillips 0:d8d53c5e721e 171 uint32_t ReadPixel(uint16_t Xpos, uint16_t Ypos);
grantphillips 0:d8d53c5e721e 172
grantphillips 0:d8d53c5e721e 173 /**
grantphillips 0:d8d53c5e721e 174 * @brief Draws a line on the LCD.
grantphillips 0:d8d53c5e721e 175 * @param x1 Point 1 X position
grantphillips 0:d8d53c5e721e 176 * @param y1 Point 1 Y position
grantphillips 0:d8d53c5e721e 177 * @param x2 Point 2 X position
grantphillips 0:d8d53c5e721e 178 * @param y2 Point 2 Y position
grantphillips 0:d8d53c5e721e 179 * @param Color Line color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 180 */
grantphillips 0:d8d53c5e721e 181 void DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint32_t Color);
grantphillips 0:d8d53c5e721e 182
grantphillips 0:d8d53c5e721e 183 /**
grantphillips 0:d8d53c5e721e 184 * @brief Draws a rectangle on the LCD.
grantphillips 0:d8d53c5e721e 185 * @param Xpos X position
grantphillips 0:d8d53c5e721e 186 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 187 * @param Width Rectangle width
grantphillips 0:d8d53c5e721e 188 * @param Height Rectangle height
grantphillips 0:d8d53c5e721e 189 * @param Color Rectangle color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 190 */
grantphillips 0:d8d53c5e721e 191 void DrawRectangle(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height, uint32_t Color);
grantphillips 0:d8d53c5e721e 192
grantphillips 0:d8d53c5e721e 193 /**
grantphillips 0:d8d53c5e721e 194 * @brief Draws a filled rectangle on the LCD.
grantphillips 0:d8d53c5e721e 195 * @param Xpos X position
grantphillips 0:d8d53c5e721e 196 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 197 * @param Width Rectangle width
grantphillips 0:d8d53c5e721e 198 * @param Height Rectangle height
grantphillips 0:d8d53c5e721e 199 * @param Color Rectangle color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 200 */
grantphillips 0:d8d53c5e721e 201 void FillRectangle(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height, uint32_t Color);
grantphillips 0:d8d53c5e721e 202
grantphillips 0:d8d53c5e721e 203 /**
grantphillips 0:d8d53c5e721e 204 * @brief Draws a circle on the LCD.
grantphillips 0:d8d53c5e721e 205 * @param Xpos X position
grantphillips 0:d8d53c5e721e 206 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 207 * @param Radius Circle radius
grantphillips 0:d8d53c5e721e 208 * @param Color Circle color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 209 */
grantphillips 0:d8d53c5e721e 210 void DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius, uint32_t Color);
grantphillips 0:d8d53c5e721e 211
grantphillips 0:d8d53c5e721e 212 /**
grantphillips 0:d8d53c5e721e 213 * @brief Draws a filled circle on the LCD.
grantphillips 0:d8d53c5e721e 214 * @param Xpos X position
grantphillips 0:d8d53c5e721e 215 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 216 * @param Radius Circle radius
grantphillips 0:d8d53c5e721e 217 * @param Color Circle color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 218 */
grantphillips 0:d8d53c5e721e 219 void FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius, uint32_t Color);
grantphillips 0:d8d53c5e721e 220
grantphillips 0:d8d53c5e721e 221 /**
grantphillips 0:d8d53c5e721e 222 * @brief Draws an ellipse on the LCD.
grantphillips 0:d8d53c5e721e 223 * @param Xpos X position
grantphillips 0:d8d53c5e721e 224 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 225 * @param XRadius Ellipse X radius
grantphillips 0:d8d53c5e721e 226 * @param YRadius Ellipse Y radius
grantphillips 0:d8d53c5e721e 227 * @param Color Ellipse color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 228 */
grantphillips 0:d8d53c5e721e 229 void DrawEllipse(uint16_t Xpos, uint16_t Ypos, uint16_t XRadius, uint16_t YRadius, uint32_t Color);
grantphillips 0:d8d53c5e721e 230
grantphillips 0:d8d53c5e721e 231 /**
grantphillips 0:d8d53c5e721e 232 * @brief Draws a filled ellipse on the LCD.
grantphillips 0:d8d53c5e721e 233 * @param Xpos X position
grantphillips 0:d8d53c5e721e 234 * @param Ypos Y position
grantphillips 0:d8d53c5e721e 235 * @param XRadius Ellipse X radius
grantphillips 0:d8d53c5e721e 236 * @param YRadius Ellipse Y radius
grantphillips 0:d8d53c5e721e 237 * @param Color Ellipse color in ARGB mode (8-8-8-8)
grantphillips 0:d8d53c5e721e 238 */
grantphillips 0:d8d53c5e721e 239 void FillEllipse(uint16_t Xpos, uint16_t Ypos, uint16_t XRadius, uint16_t YRadius, uint32_t Color);
grantphillips 0:d8d53c5e721e 240
grantphillips 0:d8d53c5e721e 241 /**
grantphillips 0:d8d53c5e721e 242 * @brief Displays a string on the LCD at Xpos,Ypos.
grantphillips 0:d8d53c5e721e 243 * @param Xpos X position (in pixel)
grantphillips 0:d8d53c5e721e 244 * @param Ypos Y position (in pixel)
grantphillips 0:d8d53c5e721e 245 * @param FontSize The size of the text (0 - 4)
grantphillips 0:d8d53c5e721e 246 * @param TextColor The text foreground color
grantphillips 0:d8d53c5e721e 247 * @param BackColor The text background color
grantphillips 0:d8d53c5e721e 248 * @param Text String to display on LCD
grantphillips 0:d8d53c5e721e 249 */
grantphillips 0:d8d53c5e721e 250 void DrawStringAtXY(uint16_t Xpos, uint16_t Ypos, uint8_t FontSize, uint32_t TextColor, uint32_t BackColor, char *Text);
grantphillips 0:d8d53c5e721e 251
grantphillips 0:d8d53c5e721e 252 /**
grantphillips 0:d8d53c5e721e 253 * @brief Displays a string on the LCD at a certain line based on the font size.
grantphillips 0:d8d53c5e721e 254 * @param Line Line where to display the string
grantphillips 0:d8d53c5e721e 255 * @param FontSize The size of the text (0 - 4)
grantphillips 0:d8d53c5e721e 256 * @param TextColor The text foreground color
grantphillips 0:d8d53c5e721e 257 * @param BackColor The text background color
grantphillips 0:d8d53c5e721e 258 * @param Mode Display mode (0=LEFT mode; 1=CENTER mode; 2=RIGHT mode)
grantphillips 0:d8d53c5e721e 259 * @param Text String to display on LCD
grantphillips 0:d8d53c5e721e 260 */
grantphillips 0:d8d53c5e721e 261 void DrawStringAtLine(uint16_t Line, uint8_t FontSize, uint32_t TextColor, uint32_t BackColor, uint8_t Mode, char *Text);
grantphillips 0:d8d53c5e721e 262
grantphillips 0:d8d53c5e721e 263 /** Determines if the touchscreen is being touched or not.
grantphillips 0:d8d53c5e721e 264 *
grantphillips 0:d8d53c5e721e 265 * @retval uint8_t Number of simulantanous touches on screen. 0 = not touched.
grantphillips 0:d8d53c5e721e 266 */
grantphillips 0:d8d53c5e721e 267 uint8_t Touches(void);
grantphillips 0:d8d53c5e721e 268
grantphillips 0:d8d53c5e721e 269 /**
grantphillips 0:d8d53c5e721e 270 * @brief Gets the x and y coordinates of the first touch on the touchscreen.
grantphillips 0:d8d53c5e721e 271 * @param x Pointer to the x coordinate
grantphillips 0:d8d53c5e721e 272 * @param y Pointer to the y coordinate
grantphillips 0:d8d53c5e721e 273 */
grantphillips 0:d8d53c5e721e 274 void GetTouch1(uint16_t *x, uint16_t *y);
grantphillips 0:d8d53c5e721e 275
grantphillips 0:d8d53c5e721e 276 /**
grantphillips 0:d8d53c5e721e 277 * @brief Gets the x and y coordinates of the second touch on the touchscreen.
grantphillips 0:d8d53c5e721e 278 * @param x Pointer to the x coordinate
grantphillips 0:d8d53c5e721e 279 * @param y Pointer to the y coordinate
grantphillips 0:d8d53c5e721e 280 */
grantphillips 0:d8d53c5e721e 281 void GetTouch2(uint16_t *x, uint16_t *y);
grantphillips 0:d8d53c5e721e 282
grantphillips 0:d8d53c5e721e 283
grantphillips 0:d8d53c5e721e 284 private:
grantphillips 0:d8d53c5e721e 285
grantphillips 0:d8d53c5e721e 286 LCD_DISCO_F469NI lcd;
grantphillips 0:d8d53c5e721e 287 TS_DISCO_F469NI ts;
grantphillips 0:d8d53c5e721e 288
grantphillips 0:d8d53c5e721e 289 };
grantphillips 0:d8d53c5e721e 290
grantphillips 0:d8d53c5e721e 291 #endif