Contains the main execution of the clock uses headers to import functions

Dependencies:   RTC-DS1307 SPI_TFT_ILI9341 TFT_fonts mbed tsi_sensor

Fork of TFT_Mikroelectronika_IL9341_sketchpad by Oxford CWM Team

Committer:
Owenmatthewmcgowan
Date:
Fri May 26 09:37:06 2017 +0000
Revision:
49:243b5e826228
Parent:
48:76ac309a2bd9
merge;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlin 10:9d9b3b9b28b8 1
mlin 10:9d9b3b9b28b8 2
mlin 11:1da15361a35b 3 void draw_state(int i)
mlin 11:1da15361a35b 4 {
tunagonen 39:4b70d28cb273 5 TFT.cls(); // clear screen
mlin 10:9d9b3b9b28b8 6 switch (i) {
tunagonen 39:4b70d28cb273 7 case (1): // interface 1 : digital clock
mlin 10:9d9b3b9b28b8 8 //buttons
tunagonen 39:4b70d28cb273 9 TFT.fillrect(0, 0, 50, 50, Red); //first button for digital to analog interface change
mlin 22:7a453c1d4d22 10 TFT.background(Red);
mlin 22:7a453c1d4d22 11 TFT.locate(2,5);
mlin 22:7a453c1d4d22 12 TFT.set_font((unsigned char*) Arial12x12);
Owenmatthewmcgowan 48:76ac309a2bd9 13 TFT.printf("Digi/\n\rALog");
tunagonen 39:4b70d28cb273 14 TFT.fillrect(0, 50, 50, 100, Green); //second button for settings page
mlin 22:7a453c1d4d22 15 TFT.background(Green);
mlin 22:7a453c1d4d22 16 TFT.locate(2, 55);
mlin 22:7a453c1d4d22 17 TFT.printf("Set\n\rTime");
tunagonen 39:4b70d28cb273 18 TFT.fillrect(0, 100, 50, 150, Blue); //third button for whiteboard
mlin 22:7a453c1d4d22 19 TFT.background(Blue);
mlin 22:7a453c1d4d22 20 TFT.locate(2, 105);
mlin 22:7a453c1d4d22 21 TFT.printf("Draw");
mlin 22:7a453c1d4d22 22 TFT.background(White);
tunagonen 39:4b70d28cb273 23 TFT.fillrect(0, 150, 50, 200, White); //last button for pong game
mlin 22:7a453c1d4d22 24 TFT.foreground(Black);
mlin 22:7a453c1d4d22 25 TFT.locate(2,155);
Owenmatthewmcgowan 48:76ac309a2bd9 26 TFT.printf("Cycle\n\rFaces");
mlin 22:7a453c1d4d22 27 TFT.background(Black);
mlin 22:7a453c1d4d22 28 TFT.foreground(White);
tunagonen 39:4b70d28cb273 29 TFT.fillrect(0, 200, 50, 240, Black); //home button to reset
mlin 22:7a453c1d4d22 30 TFT.locate(2, 205);
mlin 22:7a453c1d4d22 31 TFT.printf("Home");
mlin 11:1da15361a35b 32
mlin 10:9d9b3b9b28b8 33 TFT.rect(0, 0, 50, 50, White);
mlin 10:9d9b3b9b28b8 34 TFT.rect(0, 50, 50, 100, White);
mlin 10:9d9b3b9b28b8 35 TFT.rect(0, 100, 50, 150, White);
mlin 10:9d9b3b9b28b8 36 TFT.rect(0, 150, 50, 200, White);
mlin 10:9d9b3b9b28b8 37 TFT.rect(0, 200, 50, 240, White);
mlin 10:9d9b3b9b28b8 38 //clock area
mlin 10:9d9b3b9b28b8 39 TFT.rect(50, 0, 320, 100, White);
mlin 10:9d9b3b9b28b8 40 //Day
mlin 10:9d9b3b9b28b8 41 TFT.rect(50, 100, 140, 200, White);
mlin 10:9d9b3b9b28b8 42 //Alarm Area
mlin 10:9d9b3b9b28b8 43 TFT.rect(140, 100 , 320, 200, White);
mlin 10:9d9b3b9b28b8 44 //Date Area
mlin 10:9d9b3b9b28b8 45 TFT.rect(50, 200, 320, 240, White);
mlin 10:9d9b3b9b28b8 46 //Colons
mlin 10:9d9b3b9b28b8 47 int tx,ty = 0;
mlin 10:9d9b3b9b28b8 48 ty = 50;
mlin 10:9d9b3b9b28b8 49 tx = 140;
mlin 10:9d9b3b9b28b8 50 TFT.fillcircle(tx, ty - 10, 2, White);
mlin 10:9d9b3b9b28b8 51 TFT.fillcircle(tx, ty + 10, 2, White);
mlin 10:9d9b3b9b28b8 52 tx = 230;
mlin 10:9d9b3b9b28b8 53 TFT.fillcircle(tx, ty - 10, 2, White);
mlin 10:9d9b3b9b28b8 54 TFT.fillcircle(tx, ty + 10, 2, White);
mlin 10:9d9b3b9b28b8 55 ty = 150;
mlin 10:9d9b3b9b28b8 56 TFT.fillcircle(tx, ty - 10, 2, White);
mlin 10:9d9b3b9b28b8 57 TFT.fillcircle(tx, ty + 10, 2, White);
mlin 10:9d9b3b9b28b8 58 break;
tunagonen 39:4b70d28cb273 59 case (2): // analog clock interface
tunagonen 39:4b70d28cb273 60 //same button configuration as the first interface
mlin 10:9d9b3b9b28b8 61 TFT.fillrect(0, 0, 50, 50, Red);
mlin 38:3fe3bafbf0c7 62 TFT.background(Red);
mlin 38:3fe3bafbf0c7 63 TFT.locate(2,5);
mlin 38:3fe3bafbf0c7 64 TFT.set_font((unsigned char*) Arial12x12);
Owenmatthewmcgowan 48:76ac309a2bd9 65 TFT.printf("Digi/\n\rALog");
mlin 10:9d9b3b9b28b8 66 TFT.fillrect(0, 50, 50, 100, Green);
mlin 38:3fe3bafbf0c7 67 TFT.background(Green);
mlin 38:3fe3bafbf0c7 68 TFT.locate(2, 55);
mlin 38:3fe3bafbf0c7 69 TFT.printf("Set\n\rTime");
mlin 10:9d9b3b9b28b8 70 TFT.fillrect(0, 100, 50, 150, Blue);
mlin 38:3fe3bafbf0c7 71 TFT.background(Blue);
mlin 38:3fe3bafbf0c7 72 TFT.locate(2, 105);
mlin 38:3fe3bafbf0c7 73 TFT.printf("Draw");
mlin 38:3fe3bafbf0c7 74 TFT.background(White);
mlin 10:9d9b3b9b28b8 75 TFT.fillrect(0, 150, 50, 200, White);
mlin 38:3fe3bafbf0c7 76 TFT.foreground(Black);
mlin 38:3fe3bafbf0c7 77 TFT.locate(2,155);
Owenmatthewmcgowan 48:76ac309a2bd9 78 TFT.printf("Cycle\n\rFaces");
mlin 38:3fe3bafbf0c7 79 TFT.background(Black);
mlin 38:3fe3bafbf0c7 80 TFT.foreground(White);
mlin 10:9d9b3b9b28b8 81 TFT.fillrect(0, 200, 50, 240, Black);
mlin 38:3fe3bafbf0c7 82 TFT.locate(2, 205);
mlin 38:3fe3bafbf0c7 83 TFT.printf("Home");
mlin 11:1da15361a35b 84
mlin 10:9d9b3b9b28b8 85 TFT.rect(0, 0, 50, 50, White);
mlin 10:9d9b3b9b28b8 86 TFT.rect(0, 50, 50, 100, White);
mlin 10:9d9b3b9b28b8 87 TFT.rect(0, 100, 50, 150, White);
mlin 10:9d9b3b9b28b8 88 TFT.rect(0, 150, 50, 200, White);
mlin 10:9d9b3b9b28b8 89 TFT.rect(0, 200, 50, 240, White);
mlin 10:9d9b3b9b28b8 90 //Date Area
mlin 11:1da15361a35b 91
mlin 10:9d9b3b9b28b8 92 //clock area
mlin 38:3fe3bafbf0c7 93 int r = 100;
mlin 38:3fe3bafbf0c7 94 draw_clockface(50 + r, r, r, 5, White);
mlin 11:1da15361a35b 95 //Alarm Area
mlin 38:3fe3bafbf0c7 96 TFT.rect(250, 0, 320, 200, White);
mlin 38:3fe3bafbf0c7 97 TFT.rect(50, 0, 250, 200, White);
mlin 38:3fe3bafbf0c7 98 TFT.rect(50, 200, 320, 240, White);
mlin 38:3fe3bafbf0c7 99 tx = 285;
mlin 38:3fe3bafbf0c7 100 TFT.fillcircle(tx - 10, 100, 2, White);
mlin 38:3fe3bafbf0c7 101 TFT.fillcircle(tx + 10, 100, 2, White);
mlin 10:9d9b3b9b28b8 102 break;
tunagonen 39:4b70d28cb273 103 case (4): // whiteboard
mlin 11:1da15361a35b 104 whiteboard();
Owenmatthewmcgowan 12:50289d0ac834 105 break;
Owenmatthewmcgowan 20:e4572fc1b10d 106
Owenmatthewmcgowan 29:684e2a3e17b5 107
Owenmatthewmcgowan 20:e4572fc1b10d 108
mlin 38:3fe3bafbf0c7 109
mlin 10:9d9b3b9b28b8 110 }
mlin 10:9d9b3b9b28b8 111 }
mlin 11:1da15361a35b 112
mlin 11:1da15361a35b 113
mlin 11:1da15361a35b 114