Not able to run on its own but useful

Dependencies:   mbed

Committer:
maxmbrown
Date:
Thu Nov 10 21:56:52 2016 +0000
Revision:
0:7d5e19fe3578
Not complete but still useful

Who changed what in which revision?

UserRevisionLine numberNew contents of line
maxmbrown 0:7d5e19fe3578 1 #include "mbed.h"
maxmbrown 0:7d5e19fe3578 2
maxmbrown 0:7d5e19fe3578 3 int yes = 0;
maxmbrown 0:7d5e19fe3578 4 int no = 0;
maxmbrown 0:7d5e19fe3578 5 int response = 0;
maxmbrown 0:7d5e19fe3578 6
maxmbrown 0:7d5e19fe3578 7 //1 2 3 4 5 6 7 8 9 10 11 12 15 50 40 30 20
maxmbrown 0:7d5e19fe3578 8 times vector = [11, 19, 16, 7, 5, 21, 13, 1, 8, 14, 2, 17, 3, 4, 6, 15, 18];
maxmbrown 0:7d5e19fe3578 9
maxmbrown 0:7d5e19fe3578 10 //o'clock, OH, reminder, appointment, AM, PM, Taken Meds?, Thank You
maxmbrown 0:7d5e19fe3578 11 words vector = [9, 10, 11, 20 ,22, 24, 23, 25]
maxmbrown 0:7d5e19fe3578 12
maxmbrown 0:7d5e19fe3578 13 //determine reminder type (app or rem)
maxmbrown 0:7d5e19fe3578 14 if(rem_type == "app"){
maxmbrown 0:7d5e19fe3578 15 speak(words[3]);
maxmbrown 0:7d5e19fe3578 16 wait(0.001);
maxmbrown 0:7d5e19fe3578 17 else
maxmbrown 0:7d5e19fe3578 18 //reminder
maxmbrown 0:7d5e19fe3578 19 speak(words[2]);
maxmbrown 0:7d5e19fe3578 20 wait(0.001);
maxmbrown 0:7d5e19fe3578 21 //ask if they've taken their medication
maxmbrown 0:7d5e19fe3578 22 speak(words[6]);
maxmbrown 0:7d5e19fe3578 23 wait(0.001);
maxmbrown 0:7d5e19fe3578 24 //intake and process yes/no response
maxmbrown 0:7d5e19fe3578 25 device.putc('d');
maxmbrown 0:7d5e19fe3578 26 wait(.001);
maxmbrown 0:7d5e19fe3578 27 device.putc('B');
maxmbrown 0:7d5e19fe3578 28 while (device.readable()!=0) {}
maxmbrown 0:7d5e19fe3578 29 rchar=device.getc();
maxmbrown 0:7d5e19fe3578 30 pc.putc(rchar);
maxmbrown 0:7d5e19fe3578 31 //for a yes response
maxmbrown 0:7d5e19fe3578 32 if (rchar=='A'){
maxmbrown 0:7d5e19fe3578 33 yes++;
maxmbrown 0:7d5e19fe3578 34 response++;
maxmbrown 0:7d5e19fe3578 35 }
maxmbrown 0:7d5e19fe3578 36 if (rchar == 'B'){
maxmbrown 0:7d5e19fe3578 37 no++;
maxmbrown 0:7d5e19fe3578 38 response++;
maxmbrown 0:7d5e19fe3578 39 }
maxmbrown 0:7d5e19fe3578 40
maxmbrown 0:7d5e19fe3578 41 //thank the user
maxmbrown 0:7d5e19fe3578 42 speak(words[7]);
maxmbrown 0:7d5e19fe3578 43 wait(0.001);
maxmbrown 0:7d5e19fe3578 44 }
maxmbrown 0:7d5e19fe3578 45
maxmbrown 0:7d5e19fe3578 46 //determine am or pm
maxmbrown 0:7d5e19fe3578 47 ampm = 0;
maxmbrown 0:7d5e19fe3578 48 if(hour >= 12){
maxmbrown 0:7d5e19fe3578 49 hour = hour % 12;
maxmbrown 0:7d5e19fe3578 50 ampm = 24;
maxmbrown 0:7d5e19fe3578 51 else
maxmbrown 0:7d5e19fe3578 52 ampm = 22;
maxmbrown 0:7d5e19fe3578 53 }
maxmbrown 0:7d5e19fe3578 54
maxmbrown 0:7d5e19fe3578 55 //two switch case statements: one for if the second number is a 5, one if it's a 0
maxmbrown 0:7d5e19fe3578 56 if(minutes(1) == "5"){
maxmbrown 0:7d5e19fe3578 57 switch(minutes(0))
maxmbrown 0:7d5e19fe3578 58 //say "OH 5"
maxmbrown 0:7d5e19fe3578 59 case "0": speak(words[1]);
maxmbrown 0:7d5e19fe3578 60 wait(0.001);
maxmbrown 0:7d5e19fe3578 61 speak(times[5-1]);
maxmbrown 0:7d5e19fe3578 62 wait(0.001);
maxmbrown 0:7d5e19fe3578 63 //say "fifteen"
maxmbrown 0:7d5e19fe3578 64 case "1" : speak(times[13-1]);
maxmbrown 0:7d5e19fe3578 65 wait(0.001);
maxmbrown 0:7d5e19fe3578 66 //say "twenty-five"
maxmbrown 0:7d5e19fe3578 67 case "2" : speak(times[17-1]);
maxmbrown 0:7d5e19fe3578 68 wait(0.001);
maxmbrown 0:7d5e19fe3578 69 speak(times[5-1]);
maxmbrown 0:7d5e19fe3578 70 wait(0.001);
maxmbrown 0:7d5e19fe3578 71 //say "thirty-five"
maxmbrown 0:7d5e19fe3578 72 case "3" : speak(times[16-1]);
maxmbrown 0:7d5e19fe3578 73 wait(0.001);
maxmbrown 0:7d5e19fe3578 74 speak(times[5-1]);
maxmbrown 0:7d5e19fe3578 75 wait(0.001);
maxmbrown 0:7d5e19fe3578 76 //say "forty-five"
maxmbrown 0:7d5e19fe3578 77 case "4" : speak(times[15-1]);
maxmbrown 0:7d5e19fe3578 78 wait(0.001);
maxmbrown 0:7d5e19fe3578 79 speak(times[5-1]);
maxmbrown 0:7d5e19fe3578 80 wait(0.001);
maxmbrown 0:7d5e19fe3578 81 //say "fifty-five"
maxmbrown 0:7d5e19fe3578 82 case "5" : speak(times[14-1]);
maxmbrown 0:7d5e19fe3578 83 wait(0.001);
maxmbrown 0:7d5e19fe3578 84 speak(times[5-1]);
maxmbrown 0:7d5e19fe3578 85 wait(0.001);
maxmbrown 0:7d5e19fe3578 86 }
maxmbrown 0:7d5e19fe3578 87 else
maxmbrown 0:7d5e19fe3578 88 switch(minutes(0)){
maxmbrown 0:7d5e19fe3578 89 //say "O'clock"
maxmbrown 0:7d5e19fe3578 90 case "0": speak(words[0]);
maxmbrown 0:7d5e19fe3578 91 wait(0.001);
maxmbrown 0:7d5e19fe3578 92 //say "ten"
maxmbrown 0:7d5e19fe3578 93 case "1" : speak(times[10-1]);
maxmbrown 0:7d5e19fe3578 94 wait(0.001);
maxmbrown 0:7d5e19fe3578 95 //say "twenty"
maxmbrown 0:7d5e19fe3578 96 case "2" : speak(times[17-1]);
maxmbrown 0:7d5e19fe3578 97 wait(0.001);
maxmbrown 0:7d5e19fe3578 98 //say "thirty"
maxmbrown 0:7d5e19fe3578 99 case "3" : speak(times[16-1]);
maxmbrown 0:7d5e19fe3578 100 wait(0.001);
maxmbrown 0:7d5e19fe3578 101 //say "forty"
maxmbrown 0:7d5e19fe3578 102 case "4" : speak(times[15-1]);
maxmbrown 0:7d5e19fe3578 103 wait(0.001);
maxmbrown 0:7d5e19fe3578 104 //say "fifty"
maxmbrown 0:7d5e19fe3578 105 case "5" : speak(times[14-1]);
maxmbrown 0:7d5e19fe3578 106 wait(0.001);
maxmbrown 0:7d5e19fe3578 107 }
maxmbrown 0:7d5e19fe3578 108 }
maxmbrown 0:7d5e19fe3578 109 speak(ampm);
maxmbrown 0:7d5e19fe3578 110
maxmbrown 0:7d5e19fe3578 111
maxmbrown 0:7d5e19fe3578 112
maxmbrown 0:7d5e19fe3578 113
maxmbrown 0:7d5e19fe3578 114
maxmbrown 0:7d5e19fe3578 115
maxmbrown 0:7d5e19fe3578 116
maxmbrown 0:7d5e19fe3578 117