Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of SeeedStudioTFTv2 by
SeeedStudioTFTv2.h
00001 /* mbed library for touchscreen connected to 4 mbed pins 00002 * derive from SPI_TFT lib 00003 * Copyright (c) 2011 Peter Drescher - DC2PD 00004 * 00005 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00006 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00007 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00008 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00009 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00010 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00011 * THE SOFTWARE. 00012 */ 00013 00014 #ifndef MBED_TOUCH_H 00015 #define MBED_TOUCH_H 00016 00017 #include "mbed.h" 00018 #include "SPI_TFT_ILI9341.h" 00019 #ifdef USE_SDCARD 00020 #include "SDFileSystem.h" // import the SDFileSystem library 00021 #endif 00022 00023 struct point { 00024 int x; 00025 int y; 00026 }; 00027 00028 class SeeedStudioTFTv2 : public 00029 #ifdef USE_SDCARD 00030 SDFileSystem, 00031 #endif 00032 SPI_TFT_ILI9341 00033 { 00034 public: 00035 /** create a TFT with touch object connected to the pins: 00036 * 00037 * @param pin xp resistiv touch x+ 00038 * @param pin xm resistiv touch x- 00039 * @param pin yp resistiv touch y+ 00040 * @param pin ym resistiv touch y- 00041 * @param mosi,miso,sclk SPI connection to TFT 00042 * @param cs pin connected to CS of display 00043 * @param reset pin connected to RESET of display 00044 * based on my SPI_TFT lib 00045 */ 00046 SeeedStudioTFTv2(PinName xp, PinName xm, PinName yp, PinName ym, 00047 PinName mosi, PinName miso, PinName sclk, 00048 PinName csTft, PinName dcTft, PinName blTft, 00049 PinName csSd); 00050 00051 void setBacklight(bool enabled); 00052 00053 /** calibrate the touch display 00054 * 00055 * User is asked to touch on two points on the screen 00056 */ 00057 void calibrate(void); 00058 00059 /** read x and y coord on screen 00060 * 00061 * @returns point(x,y) 00062 */ 00063 bool 00064 getPixel(point& p); 00065 00066 /** calculate coord on screen 00067 * 00068 * @param a_point point(analog x, analog y) 00069 * @returns point(pixel x, pixel y) 00070 * 00071 */ 00072 point toPixel(point p); 00073 00074 //protected: 00075 public: 00076 PinName _xm; 00077 PinName _ym; 00078 PinName _xp; 00079 PinName _yp; 00080 DigitalOut bl; 00081 00082 typedef enum { YES, MAYBE, NO } TOUCH; 00083 TOUCH getTouch(point& p); 00084 int readTouch(PinName p, PinName m, PinName a, PinName i); 00085 00086 int x_off,y_off; 00087 int pp_tx,pp_ty; 00088 }; 00089 00090 #endif
Generated on Thu Jul 14 2022 22:44:05 by
1.7.2
