Code for LHS 12_12_2013

Dependencies:   Servo mbed

Revision:
4:3588eff6d065
Parent:
3:59a9bd160e29
--- a/main.cpp	Sat Feb 01 18:26:06 2014 +0000
+++ b/main.cpp	Wed Mar 12 21:38:21 2014 +0000
@@ -1,17 +1,18 @@
-//==================================
-//
-//          PLTW PROGRAM
-//   ----------------------------
-// Controls a PWM output using 
-// digital inputs
-//
-// SPEEDS:
-//  0.00 - 0.49 reverse
-//  0.49 - 0.51 zero
-//  0.51 - 1.00 forward
-
-//==================================
-
+//=======================================|
+//%|==================================|%%|
+//%|                                  |%%|
+//%|          PLTW PROGRAM            |%%|
+//%|   ----------------------------   |%%|
+//%|  Controls a PWM output using     |%%|
+//%|  digital inputs                  |%%|
+//%|                                  |%%|
+//%|  MOTOR SPEED:                    |%%|
+//%|   0.00 - 0.49 reverse            |%%|
+//%|   0.49 - 0.51 zero               |%%| 
+//%|   0.51 - 1.00 forward            |%%|
+//%|                                  |%%|
+//%|==================================|%%|
+//=======================================|
 
 //==================================
 // Add any libraries that you use:
@@ -37,6 +38,9 @@
 //add variables for button inputs on pins 15, 16, 17, and 18.
 InterruptIn a(p18), b(p17), c(p16), d(p15);
 
+//add variable for button press     //=========================================== NEW
+int apress = 0;                     //=========================================== NEW
+
 //==================================
 // Functions for each button press
 //==================================
@@ -45,23 +49,33 @@
 // Functions for button 1
 void a_hit_interrupt (void) {
 
-    //move VEX motor (1 is full CCW, 0 is full CW)
-    speed = 1.0;
-    motor1 = speed;
-    //set the motor on duration in seconds:
-    wait(1);
-    //stop motor
-    speed = 0.5;
-    motor1 = speed;
+    if(apress == 0){                    // PRESSING A WILL DO NOTHING AFTER THE FIRST PRESS
+                                        // UNLESS THE B BUTTON HAS BEEN PRESSED
+        //set the apress variable to 1  // SET APRESS VARIABLE TO 1
+        apress = 1;                     // SET APRESS VARIABLE TO 1
+        
+        //move VEX motor (1 is full CCW, 0 is full CW)
+        speed = 1.0;
+        motor1 = speed;
+        //set the motor on duration in seconds:
+        wait(1);
+        //stop motor
+        speed = 0.5;
+        motor1 = speed;
     
-    //Set LED 1
-    led1 = 1, led2 = 0, led3 = 0, led4 = 0;
+        //Set LED 1
+        led1 = 1, led2 = 0, led3 = 0, led4 = 0;
+    }
 }
  
  
  
 // Functions for button 2
 void b_hit_interrupt (void) {
+    if(apress == 1){                // PRESSING B WILL DO NOTHING IF A HAS NOT PRESSED
+    
+        //set the apress variable to 1  // RESET APRESS VARIABLE TO 0
+        apress = 0;                     // RESET APRESS VARIABLE TO 0
 
     //move VEX motor (1 is full CCW, 0 is full CW)
     speed = 0.0;
@@ -74,6 +88,7 @@
     
     //Set LED 2
     led1 = 0, led2 = 1, led3 = 0, led4 = 0;    
+    }
 }