Ashmeet Singh Rekhi
/
mbed_elevator
ese519
Diff: main.cpp
- Revision:
- 7:1ccdc92259f4
- Parent:
- 6:652229327102
- Child:
- 8:ae5df9496557
--- a/main.cpp Thu Oct 15 06:33:39 2015 +0000 +++ b/main.cpp Thu Oct 15 07:09:55 2015 +0000 @@ -13,17 +13,18 @@ void edgecnter() { edge--; - if(edge > 0) + if(edge > 0) { freq.start(); - else { + freq.reset(); + } else { int diff = freq.read_us(); - // pc.printf("edgediff: %d\r\n",diff); + pc.printf("edgediff: %d\r\n",diff); - if(diff < 10050 && diff> 9900) + if(diff < 10100 && diff> 9900) floorat = 1; else if (diff < 4050 && diff > 3950) floorat = 2; - else if (diff < 2050 && diff > 1950) + else if (diff < 2100 && diff > 1900) floorat = 3; else if (diff < 1500 && diff > 1300) floorat = 4; @@ -32,7 +33,7 @@ edge = 2; // if(floorat==0) // pc.printf("edgediff: %d\r\n",diff); - freq.reset(); + freq.stop(); } } @@ -51,13 +52,14 @@ } short get_requested(float voltage){ - if(voltage < 0.3f) + // pc.printf("voltage: %f\r\n",voltage); + if(voltage < 0.34f) return 1; - else if (voltage < 0.5f) + else if (voltage < 0.55f) return 2; - else if (voltage < 0.7f) + else if (voltage < 0.75f) return 3; - else if (voltage < 0.7f) + else if (voltage < 0.9f) return 4; else return 5; @@ -78,7 +80,9 @@ floor.rise(&edgecnter); - +// while(1) { +// pc.printf("floor: %d\r\n",floorat); +// } close_door(); //pc.print //go up until you find a floor @@ -86,16 +90,16 @@ motor2 = 1; DCenable = 0.8f; - while(floorat==0) - pc.printf("floor: %d\r\n",floorat); short current_floor = floorat; pc.printf("at floor: %d\r\n",current_floor); pc.printf("go to floor: %d\r\n",get_requested(request)); while(1) { while(get_requested(request) != floorat) { - pc.printf("at floor: %d\r\n",current_floor); - pc.printf("go to floor: %d\r\n",get_requested(request)); + if(floorat!= 0) + current_floor = floorat; + pc.printf("at floor: %d\r\n",floorat); + pc.printf("\t\tgo to floor: %d\r\n",get_requested(request)); if(get_requested(request) > current_floor) { pc.printf("go up\r\n"); motor1 = 0; @@ -110,8 +114,8 @@ motor1=0; motor2=0; DCenable = 0; - } + } pc.printf("at requested floor\r\n"); DCenable = 0;