Cell phone

Dependencies:   TFT_fonts mbed

Fork of Seeed_TFT_Touch_Shield by Shields

Committer:
aasshishkanade
Date:
Wed Sep 17 00:19:58 2014 +0000
Revision:
4:73d44ef604d6
Parent:
2:5c2f6ff36ff1
Child:
5:99eff39b92a0
Inteface only(partial); Touch functionality not present.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lawliet 1:b2794eb7c940 1 /*
lawliet 1:b2794eb7c940 2 main.cpp
lawliet 1:b2794eb7c940 3 2014 Copyright (c) Seeed Technology Inc. All right reserved.
lawliet 1:b2794eb7c940 4
lawliet 1:b2794eb7c940 5 Author:lawliet zou(lawliet.zou@gmail.com)
lawliet 1:b2794eb7c940 6 2014-02-17
lawliet 1:b2794eb7c940 7
lawliet 1:b2794eb7c940 8 This library is free software; you can redistribute it and/or
lawliet 1:b2794eb7c940 9 modify it under the terms of the GNU Lesser General Public
lawliet 1:b2794eb7c940 10 License as published by the Free Software Foundation; either
lawliet 1:b2794eb7c940 11 version 2.1 of the License, or (at your option) any later version.
lawliet 1:b2794eb7c940 12
lawliet 1:b2794eb7c940 13 This library is distributed in the hope that it will be useful,
lawliet 1:b2794eb7c940 14 but WITHOUT ANY WARRANTY; without even the implied warranty of
lawliet 1:b2794eb7c940 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
lawliet 1:b2794eb7c940 16 Lesser General Public License for more details.
lawliet 1:b2794eb7c940 17
lawliet 1:b2794eb7c940 18 You should have received a copy of the GNU Lesser General Public
lawliet 1:b2794eb7c940 19 License along with this library; if not, write to the Free Software
lawliet 1:b2794eb7c940 20 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
lawliet 1:b2794eb7c940 21 */
lawliet 1:b2794eb7c940 22
neilt6 0:407dafce805d 23 #include "mbed.h"
neilt6 0:407dafce805d 24 #include "SeeedStudioTFTv2.h"
neilt6 0:407dafce805d 25 #include "Arial12x12.h"
neilt6 0:407dafce805d 26 #include "Arial24x23.h"
neilt6 0:407dafce805d 27 #include "Arial28x28.h"
neilt6 0:407dafce805d 28 #include "font_big.h"
neilt6 0:407dafce805d 29
screamer 2:5c2f6ff36ff1 30 #define PIN_XP A3
screamer 2:5c2f6ff36ff1 31 #define PIN_XM A1
screamer 2:5c2f6ff36ff1 32 #define PIN_YP A2
screamer 2:5c2f6ff36ff1 33 #define PIN_YM A0
screamer 2:5c2f6ff36ff1 34 #define PIN_MOSI D11
screamer 2:5c2f6ff36ff1 35 #define PIN_MISO D12
screamer 2:5c2f6ff36ff1 36 #define PIN_SCLK D13
screamer 2:5c2f6ff36ff1 37 #define PIN_CS_TFT D5
screamer 2:5c2f6ff36ff1 38 #define PIN_DC_TFT D6
screamer 2:5c2f6ff36ff1 39 #define PIN_BL_TFT D7
screamer 2:5c2f6ff36ff1 40 #define PIN_CS_SD D4
lawliet 1:b2794eb7c940 41
screamer 2:5c2f6ff36ff1 42 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);
neilt6 0:407dafce805d 43
aasshishkanade 4:73d44ef604d6 44 void head() {
aasshishkanade 4:73d44ef604d6 45
aasshishkanade 4:73d44ef604d6 46 TFT.set_font((unsigned char*) Arial12x12);
aasshishkanade 4:73d44ef604d6 47 //Time
aasshishkanade 4:73d44ef604d6 48 set_time(1387188323); // Set RTC time to 16 December 2013 10:05:23 UTC
aasshishkanade 4:73d44ef604d6 49 time_t seconds = time(NULL);
aasshishkanade 4:73d44ef604d6 50
aasshishkanade 4:73d44ef604d6 51 //printf("Time as seconds since January 1, 1970 = %d\n", seconds);
aasshishkanade 4:73d44ef604d6 52 TFT.locate(150,0);
aasshishkanade 4:73d44ef604d6 53 char buffer[32];
aasshishkanade 4:73d44ef604d6 54 strftime(buffer, 32, "%I:%M:%S %p\n", localtime(&seconds));
aasshishkanade 4:73d44ef604d6 55 TFT.printf(buffer);
aasshishkanade 4:73d44ef604d6 56 //Print a welcome message
aasshishkanade 4:73d44ef604d6 57
aasshishkanade 4:73d44ef604d6 58 TFT.locate(0,0);
aasshishkanade 4:73d44ef604d6 59 TFT.printf("Hello user");
aasshishkanade 4:73d44ef604d6 60
aasshishkanade 4:73d44ef604d6 61 }
aasshishkanade 4:73d44ef604d6 62
aasshishkanade 4:73d44ef604d6 63 void keypad() {
aasshishkanade 4:73d44ef604d6 64
aasshishkanade 4:73d44ef604d6 65 TFT.cls();
aasshishkanade 4:73d44ef604d6 66 head();
aasshishkanade 4:73d44ef604d6 67 //Keypad
aasshishkanade 4:73d44ef604d6 68 TFT.circle(50,100,26,White);
aasshishkanade 4:73d44ef604d6 69 TFT.circle(50,160,26,White);
aasshishkanade 4:73d44ef604d6 70 TFT.circle(50,220,26,White);
aasshishkanade 4:73d44ef604d6 71 TFT.circle(120,100,26,White);
aasshishkanade 4:73d44ef604d6 72 TFT.circle(120,160,26,White);
aasshishkanade 4:73d44ef604d6 73 TFT.circle(120,220,26,White);
aasshishkanade 4:73d44ef604d6 74 TFT.circle(120,280,26,White);
aasshishkanade 4:73d44ef604d6 75 TFT.circle(190,100,26,White);
aasshishkanade 4:73d44ef604d6 76 TFT.circle(190,160,26,White);
aasshishkanade 4:73d44ef604d6 77 TFT.circle(190,220,26,White);
aasshishkanade 4:73d44ef604d6 78 TFT.circle(50,280,26,White);
aasshishkanade 4:73d44ef604d6 79 TFT.circle(190,280,26,White);
aasshishkanade 4:73d44ef604d6 80 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 81 TFT.locate(40,84);
aasshishkanade 4:73d44ef604d6 82 TFT.printf("1");
aasshishkanade 4:73d44ef604d6 83 TFT.locate(40,144);
aasshishkanade 4:73d44ef604d6 84 TFT.printf("4");
aasshishkanade 4:73d44ef604d6 85 TFT.locate(40,204);
aasshishkanade 4:73d44ef604d6 86 TFT.printf("7");
aasshishkanade 4:73d44ef604d6 87 TFT.locate(110,84);
aasshishkanade 4:73d44ef604d6 88 TFT.printf("2");
aasshishkanade 4:73d44ef604d6 89 TFT.locate(110,144);
aasshishkanade 4:73d44ef604d6 90 TFT.printf("5");
aasshishkanade 4:73d44ef604d6 91 TFT.locate(110,204);
aasshishkanade 4:73d44ef604d6 92 TFT.printf("8");
aasshishkanade 4:73d44ef604d6 93 TFT.locate(180,84);
aasshishkanade 4:73d44ef604d6 94 TFT.printf("3");
aasshishkanade 4:73d44ef604d6 95 TFT.locate(180,144);
aasshishkanade 4:73d44ef604d6 96 TFT.printf("6");
aasshishkanade 4:73d44ef604d6 97 TFT.locate(180,204);
aasshishkanade 4:73d44ef604d6 98 TFT.printf("9");
aasshishkanade 4:73d44ef604d6 99 TFT.locate(110,264);
aasshishkanade 4:73d44ef604d6 100 TFT.printf("0");
aasshishkanade 4:73d44ef604d6 101 TFT.set_font((unsigned char*) Arial12x12);
aasshishkanade 4:73d44ef604d6 102 TFT.locate(110,104);
aasshishkanade 4:73d44ef604d6 103 TFT.printf("abc");
aasshishkanade 4:73d44ef604d6 104 TFT.locate(180,104);
aasshishkanade 4:73d44ef604d6 105 TFT.printf("def");
aasshishkanade 4:73d44ef604d6 106 TFT.locate(40,164);
aasshishkanade 4:73d44ef604d6 107 TFT.printf("ghi");
aasshishkanade 4:73d44ef604d6 108 TFT.locate(110,164);
aasshishkanade 4:73d44ef604d6 109 TFT.printf("jkl");
aasshishkanade 4:73d44ef604d6 110 TFT.locate(178,164);
aasshishkanade 4:73d44ef604d6 111 TFT.printf("mno");
aasshishkanade 4:73d44ef604d6 112 TFT.locate(36,224);
aasshishkanade 4:73d44ef604d6 113 TFT.printf("pqrs");
aasshishkanade 4:73d44ef604d6 114 TFT.locate(110,224);
aasshishkanade 4:73d44ef604d6 115 TFT.printf("tuv");
aasshishkanade 4:73d44ef604d6 116 TFT.locate(175,224);
aasshishkanade 4:73d44ef604d6 117 TFT.printf("wxyz");
aasshishkanade 4:73d44ef604d6 118 TFT.locate(110,284);
aasshishkanade 4:73d44ef604d6 119 TFT.printf("__");
aasshishkanade 4:73d44ef604d6 120 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 121 TFT.locate(40,270);
aasshishkanade 4:73d44ef604d6 122 TFT.printf("C");
aasshishkanade 4:73d44ef604d6 123 TFT.locate(180,270);
aasshishkanade 4:73d44ef604d6 124 TFT.printf("T");
aasshishkanade 4:73d44ef604d6 125
aasshishkanade 4:73d44ef604d6 126
aasshishkanade 4:73d44ef604d6 127 }
aasshishkanade 4:73d44ef604d6 128
aasshishkanade 4:73d44ef604d6 129 void call() {
aasshishkanade 4:73d44ef604d6 130
aasshishkanade 4:73d44ef604d6 131 TFT.cls();
aasshishkanade 4:73d44ef604d6 132 head();
aasshishkanade 4:73d44ef604d6 133 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 134 TFT.locate(50,280);
aasshishkanade 4:73d44ef604d6 135 TFT.printf("End Call ");
aasshishkanade 4:73d44ef604d6 136 TFT.line(40,270,190,270,White);
aasshishkanade 4:73d44ef604d6 137 TFT.line(40,310,190,310,White);
aasshishkanade 4:73d44ef604d6 138 TFT.line(40,270,40,310,White);
aasshishkanade 4:73d44ef604d6 139 TFT.line(190,270,190,310,White);
aasshishkanade 4:73d44ef604d6 140
aasshishkanade 4:73d44ef604d6 141 }
aasshishkanade 4:73d44ef604d6 142
aasshishkanade 4:73d44ef604d6 143 void text() {
aasshishkanade 4:73d44ef604d6 144
aasshishkanade 4:73d44ef604d6 145 TFT.cls();
aasshishkanade 4:73d44ef604d6 146 head();
aasshishkanade 4:73d44ef604d6 147 TFT.circle(50,100,26,White);
aasshishkanade 4:73d44ef604d6 148 TFT.circle(50,160,26,White);
aasshishkanade 4:73d44ef604d6 149 TFT.circle(50,220,26,White);
aasshishkanade 4:73d44ef604d6 150 TFT.circle(120,100,26,White);
aasshishkanade 4:73d44ef604d6 151 TFT.circle(120,160,26,White);
aasshishkanade 4:73d44ef604d6 152 TFT.circle(120,220,26,White);
aasshishkanade 4:73d44ef604d6 153 TFT.circle(120,280,26,White);
aasshishkanade 4:73d44ef604d6 154 TFT.circle(190,100,26,White);
aasshishkanade 4:73d44ef604d6 155 TFT.circle(190,160,26,White);
aasshishkanade 4:73d44ef604d6 156 TFT.circle(190,220,26,White);
aasshishkanade 4:73d44ef604d6 157 TFT.circle(190,280,26,White);
aasshishkanade 4:73d44ef604d6 158 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 159 TFT.locate(40,84);
aasshishkanade 4:73d44ef604d6 160 TFT.printf("1");
aasshishkanade 4:73d44ef604d6 161 TFT.locate(40,144);
aasshishkanade 4:73d44ef604d6 162 TFT.printf("4");
aasshishkanade 4:73d44ef604d6 163 TFT.locate(40,204);
aasshishkanade 4:73d44ef604d6 164 TFT.printf("7");
aasshishkanade 4:73d44ef604d6 165 TFT.locate(110,84);
aasshishkanade 4:73d44ef604d6 166 TFT.printf("2");
aasshishkanade 4:73d44ef604d6 167 TFT.locate(110,144);
aasshishkanade 4:73d44ef604d6 168 TFT.printf("5");
aasshishkanade 4:73d44ef604d6 169 TFT.locate(110,204);
aasshishkanade 4:73d44ef604d6 170 TFT.printf("8");
aasshishkanade 4:73d44ef604d6 171 TFT.locate(180,84);
aasshishkanade 4:73d44ef604d6 172 TFT.printf("3");
aasshishkanade 4:73d44ef604d6 173 TFT.locate(180,144);
aasshishkanade 4:73d44ef604d6 174 TFT.printf("6");
aasshishkanade 4:73d44ef604d6 175 TFT.locate(180,204);
aasshishkanade 4:73d44ef604d6 176 TFT.printf("9");
aasshishkanade 4:73d44ef604d6 177 TFT.locate(110,264);
aasshishkanade 4:73d44ef604d6 178 TFT.printf("0");
aasshishkanade 4:73d44ef604d6 179 TFT.set_font((unsigned char*) Arial12x12);
aasshishkanade 4:73d44ef604d6 180 TFT.locate(110,104);
aasshishkanade 4:73d44ef604d6 181 TFT.printf("abc");
aasshishkanade 4:73d44ef604d6 182 TFT.locate(180,104);
aasshishkanade 4:73d44ef604d6 183 TFT.printf("def");
aasshishkanade 4:73d44ef604d6 184 TFT.locate(40,164);
aasshishkanade 4:73d44ef604d6 185 TFT.printf("ghi");
aasshishkanade 4:73d44ef604d6 186 TFT.locate(110,164);
aasshishkanade 4:73d44ef604d6 187 TFT.printf("jkl");
aasshishkanade 4:73d44ef604d6 188 TFT.locate(178,164);
aasshishkanade 4:73d44ef604d6 189 TFT.printf("mno");
aasshishkanade 4:73d44ef604d6 190 TFT.locate(36,224);
aasshishkanade 4:73d44ef604d6 191 TFT.printf("pqrs");
aasshishkanade 4:73d44ef604d6 192 TFT.locate(110,224);
aasshishkanade 4:73d44ef604d6 193 TFT.printf("tuv");
aasshishkanade 4:73d44ef604d6 194 TFT.locate(175,224);
aasshishkanade 4:73d44ef604d6 195 TFT.printf("wxyz");
aasshishkanade 4:73d44ef604d6 196 TFT.locate(110,284);
aasshishkanade 4:73d44ef604d6 197 TFT.printf("__");
aasshishkanade 4:73d44ef604d6 198 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 199 TFT.locate(180,270);
aasshishkanade 4:73d44ef604d6 200 TFT.printf("S");
aasshishkanade 4:73d44ef604d6 201 TFT.line(5,20,235,20,White);
aasshishkanade 4:73d44ef604d6 202 TFT.line(5,65,235,65,White);
aasshishkanade 4:73d44ef604d6 203 TFT.line(5,20,5,65,White);
aasshishkanade 4:73d44ef604d6 204 TFT.line(235,20,235,65,White);
aasshishkanade 4:73d44ef604d6 205
aasshishkanade 4:73d44ef604d6 206 }
aasshishkanade 4:73d44ef604d6 207
aasshishkanade 4:73d44ef604d6 208
neilt6 0:407dafce805d 209 int main()
neilt6 0:407dafce805d 210 {
aasshishkanade 4:73d44ef604d6 211 while(1) {
aasshishkanade 4:73d44ef604d6 212 //Configure the display driver
aasshishkanade 4:73d44ef604d6 213 TFT.background(Black);
aasshishkanade 4:73d44ef604d6 214 TFT.foreground(White);
aasshishkanade 4:73d44ef604d6 215 TFT.cls();
neilt6 0:407dafce805d 216
aasshishkanade 4:73d44ef604d6 217
aasshishkanade 4:73d44ef604d6 218 head();
aasshishkanade 4:73d44ef604d6 219
aasshishkanade 4:73d44ef604d6 220 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 221 TFT.locate(50,280);
aasshishkanade 4:73d44ef604d6 222 TFT.printf("Call/Text");
aasshishkanade 4:73d44ef604d6 223 TFT.line(40,270,190,270,White);
aasshishkanade 4:73d44ef604d6 224 TFT.line(40,310,190,310,White);
aasshishkanade 4:73d44ef604d6 225 TFT.line(40,270,40,310,White);
aasshishkanade 4:73d44ef604d6 226 TFT.line(190,270,190,310,White);
aasshishkanade 4:73d44ef604d6 227
aasshishkanade 4:73d44ef604d6 228
aasshishkanade 4:73d44ef604d6 229 wait(5);
aasshishkanade 4:73d44ef604d6 230 keypad();
aasshishkanade 4:73d44ef604d6 231 wait(5);
aasshishkanade 4:73d44ef604d6 232 call();
aasshishkanade 4:73d44ef604d6 233 wait(5);
aasshishkanade 4:73d44ef604d6 234 text();
aasshishkanade 4:73d44ef604d6 235 wait(5);
aasshishkanade 4:73d44ef604d6 236
aasshishkanade 4:73d44ef604d6 237 //Draw some graphics
aasshishkanade 4:73d44ef604d6 238 //TFT.cls();
aasshishkanade 4:73d44ef604d6 239 //TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 240 //TFT.locate(100,100);
aasshishkanade 4:73d44ef604d6 241 //TFT.printf("Graphic");
aasshishkanade 4:73d44ef604d6 242
aasshishkanade 4:73d44ef604d6 243 //TFT.line(0,0,100,0,White);
aasshishkanade 4:73d44ef604d6 244 //TFT.line(0,0,0,200,White);
aasshishkanade 4:73d44ef604d6 245 //TFT.line(0,0,100,200,White);
aasshishkanade 4:73d44ef604d6 246 //TFT.line(0,0,100,200,White);
aasshishkanade 4:73d44ef604d6 247
aasshishkanade 4:73d44ef604d6 248 /*TFT.rect(100,50,150,100,Red);
aasshishkanade 4:73d44ef604d6 249 TFT.fillrect(180,25,220,70,Blue);*/
aasshishkanade 4:73d44ef604d6 250
aasshishkanade 4:73d44ef604d6 251
aasshishkanade 4:73d44ef604d6 252 /*
aasshishkanade 4:73d44ef604d6 253 double s;
aasshishkanade 4:73d44ef604d6 254 for (int i = 0; i < 320; i++) {
aasshishkanade 4:73d44ef604d6 255 s = 20 * sin((long double)i / 10);
aasshishkanade 4:73d44ef604d6 256 TFT.pixel(i, 100 + (int)s, Red);
aasshishkanade 4:73d44ef604d6 257 }
aasshishkanade 4:73d44ef604d6 258
aasshishkanade 4:73d44ef604d6 259 //Wait for 5 seconds
aasshishkanade 4:73d44ef604d6 260 wait(5.0);
aasshishkanade 4:73d44ef604d6 261
aasshishkanade 4:73d44ef604d6 262 //Multiple fonts
aasshishkanade 4:73d44ef604d6 263 TFT.foreground(White);
aasshishkanade 4:73d44ef604d6 264 TFT.background(Blue);
aasshishkanade 4:73d44ef604d6 265 TFT.cls();
aasshishkanade 4:73d44ef604d6 266 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 267 TFT.locate(0,0);
aasshishkanade 4:73d44ef604d6 268 TFT.printf("Different Fonts:");
aasshishkanade 4:73d44ef604d6 269 TFT.set_font((unsigned char*) Neu42x35);
aasshishkanade 4:73d44ef604d6 270 TFT.locate(0,30);
aasshishkanade 4:73d44ef604d6 271 TFT.printf("Hello Mbed 1");
aasshishkanade 4:73d44ef604d6 272 TFT.set_font((unsigned char*) Arial24x23);
aasshishkanade 4:73d44ef604d6 273 TFT.locate(20,80);
aasshishkanade 4:73d44ef604d6 274 TFT.printf("Hello Mbed 2");
aasshishkanade 4:73d44ef604d6 275 TFT.set_font((unsigned char*) Arial12x12);
aasshishkanade 4:73d44ef604d6 276 TFT.locate(35,120);
aasshishkanade 4:73d44ef604d6 277 TFT.printf("Hello Mbed 3");*/
neilt6 0:407dafce805d 278 }
neilt6 0:407dafce805d 279 }