Cell phone

Dependencies:   TFT_fonts mbed

Fork of Seeed_TFT_Touch_Shield by Shields

Revision:
4:73d44ef604d6
Parent:
2:5c2f6ff36ff1
Child:
5:99eff39b92a0
--- a/main.cpp	Fri Jul 25 12:26:33 2014 +0000
+++ b/main.cpp	Wed Sep 17 00:19:58 2014 +0000
@@ -41,60 +41,239 @@
 
 SeeedStudioTFTv2 TFT(PIN_XP, PIN_XM, PIN_YP, PIN_YM, PIN_MOSI, PIN_MISO, PIN_SCLK, PIN_CS_TFT, PIN_DC_TFT, PIN_BL_TFT, PIN_CS_SD);
 
+void head() {
+
+        TFT.set_font((unsigned char*) Arial12x12);
+        //Time
+        set_time(1387188323); // Set RTC time to 16 December 2013 10:05:23 UTC
+        time_t seconds = time(NULL);
+    
+        //printf("Time as seconds since January 1, 1970 = %d\n", seconds);
+        TFT.locate(150,0);
+        char buffer[32];
+        strftime(buffer, 32, "%I:%M:%S %p\n", localtime(&seconds));
+        TFT.printf(buffer);
+        //Print a welcome message
+        
+        TFT.locate(0,0);
+        TFT.printf("Hello user");
+    
+}
+
+void keypad() {
+    
+    TFT.cls();
+    head();
+    //Keypad
+        TFT.circle(50,100,26,White);
+        TFT.circle(50,160,26,White);
+        TFT.circle(50,220,26,White);
+        TFT.circle(120,100,26,White);
+        TFT.circle(120,160,26,White);
+        TFT.circle(120,220,26,White);
+        TFT.circle(120,280,26,White);
+        TFT.circle(190,100,26,White);
+        TFT.circle(190,160,26,White);
+        TFT.circle(190,220,26,White);
+        TFT.circle(50,280,26,White);
+        TFT.circle(190,280,26,White);
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(40,84);
+        TFT.printf("1");
+        TFT.locate(40,144);
+        TFT.printf("4");
+        TFT.locate(40,204);
+        TFT.printf("7");
+        TFT.locate(110,84);
+        TFT.printf("2");
+        TFT.locate(110,144);
+        TFT.printf("5");
+        TFT.locate(110,204);
+        TFT.printf("8");
+        TFT.locate(180,84);
+        TFT.printf("3");
+        TFT.locate(180,144);
+        TFT.printf("6");
+        TFT.locate(180,204);
+        TFT.printf("9");
+        TFT.locate(110,264);
+        TFT.printf("0");
+        TFT.set_font((unsigned char*) Arial12x12);
+        TFT.locate(110,104);
+        TFT.printf("abc");
+        TFT.locate(180,104);
+        TFT.printf("def");
+        TFT.locate(40,164);
+        TFT.printf("ghi");
+        TFT.locate(110,164);
+        TFT.printf("jkl");
+        TFT.locate(178,164);
+        TFT.printf("mno");
+        TFT.locate(36,224);
+        TFT.printf("pqrs");
+        TFT.locate(110,224);
+        TFT.printf("tuv");
+        TFT.locate(175,224);
+        TFT.printf("wxyz");
+        TFT.locate(110,284);
+        TFT.printf("__");
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(40,270);
+        TFT.printf("C");
+        TFT.locate(180,270);
+        TFT.printf("T");
+        
+      
+}
+
+void call() {
+    
+    TFT.cls();
+        head();
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(50,280);
+        TFT.printf("End Call ");
+        TFT.line(40,270,190,270,White);
+        TFT.line(40,310,190,310,White);
+        TFT.line(40,270,40,310,White);
+        TFT.line(190,270,190,310,White);
+    
+}
+
+void text() {
+    
+    TFT.cls();
+    head();
+    TFT.circle(50,100,26,White);
+        TFT.circle(50,160,26,White);
+        TFT.circle(50,220,26,White);
+        TFT.circle(120,100,26,White);
+        TFT.circle(120,160,26,White);
+        TFT.circle(120,220,26,White);
+        TFT.circle(120,280,26,White);
+        TFT.circle(190,100,26,White);
+        TFT.circle(190,160,26,White);
+        TFT.circle(190,220,26,White);
+        TFT.circle(190,280,26,White);
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(40,84);
+        TFT.printf("1");
+        TFT.locate(40,144);
+        TFT.printf("4");
+        TFT.locate(40,204);
+        TFT.printf("7");
+        TFT.locate(110,84);
+        TFT.printf("2");
+        TFT.locate(110,144);
+        TFT.printf("5");
+        TFT.locate(110,204);
+        TFT.printf("8");
+        TFT.locate(180,84);
+        TFT.printf("3");
+        TFT.locate(180,144);
+        TFT.printf("6");
+        TFT.locate(180,204);
+        TFT.printf("9");
+        TFT.locate(110,264);
+        TFT.printf("0");
+        TFT.set_font((unsigned char*) Arial12x12);
+        TFT.locate(110,104);
+        TFT.printf("abc");
+        TFT.locate(180,104);
+        TFT.printf("def");
+        TFT.locate(40,164);
+        TFT.printf("ghi");
+        TFT.locate(110,164);
+        TFT.printf("jkl");
+        TFT.locate(178,164);
+        TFT.printf("mno");
+        TFT.locate(36,224);
+        TFT.printf("pqrs");
+        TFT.locate(110,224);
+        TFT.printf("tuv");
+        TFT.locate(175,224);
+        TFT.printf("wxyz");
+        TFT.locate(110,284);
+        TFT.printf("__");
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(180,270);
+        TFT.printf("S");
+        TFT.line(5,20,235,20,White);
+        TFT.line(5,65,235,65,White);
+        TFT.line(5,20,5,65,White);
+        TFT.line(235,20,235,65,White);
+    
+}
+
+
 int main()
 {
-    //Configure the display driver
-    TFT.background(Black);
-    TFT.foreground(White);
-    TFT.cls();
-
-    //Print a welcome message
-    TFT.set_font((unsigned char*) Arial12x12);
-    TFT.locate(0,0);
-    TFT.printf("Hello Mbed");
-
-    //Wait for 5 seconds
-    wait(5.0);
-
-    //Draw some graphics
-    TFT.cls();
-    TFT.set_font((unsigned char*) Arial24x23);
-    TFT.locate(100,100);
-    TFT.printf("Graphic");
-
-    TFT.line(0,0,100,0,Green);
-    TFT.line(0,0,0,200,Green);
-    TFT.line(0,0,100,200,Green);
-
-    TFT.rect(100,50,150,100,Red);
-    TFT.fillrect(180,25,220,70,Blue);
+    while(1) {
+        //Configure the display driver
+        TFT.background(Black);
+        TFT.foreground(White);
+        TFT.cls();
 
-    TFT.circle(80,150,33,White);
-    TFT.fillcircle(160,190,20,Yellow);
-
-    double s;
-    for (int i = 0; i < 320; i++) {
-        s = 20 * sin((long double)i / 10);
-        TFT.pixel(i, 100 + (int)s, Red);
+    
+        head();
+        
+        TFT.set_font((unsigned char*) Arial24x23);
+        TFT.locate(50,280);
+        TFT.printf("Call/Text");
+        TFT.line(40,270,190,270,White);
+        TFT.line(40,310,190,310,White);
+        TFT.line(40,270,40,310,White);
+        TFT.line(190,270,190,310,White);
+        
+        
+        wait(5);
+        keypad();
+        wait(5);
+        call();
+        wait(5);
+        text();
+        wait(5);     
+    
+        //Draw some graphics
+        //TFT.cls();
+        //TFT.set_font((unsigned char*) Arial24x23);
+        //TFT.locate(100,100);
+        //TFT.printf("Graphic");
+    
+        //TFT.line(0,0,100,0,White);
+        //TFT.line(0,0,0,200,White);
+        //TFT.line(0,0,100,200,White);
+        //TFT.line(0,0,100,200,White);
+    
+        /*TFT.rect(100,50,150,100,Red);
+        TFT.fillrect(180,25,220,70,Blue);*/
+    
+       
+    /*
+        double s;
+        for (int i = 0; i < 320; i++) {
+            s = 20 * sin((long double)i / 10);
+            TFT.pixel(i, 100 + (int)s, Red);
+        }
+    
+        //Wait for 5 seconds
+        wait(5.0);
+    
+        //Multiple fonts
+        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 for 5 seconds
-    wait(5.0);
-
-    //Multiple fonts
-    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");
 }