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.
Dependencies: SPI_STMPE610 SPI_TFT_ILI9341 TFT_fonts TSI mbed
main.cpp
00001 /** TS_Eyes TSI sample program using Adafruit 2.8" TFT with Touch 00002 * 00003 * @note Just like the good old X11 eyes 00004 * @note this program stares at the point where 00005 * @note the TSI sensor of FRDM is being touched. 00006 * @note By touching the right most side of the sensor 00007 * @note program exits the staring loop and pretend to sleep. 00008 * @note Then touching the TFT starts the staring loop again. 00009 */ 00010 00011 /* 00012 * Note: This program is derived from the SeeeStudioTFTv2 program. 00013 * Although both program share same ILI9341 TFT driver, 00014 * the touch sensor was not same with the Display I purchased from Akizuki. 00015 * http://akizukidenshi.com/catalog/g/gM-07747/ 00016 * The touch sensor on the display is STMPE610, 00017 * so I hacked the minimum spi driver for it (polling mode only). 00018 */ 00019 00020 #include "mbed.h" 00021 #include "TSISensor.h" 00022 #include "SPI_TFT_ILI9341.h" 00023 #include "SPI_STMPE610.h" 00024 #include "Arial12x12.h" 00025 #include "Arial24x23.h" 00026 #include "Arial28x28.h" 00027 #include "font_big.h" 00028 00029 #define PIN_MOSI PTD2 00030 #define PIN_MISO PTD3 00031 #define PIN_SCLK PTD1 00032 #define PIN_CS_TFT PTD0 00033 #define PIN_DC_TFT PTD5 00034 #define PIN_BL_TFT PTC9 00035 #define PIN_CS_SD PTA4 00036 #define PIN_CS_TSC PTA13 00037 #define PIN_TSC_INTR PTC9 00038 00039 TSISensor tsi; 00040 00041 SPI_TFT_ILI9341 TFT(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TFT, PIN_BL_TFT, PIN_DC_TFT) ; 00042 SPI_STMPE610 TSC(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ; 00043 00044 DigitalOut backlight(PTA12) ; 00045 00046 void initTFT(void) 00047 { 00048 //Configure the display driver 00049 TFT.background(Black); 00050 TFT.foreground(White); 00051 wait(0.01) ; 00052 TFT.cls(); 00053 } 00054 00055 void moveEyes(void) 00056 { 00057 int dx, px ; 00058 float delta = 0.0 ; 00059 dx = 0 ; 00060 px = 0 ; 00061 backlight = 0 ; 00062 TFT.background(Black); 00063 wait(0.1) ; 00064 TFT.foreground(White); 00065 wait(0.1) ; 00066 TFT.cls() ; 00067 wait(0.1) ; 00068 00069 TFT.set_font((unsigned char*) Arial12x12); 00070 TFT.foreground(Blue) ; 00071 TFT.locate(60, 10) ; 00072 TFT.printf("<< TS Eyes >>") ; 00073 TFT.locate(30, 280) ; 00074 TFT.printf("Use FRDM touch slider") ; 00075 TFT.locate(30, 300) ; 00076 TFT.printf("Touch right edge to end") ; 00077 00078 TFT.fillcircle(120, 160, 100, Green) ; 00079 TFT.fillcircle(60, 160, 50, Black) ; 00080 TFT.fillcircle(60, 160, 45, White) ; 00081 TFT.fillcircle(180, 160, 50, Black) ; 00082 TFT.fillcircle(180, 160, 45, White) ; 00083 TFT.fillcircle(60, 160, 5, Black) ; 00084 TFT.fillcircle(180, 160, 5, Black) ; 00085 backlight = 1 ; 00086 00087 while(dx < 38) { 00088 delta = (80.0 * (tsi.readPercentage()-0.5)) ; 00089 dx = (int)(delta + 0.5) ; 00090 TFT.fillcircle(60+px, 160, 5, White) ; 00091 TFT.fillcircle(180+px, 160, 5, White) ; 00092 TFT.fillcircle(60+dx, 160, 5, Black) ; 00093 TFT.fillcircle(180+dx, 160, 5, Black) ; 00094 px = dx ; 00095 wait(0.1) ; 00096 } 00097 TFT.fillcircle(60+px, 160, 5, White) ; 00098 TFT.fillcircle(180+px, 160, 5, White) ; 00099 TFT.line(15, 160, 105, 160, Black) ; 00100 TFT.line(135, 160, 225, 160, Black) ; 00101 TFT.locate(30, 280) ; 00102 TFT.printf(" Sleeping ... zzz ") ; 00103 TFT.locate(20, 300) ; 00104 TFT.foreground(Yellow) ; 00105 TFT.printf(" Touch TFT to wake up") ; 00106 } 00107 00108 int main() 00109 { 00110 uint16_t x, y, z ; 00111 bool awake = true ; 00112 00113 initTFT() ; 00114 00115 for(;;) { 00116 00117 if (awake) { 00118 moveEyes() ; 00119 awake = false ; 00120 } 00121 00122 if ( TSC.getRAWPoint(&x, &y, &z)) { 00123 awake = true ; 00124 } 00125 00126 } 00127 }
Generated on Wed Jul 13 2022 05:28:31 by
1.7.2
Adafruit 2.8" TFT Touch Shield v2