DoubleCoilGun

Dependents:   Telliskivi2_2014

Fork of CoilGun by Reiko Randoja

Revision:
6:4c75db8a43db
Parent:
5:0e061c4013a2
Child:
7:95d16e38d0d8
--- a/coilgun.cpp	Wed Sep 18 10:50:22 2013 +0000
+++ b/coilgun.cpp	Wed Sep 18 11:20:31 2013 +0000
@@ -1,80 +1,80 @@
- #include "coilgun.h"
+#include "coilgun.h"
  
-    Coilgun::Coilgun(PinName kickPinName ,PinName chargePinName, PinName donePinName): 
-        kickPin(kickPinName),chargePin(chargePinName), donePin(donePinName) 
-    {
-        state = idle;
-        kickPin = 1;
-        chargePin = 0;
-        donePin.fall(this, &Coilgun::chargeEnd);
-    }
-    
-    void Coilgun::kick(unsigned int length) {
-        kick(length,true);
-    }
+Coilgun::Coilgun(PinName kickPinName ,PinName chargePinName, PinName donePinName): 
+    kickPin(kickPinName),chargePin(chargePinName), donePin(donePinName) 
+{
+    state = idle;
+    kickPin = 1;
+    chargePin = 0;
+    donePin.fall(this, &Coilgun::chargeEnd);
+}
+
+void Coilgun::kick(unsigned int length) {
+    kick(length,true);
+}
+
+void Coilgun::kick(unsigned int length, bool change_state = true) {
+    if(change_state) //Used to keep state when discharging
+        changeState(kicking);
     
-    void Coilgun::kick(unsigned int length, bool change_state = true) {
-        if(change_state) //Used to keep state when discharging
-            changeState(kicking);
-        
-        chargePin = 0; // Maybe not needed anymore? (still a safety?)
-        kickPin = 0;
-        kickTimeout.attach_us(this, &Coilgun::kickEnd, length);
-    }
-    
-    void Coilgun::kickEnd(void) {
-        kickTimeout.detach();
-        kickPin = 1;
+    chargePin = 0; // Maybe not needed anymore? (still a safety?)
+    kickPin = 0;
+    kickTimeout.attach_us(this, &Coilgun::kickEnd, length);
+}
 
-        if(state != discharging){ //Used when discharging 
-            chargePin = 1; // Don't start charging again
-            state = idle; //(let state stay "discharging")
-        }
-        
+void Coilgun::kickEnd(void) {
+    kickTimeout.detach();
+    kickPin = 1;
+
+    if(state != discharging){ //Used when discharging 
+        chargePin = 1; // Don't start charging again
+        state = idle; //(let state stay "discharging")
     }
     
-    void Coilgun::charge() {
-        changeState(charging);
-        kickPin = 1;
-        chargePin = 1; 
-    }
+}
+
+void Coilgun::charge() {
+    changeState(charging);
+    kickPin = 1;
+    chargePin = 1; 
+}
+
+void Coilgun::chargeEnd(){
+    chargePin = 0;
+    state = idle;
+}
 
-    void Coilgun::chargeEnd(){
-        chargePin = 0;
-        state = idle;
-    }
-    
-    void Coilgun::discharge() {
-        changeState(discharging);
-        dischargeTimeout.attach(this, &Coilgun::dischargeEnd, 10.0); // End discharging after 10 seconds
-        discharger.attach_us(this, &Coilgun::dischargeKick, 5000); // calls short kick every 5ms
-    }
-    void Coilgun::dischargeEnd(void) {
-        discharger.detach();
-        state = idle;
-    }
-    void Coilgun::dischargeKick(void) {
-        kick(500, false);
+void Coilgun::discharge() {
+    changeState(discharging);
+    dischargeTimeout.attach(this, &Coilgun::dischargeEnd, 10.0); // End discharging after 10 seconds
+    discharger.attach_us(this, &Coilgun::dischargeKick, 5000); // calls short kick every 5ms
+}
+void Coilgun::dischargeEnd(void) {
+    discharger.detach();
+    state = idle;
+}
+void Coilgun::dischargeKick(void) {
+    kick(500, false);
+}
+
+void Coilgun::changeState(State new_state){
+    switch(state){
+        case idle:
+        //nothing to end.
+        break;
+        case kicking:
+        kickEnd();
+        break;
+        case charging:
+        chargeEnd();
+        break;
+        case discharging:
+        dischargeEnd();
+        break;
+        default:
+        //error - no such state
+        break;
     }
-    
-    void Coilgun::changeState(State new_state){
-        switch(state){
-            case idle:
-            //nothing to end.
-            break;
-            case kicking:
-            kickEnd();
-            break;
-            case charging:
-            chargeEnd();
-            break;
-            case discharging:
-            dischargeEnd();
-            break;
-            default:
-            //error - no such state
-            break;
-        }
-        //set new state
-        state = new_state;
-    }
\ No newline at end of file
+    //set new state
+    state = new_state;
+}
\ No newline at end of file