Application where a user inputs a time and then coffee will be made

Dependencies:   EthernetInterface HTTPClientAuthAndPathExtension NTPClient PinDetect mbed-rtos mbed

Committer:
rjuste3
Date:
Sat May 02 09:46:40 2015 +0000
Revision:
1:1bde2c70d733
Parent:
0:16b592a513ea
edit some little things;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rjuste3 0:16b592a513ea 1 #include "mbed.h"
rjuste3 0:16b592a513ea 2 #include <string>
rjuste3 0:16b592a513ea 3 #include <ctype.h>
rjuste3 0:16b592a513ea 4 #include "EthernetInterface.h"
rjuste3 0:16b592a513ea 5 #include "NTPClient.h"
rjuste3 0:16b592a513ea 6 #include "PinDetect.h"
rjuste3 0:16b592a513ea 7
rjuste3 0:16b592a513ea 8
rjuste3 0:16b592a513ea 9
rjuste3 0:16b592a513ea 10 PinDetect override(p12);
rjuste3 0:16b592a513ea 11 DigitalOut myled(LED1);
rjuste3 0:16b592a513ea 12 DigitalOut led(LED2);
rjuste3 0:16b592a513ea 13 DigitalOut on(p19);
rjuste3 0:16b592a513ea 14 DigitalOut off(p20);
rjuste3 0:16b592a513ea 15 Serial pc(USBTX, USBRX);
rjuste3 0:16b592a513ea 16 struct tm *cTime;
rjuste3 0:16b592a513ea 17 int cups = 0;
rjuste3 0:16b592a513ea 18 int hour;
rjuste3 0:16b592a513ea 19 int minute;
rjuste3 1:1bde2c70d733 20 int timeBrew = 120;
rjuste3 0:16b592a513ea 21
rjuste3 0:16b592a513ea 22
rjuste3 0:16b592a513ea 23
rjuste3 0:16b592a513ea 24
rjuste3 0:16b592a513ea 25 void waitForBrew(){
rjuste3 0:16b592a513ea 26
rjuste3 0:16b592a513ea 27 EthernetInterface eth;
rjuste3 0:16b592a513ea 28 NTPClient ntp;
rjuste3 1:1bde2c70d733 29 static const char* mbedIp = "128.61.126.186"; //IP
rjuste3 0:16b592a513ea 30 static const char* mbedMask = "255.255.240.0"; // Mask
rjuste3 0:16b592a513ea 31 static const char* mbedGateway = "128.61.112.1"; //Gateway
rjuste3 0:16b592a513ea 32 eth.init(mbedIp, mbedMask, mbedGateway);
rjuste3 0:16b592a513ea 33 eth.connect();
rjuste3 0:16b592a513ea 34 ntp.setTime("0.pool.ntp.org");
rjuste3 0:16b592a513ea 35 time_t currTime = time(NULL);
rjuste3 0:16b592a513ea 36
rjuste3 0:16b592a513ea 37 while(1){
rjuste3 0:16b592a513ea 38 currTime = time(NULL);
rjuste3 0:16b592a513ea 39 cTime = localtime(&currTime);
rjuste3 0:16b592a513ea 40 if (minute == cTime->tm_min && hour == cTime->tm_hour){
rjuste3 0:16b592a513ea 41 on = 1;
rjuste3 0:16b592a513ea 42 wait(.5);
rjuste3 0:16b592a513ea 43 on = 0;
rjuste3 0:16b592a513ea 44 off =0;
rjuste3 0:16b592a513ea 45 wait(timeBrew);
rjuste3 0:16b592a513ea 46 on = 0;
rjuste3 0:16b592a513ea 47 off = 1;
rjuste3 0:16b592a513ea 48 wait(.5);
rjuste3 0:16b592a513ea 49 off = 0;
rjuste3 0:16b592a513ea 50 }
rjuste3 0:16b592a513ea 51 }
rjuste3 0:16b592a513ea 52 }
rjuste3 0:16b592a513ea 53
rjuste3 0:16b592a513ea 54 int main() {
rjuste3 0:16b592a513ea 55
rjuste3 0:16b592a513ea 56 on = 0;
rjuste3 0:16b592a513ea 57 off = 1;
rjuste3 0:16b592a513ea 58 override.mode(PullUp);
rjuste3 0:16b592a513ea 59 wait(0.1);
rjuste3 0:16b592a513ea 60 off=0;
rjuste3 0:16b592a513ea 61
rjuste3 0:16b592a513ea 62
rjuste3 0:16b592a513ea 63
rjuste3 0:16b592a513ea 64 char buffer[20];
rjuste3 0:16b592a513ea 65 char minBuffer[2];
rjuste3 0:16b592a513ea 66 char hourBuf[2];
rjuste3 0:16b592a513ea 67 bool brewing = false;
rjuste3 0:16b592a513ea 68
rjuste3 0:16b592a513ea 69
rjuste3 0:16b592a513ea 70
rjuste3 0:16b592a513ea 71
rjuste3 0:16b592a513ea 72 while(brewing == false){
rjuste3 0:16b592a513ea 73 if(pc.readable()){
rjuste3 0:16b592a513ea 74 myled = 0;
rjuste3 0:16b592a513ea 75 pc.gets(buffer,6);
rjuste3 0:16b592a513ea 76 wait(0.5);
rjuste3 0:16b592a513ea 77 pc.printf(buffer);
rjuste3 0:16b592a513ea 78 pc.printf("\n");
rjuste3 0:16b592a513ea 79 if(isdigit(buffer[0])){
rjuste3 0:16b592a513ea 80 led = 1;
rjuste3 0:16b592a513ea 81 for (int k = 0;k < 2;k++){
rjuste3 0:16b592a513ea 82 hourBuf[k] = buffer[k];
rjuste3 0:16b592a513ea 83 }
rjuste3 0:16b592a513ea 84 for(int k =3; k<6; k++){
rjuste3 0:16b592a513ea 85 minBuffer[k-3]=buffer[k];
rjuste3 0:16b592a513ea 86 }
rjuste3 0:16b592a513ea 87 hour = atoi(hourBuf);
rjuste3 0:16b592a513ea 88 minute = atoi(minBuffer);
rjuste3 0:16b592a513ea 89 pc.printf("hour is %d\n",hour);
rjuste3 0:16b592a513ea 90 pc.printf("minute is %d\n",minute);
rjuste3 0:16b592a513ea 91 brewing = true;
rjuste3 0:16b592a513ea 92 waitForBrew();
rjuste3 0:16b592a513ea 93 }
rjuste3 0:16b592a513ea 94 else
rjuste3 0:16b592a513ea 95 led = 0;
rjuste3 0:16b592a513ea 96 }
rjuste3 0:16b592a513ea 97 else
rjuste3 0:16b592a513ea 98 myled = 1;
rjuste3 0:16b592a513ea 99 }
rjuste3 0:16b592a513ea 100
rjuste3 0:16b592a513ea 101
rjuste3 0:16b592a513ea 102 }