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:
mlin
Date:
Thu May 25 10:13:13 2017 +0000
Revision:
17:356a299d3224
Parent:
16:3cb9b1fbc039
Child:
19:4c30c3182e04
time page working ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mlin 16:3cb9b1fbc039 1 int digital_clock_button_press(){
mlin 16:3cb9b1fbc039 2 int x = readX();
mlin 16:3cb9b1fbc039 3 int y = readY();
mlin 16:3cb9b1fbc039 4 if (touching == 1) {
mlin 16:3cb9b1fbc039 5 if (x > 0 && x < 50 && y > 0 & y < 50) // side button 1
mlin 16:3cb9b1fbc039 6 {
mlin 16:3cb9b1fbc039 7 //set desired state to 1
mlin 16:3cb9b1fbc039 8 return 1;
mlin 16:3cb9b1fbc039 9 }
mlin 16:3cb9b1fbc039 10 else if (x > 0 && x < 50 && y > 50 & y < 100) //side button 2
mlin 16:3cb9b1fbc039 11 {
mlin 16:3cb9b1fbc039 12 //set desired state to 2
mlin 16:3cb9b1fbc039 13 return 2;
mlin 16:3cb9b1fbc039 14 }
mlin 16:3cb9b1fbc039 15 else if (x > 0 && x < 50 && y > 100 && y < 150) // side button 3
mlin 16:3cb9b1fbc039 16 {
mlin 16:3cb9b1fbc039 17 //set desired state to 3
mlin 16:3cb9b1fbc039 18 return 3;
mlin 16:3cb9b1fbc039 19 }
mlin 16:3cb9b1fbc039 20 else if (x > 0 && x < 50 && y > 150 && y < 200) // side button 4
mlin 16:3cb9b1fbc039 21 {
mlin 16:3cb9b1fbc039 22 //set desired state to 4
mlin 16:3cb9b1fbc039 23 return 4;
mlin 17:356a299d3224 24 }else if (x > 0 && x < 50 && y > 200 && y < 240) // button home
mlin 16:3cb9b1fbc039 25 {
mlin 16:3cb9b1fbc039 26 //set desired state to 0
mlin 16:3cb9b1fbc039 27 return 0;
mlin 16:3cb9b1fbc039 28 }
mlin 17:356a299d3224 29 else if (x > 140 && x < 230 && y > 100 && y < 200) // alarm button on or off
mlin 16:3cb9b1fbc039 30 {
mlin 16:3cb9b1fbc039 31 //set desired state to 5
mlin 17:356a299d3224 32 f_alarm = !(f_alarm);
mlin 17:356a299d3224 33 return -1;
mlin 16:3cb9b1fbc039 34 }
mlin 16:3cb9b1fbc039 35 }
mlin 16:3cb9b1fbc039 36 return -1;
mlin 16:3cb9b1fbc039 37 }
mlin 16:3cb9b1fbc039 38
mlin 16:3cb9b1fbc039 39
mlin 16:3cb9b1fbc039 40
mlin 16:3cb9b1fbc039 41
mlin 16:3cb9b1fbc039 42 void clock()
mlin 16:3cb9b1fbc039 43 {
mlin 16:3cb9b1fbc039 44 draw_state(1);
mlin 16:3cb9b1fbc039 45 while (f_state == 1){
mlin 17:356a299d3224 46 read_time()
mlin 17:356a299d3224 47 TFT.set_font((unsigned char*) Arial24x23); //set alarm hour
mlin 17:356a299d3224 48 TFT.locate(70,40);
mlin 17:356a299d3224 49 TFT.printf("%d",tm_c.hour);
mlin 17:356a299d3224 50 TFT.locate(160,40);
mlin 17:356a299d3224 51 TFT.printf("%d",tm_c.min);
mlin 17:356a299d3224 52 TFT.locate(250,40);
mlin 17:356a299d3224 53 TFT.printf("%d",tm_c.sec);
mlin 17:356a299d3224 54 TFT.locate(60,140);
mlin 17:356a299d3224 55 TFT.set_font((unsigned char*) Arial12x12);
mlin 17:356a299d3224 56 TFT.printf("%s",rtc.weekdayToString(tm_c.wday));
mlin 17:356a299d3224 57 TFT.set_font((unsigned char*) Arial24x23);
mlin 17:356a299d3224 58 if (f_alarm) {
mlin 17:356a299d3224 59 TFT.locate(160,140);
mlin 17:356a299d3224 60 TFT.printf("%d",tm_a_hr);
mlin 17:356a299d3224 61 TFT.locate(250,40);
mlin 17:356a299d3224 62 TFT.printf("%d",tm_a_min);
mlin 17:356a299d3224 63 }
mlin 17:356a299d3224 64 else
mlin 17:356a299d3224 65 {
mlin 17:356a299d3224 66 TFT.locate(160,140);
mlin 17:356a299d3224 67 TFT.printf(" ");
mlin 17:356a299d3224 68 TFT.locate(250,40);
mlin 17:356a299d3224 69 TFT.printf(" ");
mlin 17:356a299d3224 70 }
mlin 17:356a299d3224 71 TFT.locate(210,70);
mlin 17:356a299d3224 72 TFT.printf("%s",tm_c.date);
mlin 17:356a299d3224 73 TFT.locate(250,160);
mlin 17:356a299d3224 74 TFT.printf("%d",tm_c.mon);
mlin 17:356a299d3224 75 TFT.locate(250,250);
mlin 17:356a299d3224 76 TFT.printf("%d",tm_c.year);
mlin 17:356a299d3224 77 }
mlin 17:356a299d3224 78 switch (digital_clock_press()){
mlin 17:356a299d3224 79 case (-1): break;
mlin 17:356a299d3224 80 case (0): f_state = 0; break;
mlin 17:356a299d3224 81 case (1): f_state = 2; break;
mlin 17:356a299d3224 82 case (2): f_state = 3; break;
mlin 17:356a299d3224 83 case (3): f_state = 4; break;
mlin 17:356a299d3224 84 }
mlin 17:356a299d3224 85 }
mlin 17:356a299d3224 86 }