ese519

Dependencies:   Servo mbed

Revision:
7:1ccdc92259f4
Parent:
6:652229327102
Child:
8:ae5df9496557
diff -r 652229327102 -r 1ccdc92259f4 main.cpp
--- 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;