attempt 1

Dependencies:   mbed

Revision:
4:857d2663c894
Parent:
3:f45ab902c0ad
Child:
5:d5f2ff7ca039
--- a/main.cpp	Fri Mar 27 19:33:46 2015 +0000
+++ b/main.cpp	Fri Mar 27 22:24:19 2015 +0000
@@ -3,14 +3,14 @@
 
 //elevator I/O
 BusOut leds(LED1,LED2,LED3,LED4);
-PwmOut EN(p23);
-DigitalOut IN1(p24);
-DigitalOut IN2(p25);
+PwmOut EN(p22);
+DigitalOut IN1(p30);
+DigitalOut IN2(p29);
 
 
 //p23 LEFT p24 RIGHT
 PwmOut leftDoor(p21);
-PwmOut rightDoor(p22);
+//PwmOut rightDoor(p22);
 
 InterruptIn  irIN(p16);
 
@@ -71,13 +71,13 @@
 void openDoors(){
     
     leftDoor= 0.075;                  //init door closed
-    rightDoor= 0.125;                  //itit door closed]
+    //rightDoor= 0.125;                  //itit door closed]
     
     }
 void closeDoors(){
     
     leftDoor= 0.125;                  //init door closed
-    rightDoor= 0.075;                  //itit door closed
+    //rightDoor= 0.075;                  //itit door closed
     }
 
 void up(){
@@ -115,14 +115,25 @@
     irT.start();
     }
 
-int temp; 
+int aggr;
+int temp;
+int prev;
+
 void irFall() {
     irT.stop();
     float irPeriod = 2 * irT.read_us();
     
     temp = getFloor(irPeriod);
-    if(temp != 0)
-        curFloor = temp;
+    if(temp != 0){
+      if(temp == prev)
+          aggr++;
+      else aggr = 0;
+      if(aggr == 15){
+            curFloor = temp;
+          aggr = 0;
+          }
+      prev = temp;
+    }
     irT.reset();
     }
 
@@ -177,8 +188,8 @@
                          
     leftDoor.period(1/freq);             
     leftDoor= 0.125;                  //init door closed
-    rightDoor.period(1/freq);              
-    rightDoor= 0.075;                  //itit door closed
+    //rightDoor.period(1/freq);              
+    //rightDoor= 0.075;                  //itit door closed
     
     int reach = 0;