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
clocklogic.h@17:356a299d3224, 2017-05-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |