State Machine, bezig met mooimaken

Dependencies:   Encoder HIDScope MODSERIAL biquadFilter mbed

Fork of vanEMGnaarMOTORPauline_States_nacht by Projectgroep 20 Biorobotics

Revision:
19:591572f4e4b5
Parent:
18:1e4f697a92cb
Child:
20:14edaecd7413
--- a/main.cpp	Fri Nov 03 02:06:37 2017 +0000
+++ b/main.cpp	Fri Nov 03 02:10:11 2017 +0000
@@ -442,41 +442,41 @@
     return refP2;                            // value between 0 and 4096 
 }
    
-float FeedBackControl(float error, float &e_prev, float &e_int)   // schaalt de snelheid naar de snelheid zodat onze chip het begrijpt (is nog niet in werking)
+double FeedBackControl(double error, double &e_prev, double &e_int)   // schaalt de snelheid naar de snelheid zodat onze chip het begrijpt (is nog niet in werking)
 {
-    float kp = 0.0015;                               // kind of scaled.
-    float Proportional= kp*error;
+    double kp = 0.0015;                               // kind of scaled.
+    double Proportional= kp*error;
     
-    float kd = 0.000008;                           // kind of scaled. 
-    float VelocityError = (error - e_prev)/Ts; 
-    float Derivative = kd*VelocityError;
+    double kd = 0.000008;                           // kind of scaled. 
+    double VelocityError = (error - e_prev)/Ts; 
+    double Derivative = kd*VelocityError;
     e_prev = error;
     
-    float ki = 0.0001;                           // kind of scaled.
+    double ki = 0.0001;                           // kind of scaled.
     e_int = e_int+Ts*error;
-    float Integrator = ki*e_int;
+    double Integrator = ki*e_int;
     
     
-    float motorValue = Proportional + Integrator + Derivative;
+    double motorValue = Proportional + Integrator + Derivative;
     return motorValue;
 }
 
-float FeedBackControl2(float error2, float &e_prev2, float &e_int2)   // schaalt de snelheid naar de snelheid zodat onze chip het begrijpt (is nog niet in werking)
+double FeedBackControl2(double error2, double &e_prev2, double &e_int2)   // schaalt de snelheid naar de snelheid zodat onze chip het begrijpt (is nog niet in werking)
 {
-    float kp2 = 0.002;                             // kind of scaled.
-    float Proportional2= kp2*error2;
+    double kp2 = 0.002;                             // kind of scaled.
+    double Proportional2= kp2*error2;
     
-    float kd2 = 0.000008;                           // kind of scaled. 
-    float VelocityError2 = (error2 - e_prev2)/Ts; 
-    float Derivative2 = kd2*VelocityError2;
+    double kd2 = 0.000008;                           // kind of scaled. 
+    double VelocityError2 = (error2 - e_prev2)/Ts; 
+    double Derivative2 = kd2*VelocityError2;
     e_prev2 = error2;
     
-    float ki2 = 0.00005;                           // kind of scaled.
+    double ki2 = 0.00005;                           // kind of scaled.
     e_int2 = e_int2+Ts*error2;
-    float Integrator2 = ki2*e_int2;
+    double Integrator2 = ki2*e_int2;
     
     
-    float motorValue2 = Proportional2 + Integrator2 + Derivative2;
+    double motorValue2 = Proportional2 + Integrator2 + Derivative2;
     return motorValue2;
     
 }
@@ -555,26 +555,27 @@
 {   
     switch(State){
         case Cal1: //Calibration motor 1
+        State=Cal2;
         // naar achteren bewegen( als voorbeeld Arvid), daarna deze waarde opslaan als offset. Dan bewegen naar home middels PID en verschil encodervalue uiterste stand en home1.
-            motorValue1 = 0.1f; motorValue2=0;
+           /* motorValue1 = 0.1f; motorValue2=0;
             M2E = fabs(motorValue2);
             M1E = fabs(motorValue1);
-            if         
+                    
                if (Huidigepositie1== 0)
                {
                                         SetMotor1(value); //value is waarde encoder voor loodrechte hoeken,.
-                    if (fabs(Huidigepositie1-)<0.01) {
+                    //if (fabs(Huidigepositie1<0.01) {
                         State=Cal2;
-                    }
+                    //}
                 }
                 else {
                     SetMotor1(0);
                     Loop_funtion();
-                }
+                }*/
             break;
             
         case Cal2: //Calibration motor 2
-                 if (Huidigepositie2== 0)
+               /*  if (Huidigepositie2== 0)
                  {
                        if (Huidigepositie2<0.01){
                        State=CalEMG;
@@ -582,7 +583,7 @@
                  else {
                      SetMotor2(0);
                      Loop_funtion();
-                 }
+                 } */
             break;
         case CalEMG: // Calibration EMG
             CalibrationEMG();   //calculates average EMGFiltered at rest and measures max signal EMGFiltered.
@@ -618,7 +619,7 @@
     //}
 }
 */
-int main();//deze moet ooit nog weg --> pas op voor errors
+int main()//deze moet ooit nog weg --> pas op voor errors
 {
     //voor EMG filteren
     //Left Bicep