STS2 Adafruit TFT ok

Dependencies:   SPI_STMPE610 SPI_TFT_ILI9341 TFT_fonts mbed

Fork of TS_Eyes by Motoo Tanaka

Files at this revision

API Documentation at this revision

Comitter:
Rhyme
Date:
Sat Dec 06 05:35:02 2014 +0000
Child:
1:7cc0446656ae
Commit message:
First commit for publish;

Changed in this revision

SPI_STMPE610.lib Show annotated file Show diff for this revision Revisions of this file
SPI_TFT_ILI9341.lib Show annotated file Show diff for this revision Revisions of this file
TFT_fonts.lib Show annotated file Show diff for this revision Revisions of this file
TSI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SPI_STMPE610.lib	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/Rhyme/code/SPI_STMPE610/#ee910b63c077
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SPI_TFT_ILI9341.lib	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/Rhyme/code/SPI_TFT_ILI9341/#61fa73a34834
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TFT_fonts.lib	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/dreschpe/code/TFT_fonts/#76774250fcec
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TSI.lib	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/TSI/#1a60ef257879
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,127 @@
+/** TS_Eye TSI sample program using Adafruit 2.8" TFT with Touch
+ *
+ * @note Just like the good old X11 eyes
+ * @note this program stares at the point where
+ * @note the TSI sensor of FRDM is being touched.
+ * @note By touching the right most side of the sensor
+ * @note program exits the staring loop and pretend to sleep.
+ * @note Then touching the TFT starts the staring loop again.
+ */
+ 
+ /* 
+  * Note: This program is derived from the SeeeStudioTFTv2 program.
+  * Although both program share same ILI9341 TFT driver,
+  * the touch sensor was not same with the Display I purchased from Akizuki.
+  * http://akizukidenshi.com/catalog/g/gM-07747/
+  * The touch sensor on the display is STMPE610,
+  * so I hacked the minimum spi driver for it (polling mode only).
+  */
+
+#include "mbed.h"
+#include "TSISensor.h"
+#include "SPI_TFT_ILI9341.h"
+#include "SPI_STMPE610.h"
+#include "Arial12x12.h"
+#include "Arial24x23.h"
+#include "Arial28x28.h"
+#include "font_big.h"
+
+#define PIN_MOSI        PTD2
+#define PIN_MISO        PTD3 
+#define PIN_SCLK        PTD1 
+#define PIN_CS_TFT      PTD0 
+#define PIN_DC_TFT      PTD5 
+#define PIN_BL_TFT      PTC9 
+#define PIN_CS_SD       PTA4 
+#define PIN_CS_TSC      PTA13
+#define PIN_TSC_INTR    PTC9
+
+TSISensor tsi;
+
+SPI_TFT_ILI9341 TFT(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TFT, PIN_BL_TFT, PIN_DC_TFT) ;
+SPI_STMPE610 TSC(PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TSC) ;
+
+DigitalOut backlight(PTA12) ;
+
+void initTFT(void)
+{
+    //Configure the display driver
+    TFT.background(Black);
+    TFT.foreground(White);
+    wait(0.01) ;
+    TFT.cls();
+}
+
+void moveEye(void)
+{
+    int dx, px ;
+    float delta = 0.0 ;
+    dx = 0 ;
+    px = 0 ;
+    backlight = 0 ;
+    TFT.background(Black);
+    wait(0.1) ;
+    TFT.foreground(White);
+    wait(0.1) ;
+    TFT.cls() ;
+    wait(0.1) ;
+
+    TFT.set_font((unsigned char*) Arial12x12);
+    TFT.foreground(Blue) ;
+    TFT.locate(60, 10) ;
+    TFT.printf("<< TS Eye >>") ;
+    TFT.locate(30, 280) ;
+    TFT.printf("Use FRDM touch slider") ;
+    TFT.locate(30, 300) ;
+    TFT.printf("Touch right edge to end") ;
+    
+    TFT.fillcircle(120, 160, 100, Green) ;
+    TFT.fillcircle(60, 160, 50, Black) ;
+    TFT.fillcircle(60, 160, 45, White) ;
+    TFT.fillcircle(180, 160, 50, Black) ;
+    TFT.fillcircle(180, 160, 45, White) ;
+    TFT.fillcircle(60, 160, 5, Black) ;
+    TFT.fillcircle(180, 160, 5, Black) ;
+    backlight = 1 ;
+
+    while(dx < 38) {
+      delta = (80.0 * (tsi.readPercentage()-0.5)) ;
+      dx = (int)(delta + 0.5) ;
+      TFT.fillcircle(60+px, 160, 5, White) ;
+      TFT.fillcircle(180+px, 160, 5, White) ;
+      TFT.fillcircle(60+dx, 160, 5, Black) ;
+      TFT.fillcircle(180+dx, 160, 5, Black) ;
+      px = dx ;
+      wait(0.1) ;
+    }
+    TFT.fillcircle(60+px, 160, 5, White) ;
+    TFT.fillcircle(180+px, 160, 5, White) ;
+    TFT.line(15, 160, 105, 160, Black) ;
+    TFT.line(135, 160, 225, 160, Black) ;
+    TFT.locate(30, 280) ;
+    TFT.printf("    Sleeping ... zzz     ") ;
+    TFT.locate(20, 300) ;
+    TFT.foreground(Yellow) ;
+    TFT.printf("  Touch TFT to wake up") ;
+}
+    
+int main()
+{
+    uint16_t x, y, z ;
+    bool awake = true ;
+    
+    initTFT() ;
+    
+    for(;;) {
+
+        if (awake) {
+            moveEye() ;
+            awake = false ;
+        }
+        
+        if ( TSC.getRAWPoint(&x, &y, &z)) {
+            awake = true ;
+        }
+        
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Dec 06 05:35:02 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/4fc01daae5a5
\ No newline at end of file