UoD_ME30001_Group_1_03 / Mbed 2 deprecated timer

Dependencies:   mbed C12832_lcd

Committer:
mazmonem
Date:
Thu Nov 15 12:01:57 2018 +0000
Revision:
1:13aae0117bbf
Parent:
0:275c29641333
Child:
2:684c698024c4
Unfinished- line19 gives error 'expected a decleration'

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mazmonem 0:275c29641333 1 #include "mbed.h"
mazmonem 0:275c29641333 2 #include "C12832_lcd.h"
mazmonem 0:275c29641333 3
mazmonem 0:275c29641333 4
mazmonem 0:275c29641333 5 C12832_LCD lcd;
mazmonem 0:275c29641333 6 Timeout increment;
mazmonem 1:13aae0117bbf 7 BusIn up(p16);
mazmonem 1:13aae0117bbf 8 BusIn down(p17);
mazmonem 1:13aae0117bbf 9 BusIn left(p18);
mazmonem 1:13aae0117bbf 10 BusIn right(p19);
mazmonem 1:13aae0117bbf 11 BusIn centre(p20);
mazmonem 1:13aae0117bbf 12
mazmonem 1:13aae0117bbf 13 int hours=0;
mazmonem 1:13aae0117bbf 14 int minutes=0;
mazmonem 1:13aae0117bbf 15 bool toggle=false;
mazmonem 1:13aae0117bbf 16
mazmonem 1:13aae0117bbf 17 // How to detect if up is hold not press?
mazmonem 1:13aae0117bbf 18
mazmonem 1:13aae0117bbf 19 if (up = 1){
mazmonem 1:13aae0117bbf 20 if (left = 1) {
mazmonem 1:13aae0117bbf 21 inc_hrs();
mazmonem 1:13aae0117bbf 22 }
mazmonem 1:13aae0117bbf 23 else if (right = 1){
mazmonem 1:13aae0117bbf 24 inc_min();
mazmonem 1:13aae0117bbf 25 }
mazmonem 1:13aae0117bbf 26 }
mazmonem 1:13aae0117bbf 27
mazmonem 1:13aae0117bbf 28
mazmonem 1:13aae0117bbf 29 if (down = 1)
mazmonem 1:13aae0117bbf 30 {
mazmonem 1:13aae0117bbf 31 if (left = 1) {
mazmonem 1:13aae0117bbf 32 inc_hrs();
mazmonem 1:13aae0117bbf 33 } else if (right=1) {
mazmonem 1:13aae0117bbf 34 inc_min();
mazmonem 1:13aae0117bbf 35 }
mazmonem 1:13aae0117bbf 36 }
mazmonem 1:13aae0117bbf 37 /**
mazmonem 1:13aae0117bbf 38 Adjust minutes
mazmonem 1:13aae0117bbf 39 */
mazmonem 1:13aae0117bbf 40 void adj_min()
mazmonem 1:13aae0117bbf 41 {
mazmonem 1:13aae0117bbf 42 if (minutes>59) {
mazmonem 1:13aae0117bbf 43 minutes=0;
mazmonem 1:13aae0117bbf 44 } else if (minutes<59) {
mazmonem 1:13aae0117bbf 45 minutes=0;
mazmonem 1:13aae0117bbf 46 )
mazmonem 1:13aae0117bbf 47 }
mazmonem 1:13aae0117bbf 48 /**
mazmonem 1:13aae0117bbf 49 adj hrs
mazmonem 1:13aae0117bbf 50 */
mazmonem 1:13aae0117bbf 51 void adj_hrs()
mazmonem 1:13aae0117bbf 52 {
mazmonem 1:13aae0117bbf 53 if (hours>23) {
mazmonem 1:13aae0117bbf 54 hours=0;
mazmonem 1:13aae0117bbf 55 }
mazmonem 1:13aae0117bbf 56 else if (hours<23) {
mazmonem 1:13aae0117bbf 57 hours=0;
mazmonem 1:13aae0117bbf 58 )
mazmonem 1:13aae0117bbf 59 }
mazmonem 1:13aae0117bbf 60
mazmonem 1:13aae0117bbf 61 /**
mazmonem 1:13aae0117bbf 62 Increment minutes
mazmonem 1:13aae0117bbf 63 */
mazmonem 1:13aae0117bbf 64 void inc_min()
mazmonem 1:13aae0117bbf 65 {
mazmonem 1:13aae0117bbf 66 minutes++;
mazmonem 1:13aae0117bbf 67 adj_min();
mazmonem 1:13aae0117bbf 68
mazmonem 1:13aae0117bbf 69 }
mazmonem 1:13aae0117bbf 70 void inc_hrs()
mazmonem 1:13aae0117bbf 71 {
mazmonem 1:13aae0117bbf 72 hours++;
mazmonem 1:13aae0117bbf 73 adj_hrs();
mazmonem 1:13aae0117bbf 74
mazmonem 1:13aae0117bbf 75 }
mazmonem 1:13aae0117bbf 76
mazmonem 1:13aae0117bbf 77 /**
mazmonem 1:13aae0117bbf 78 Main entry point
mazmonem 1:13aae0117bbf 79 */
mazmonem 1:13aae0117bbf 80 int main()
mazmonem 1:13aae0117bbf 81 {
mazmonem 1:13aae0117bbf 82 while(true) {
mazmonem 1:13aae0117bbf 83 increment.attach(&inc_min, 60.0);
mazmonem 1:13aae0117bbf 84 }
mazmonem 1:13aae0117bbf 85
mazmonem 1:13aae0117bbf 86 lcd.cls();
mazmonem 1:13aae0117bbf 87 lcd.locate(0,15);
mazmonem 1:13aae0117bbf 88
mazmonem 1:13aae0117bbf 89 // Check if minutes are less than 10 so a 0 can be prefixed onto the display
mazmonem 1:13aae0117bbf 90 string mins = "00"; // String to display in lcd screen
mazmonem 1:13aae0117bbf 91
mazmonem 1:13aae0117bbf 92 if(minutes < 10) {
mazmonem 1:13aae0117bbf 93 mins = "0" + minutes;
mazmonem 1:13aae0117bbf 94 } else {
mazmonem 1:13aae0117bbf 95 mins = minutes;
mazmonem 1:13aae0117bbf 96 }
mazmonem 1:13aae0117bbf 97 lcd.printf("%s", mins);
mazmonem 1:13aae0117bbf 98
mazmonem 0:275c29641333 99 }
mazmonem 0:275c29641333 100 }