test for the SPI_TFT Lib

Dependencies:   SPI_TFT TFT_fonts mbed

Fork of TFT_Test1 by Peter Drescher

Files at this revision

API Documentation at this revision

Comitter:
MACRUM
Date:
Tue Feb 21 13:50:14 2017 +0000
Parent:
2:64fbd5e91109
Child:
6:d1db150d8e55
Commit message:
Add MPS2 support

Changed in this revision

SPI_TFT.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
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
--- a/SPI_TFT.lib	Fri Sep 16 22:32:10 2011 +0000
+++ b/SPI_TFT.lib	Tue Feb 21 13:50:14 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/dreschpe/code/SPI_TFT/#4781bb8eed45
+http://mbed.org/users/dreschpe/code/SPI_TFT/#33b5a7d74e66
--- a/TFT_fonts.lib	Fri Sep 16 22:32:10 2011 +0000
+++ b/TFT_fonts.lib	Tue Feb 21 13:50:14 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/dreschpe/code/TFT_fonts/#31ce4466ecdf
+http://mbed.org/users/dreschpe/code/TFT_fonts/#76774250fcec
--- a/main.cpp	Fri Sep 16 22:32:10 2011 +0000
+++ b/main.cpp	Tue Feb 21 13:50:14 2017 +0000
@@ -1,5 +1,5 @@
- // example to test the TFT Display
- // Thanks to the GraphicsDisplay and TextDisplay classes from 
+// example to test the TFT Display
+// Thanks to the GraphicsDisplay and TextDisplay classes from
 
 #include "stdio.h"
 #include "mbed.h"
@@ -12,76 +12,175 @@
 
 extern unsigned char p1[];  // the mbed logo
 
-// the TFT is connected to SPI pin 5-7 
-SPI_TFT TFT(p11, p12, p13, p14, p15,"TFT"); // mosi, miso, sclk, cs, reset
+// the TFT is connected to SPI pin 5-7
+//SPI_TFT TFT(p11, p12, p13, p14, p15,"TFT"); // mosi, miso, sclk, cs, reset
+SPI_TFT TFT(CLCD_MOSI, CLCD_MISO, CLCD_SCLK, CLCD_SSEL , CLCD_RESET, "TFT"); // mosi, miso, sclk, cs, reset
+Serial pc(USBTX, USBRX);
+
+const uint16_t colorTable[18] = {
+    Black,
+    Navy,
+    DarkGreen,
+    DarkCyan,
+    Maroon,
+    Purple,
+    Olive,
+    LightGrey,
+    DarkGrey,
+    Blue,
+    Green,
+    Cyan,
+    Red,
+    Magenta,
+    Yellow,
+    White,
+    Orange,
+    GreenYellow
+};
+
+void screen2(void) // Graphics
+{
+    //Draw some graphics
+    int i, x[2], y[2] ;
+
+    TFT.background(Black);
+    TFT.foreground(White);
+    TFT.cls() ;
+    TFT.set_font((unsigned char*) Arial12x12);
+    TFT.locate(90,0);
+    TFT.printf("Graphics");
 
-int main() {
-    int i;
-    TFT.claim(stdout);      // send stdout to the TFT display 
+    x[0] = 25 ;
+    x[1] = 224 ;
+    y[0] = 20 ;
+    y[1] = 219 ;
+    for (i = 20 ; i < 220 ; i += 10) {
+        TFT.line(i+5, y[0], i+5, y[1], Blue) ;
+        TFT.line(x[0], i, x[1], i, Blue) ;
+    }
+    TFT.line(125, y[0], 125, y[1], Green) ;
+    TFT.line(x[0], 120, x[1], 120, Green) ;
+    TFT.rect(x[0],y[0], x[1], y[1], Green) ;
+    TFT.locate(10, 20) ;
+    TFT.printf("V") ;
+    TFT.locate(0, 115) ;
+    TFT.printf("0.0") ;
+    TFT.locate(115, 225) ;
+    TFT.printf("0.0") ;
+    TFT.locate(215, 225) ;
+    TFT.printf("T") ;
+
+    double s;
+    for (int i = x[0]; i < 225; i++) {
+        s = 40 * sin((long double)i / 20);
+        TFT.pixel(i, 120 + (int)s, White);
+    }
+#if 0
+    TFT.fillrect(10, 240, 229, 309, White) ;
+    TFT.rect(10, 240, 229, 309, Red) ;
+    TFT.rect(11, 241, 228, 308, Red) ;
+
+    TFT.background(White) ;
+    TFT.foreground(Black) ;
+    TFT.locate(20, 250) ;
+    TFT.printf("With QVGA resolution") ;
+    TFT.locate(20, 270) ;
+    TFT.printf("simple graphics drawing") ;
+    TFT.locate(20, 290) ;
+    TFT.printf("capability is provided") ;
+#endif
+}
+
+int main()
+{
+    pc.baud(38400);
+    pc.printf("Hello, mbed world.\n");
+    pc.printf("System core lock : %d\n", SystemCoreClock);
+
+    TFT.claim(stdout);      // send stdout to the TFT display
     //TFT.claim(stderr);      // send stderr to the TFT display
 
-    TFT.background(Black);    // set background to black
-    TFT.foreground(White);    // set chars to white
-    TFT.cls();                // clear the screen
-    TFT.set_font((unsigned char*) Arial12x12);  // select the font
-      
-    // first show the 4 directions  
-    TFT.set_orientation(0);
-    TFT.locate(0,0);
-    printf("  Hello Mbed 0");
-    TFT.set_orientation(1);
-    TFT.locate(0,0);
-    printf("  Hello Mbed 1");
-    TFT.set_orientation(2);
-    TFT.locate(0,0);
-    printf("  Hello Mbed 2");
-    TFT.set_orientation(3);
-    TFT.locate(0,0);
-    printf("  Hello Mbed 3");
-    TFT.set_orientation(1);
-    TFT.set_font((unsigned char*) Arial24x23);
-    TFT.locate(50,100);
-    TFT.printf("TFT orientation");
-       
-    wait(5);        // wait two seconds 
-    
-    // draw some graphics 
-    TFT.cls();          
-    TFT.set_orientation(1);
-    TFT.set_font((unsigned char*) Arial24x23);
-    TFT.locate(100,100);
-    TFT.printf("Graphic");
-     
-    TFT.line(0,0,100,200,Green);
-    TFT.rect(100,50,150,100,Red);
-    TFT.fillrect(180,25,220,70,Blue);
-    TFT.circle(80,150,33,White);
-    
-    wait(5);        // wait two seconds
-    
-    // bigger text
-    TFT.foreground(White);
-    TFT.background(Blue);
-    TFT.cls();
-    TFT.set_font((unsigned char*) Arial24x23);
-    TFT.locate(0,0);
-    TFT.printf("Different Fonts :");
-    
-    TFT.set_font((unsigned char*) Neu42x35);
-    TFT.locate(0,30);
-    TFT.printf("Hello Mbed 1");
-    TFT.set_font((unsigned char*) Arial24x23);
-    TFT.locate(20,80);
-    TFT.printf("Hello Mbed 2");
-    TFT.set_font((unsigned char*) Arial12x12);
-    TFT.locate(35,120);
-    TFT.printf("Hello Mbed 3");
-    wait(5);
-  
-    // mbed logo  
-    TFT.set_orientation(1);
-    TFT.background(Black);
-    TFT.cls();
-    TFT.Bitmap(90,90,172,55,p1);
+    while(1) {
+        TFT.background(Black);    // set background to black
+        TFT.foreground(White);    // set chars to white
+        TFT.cls();                // clear the screen
+        TFT.set_font((unsigned char*) Arial12x12);  // select the font
+
+        // first show the 4 directions
+        TFT.set_orientation(0);
+        TFT.locate(0,0);
+        printf("  Hello Mbed 0");
+        TFT.set_orientation(1);
+        TFT.locate(0,0);
+        printf("  Hello Mbed 1");
+        TFT.set_orientation(2);
+        TFT.locate(0,0);
+        printf("  Hello Mbed 2");
+        TFT.set_orientation(3);
+        TFT.locate(0,0);
+        printf("  Hello Mbed 3");
+        TFT.set_orientation(1);
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(50,100);
+        TFT.printf("TFT orientation");
+
+        wait(5);        // wait two seconds
+
+        screen2();
+        wait(5);
+
+        // draw some graphics
+        TFT.background(Black);    // set background to black
+        TFT.foreground(White);    // set chars to white
+        TFT.cls();
+        TFT.set_orientation(1);
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(120,30);
+        TFT.printf("Graphic");
+
+        /*
+        TFT.line(0,0,100,200,Green);
+        TFT.rect(100,50,150,100,Red);
+        TFT.fillrect(180,25,220,70,Blue);
+        TFT.circle(80,150,33,White);
+        */
+        
+        int c = 0;
+        for(int i = 0; i < 32; i++) {
+            TFT.fillrect(i*10, i*7, i*10 + 20, i*7 + 20, colorTable[c++]);
+            TFT.rect(i*10, 240 - i*7,i*10 + 20, 240 - i*7 - 20, colorTable[c++]);
+            TFT.circle(i*10, 120, 20, colorTable[c++]);
+            if (c > 18)
+                c = 0;
+        }
+
+        wait(5);        // wait two seconds
+
+        // bigger text
+        TFT.foreground(White);
+        TFT.background(Blue);
+        TFT.cls();
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(0,0);
+        TFT.printf("Different Fonts :");
+
+        TFT.set_font((unsigned char*) Neu42x35);
+        TFT.locate(0,30);
+        TFT.printf("Hello Mbed 1");
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(20,80);
+        TFT.printf("Hello Mbed 2");
+        TFT.set_font((unsigned char*) Arial12x12);
+        TFT.locate(35,120);
+        TFT.printf("Hello Mbed 3");
+        wait(5);
+
+        // mbed logo
+        TFT.set_orientation(1);
+        TFT.background(Black);
+        TFT.cls();
+        TFT.Bitmap(90,90,172,55,p1);
+        wait(5);
+    }
 }
 
--- a/mbed.bld	Fri Sep 16 22:32:10 2011 +0000
+++ b/mbed.bld	Tue Feb 21 13:50:14 2017 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed/builds/63bcd7ba4912
+http://mbed.org/users/mbed_official/code/mbed/builds/6c34061e7c34
\ No newline at end of file