inverse kinematics toegevoegd en tickers samengevoegd tot 1 ticker

Dependencies:   HIDScope MODSERIAL biquadFilter mbed

Fork of Project_script by Marijke Zondag

Revision:
16:5f7196ddc77b
Parent:
15:be67b090b64a
Child:
17:741798018c0d
--- a/main.cpp	Mon Oct 22 09:35:55 2018 +0000
+++ b/main.cpp	Mon Oct 22 12:04:18 2018 +0000
@@ -8,8 +8,8 @@
 AnalogIn emg1_in            (A1);
 AnalogIn emg2_in            (A2);
 
-InterruptIn button1         (SW2);                  //Let op, is deze niet bezet? En 11? Even checken, als er een error komt, kan het hier zitten.
-InterruptIn button2         (SW3);
+InterruptIn button1         (D10);                  //Let op, is deze niet bezet? En 11? Even checken, als er een error komt, kan het hier zitten.
+InterruptIn button2         (D11);
 InterruptIn encoderA        (D9);
 InterruptIn encoderB        (D8);
 
@@ -164,7 +164,7 @@
    
     if(x>=4)                    //Reset back to x = 0
     {
-        x = 0;
+        x = -1;
     }
 }
     
@@ -298,58 +298,60 @@
     encoderB.rise(&encoderB_rise);
     encoderB.fall(&encoderB_fall);
     
-    while (true)
-    {
-        //Motor aansturen en encoder uitlezen
-          //float u1 = potmetervalue1;
-          //float u2 = potmetervalue2;
-          
-          //float m1 = ((u1*2.0f)-1.0f);
-          //float m2 = ((u2*2.0f)-1.0f);
-        
-          //pwmpin1 = fabs(m1*0.6f)+0.4f;     //pwm duty cycle can only be positive, floating, 0.4f is "inefficiënt", dit tellen we erbij op, en keer 0.6 om te corrigeren voor de helling.        
-        
-        if(emgfilter0>Threshold0)
-        {
-               pwmpin1 = 1;
-               directionpin1.write(1);
-        }
-        else
-        {
-               pwmpin1 = 0;
-        }
-        
-        if(emgfilter1>Threshold1)
-        {
-               pwmpin2 = 1;
-               directionpin2.write(1);
-        }
-        else
-        {
-               pwmpin2 = 0;
-        }
-        if(emgfilter2>Threshold2)
-        {
-               pwmpin1 = 1;
-               pwmpin2 = 2;
-               directionpin1.write(1);
-               directionpin2.write(1);
-        }
-        else
-        {
-               pwmpin1 = 0;
-               pwmpin2 = 0;
-        }
-               
-               //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. 
-        //wait(0.01f);                   //zodat de code niet oneindig doorgaat.
-        //pwmpin2 = fabs(m2*0.6f)+0.4f;    
-        //directionpin2.write(m2>0);   
-        
-        //float encoderDegrees = float(encoder)*(360.0/8400.0);
+    if(emg_cal==1)
+    { 
+         while (true)
+                {
+                //Motor aansturen en encoder uitlezen
+                  //float u1 = potmetervalue1;
+                  //float u2 = potmetervalue2;
+                  
+                  //float m1 = ((u1*2.0f)-1.0f);
+                  //float m2 = ((u2*2.0f)-1.0f);
+                
+                  //pwmpin1 = fabs(m1*0.6f)+0.4f;     //pwm duty cycle can only be positive, floating, 0.4f is "inefficiënt", dit tellen we erbij op, en keer 0.6 om te corrigeren voor de helling.        
+                
+                if(emgfilter0>Threshold0)
+                {
+                       pwmpin1 = 1;
+                       directionpin1.write(1);
+                }
+                else
+                {
+                       pwmpin1 = 0;
+                }
                 
-        //pc.printf("Encoder count: %f \n\r",encoderDegrees);
+                if(emgfilter1>Threshold1)
+                {
+                       pwmpin2 = 1;
+                       directionpin2.write(1);
+                }
+                else
+                {
+                       pwmpin2 = 0;
+                }
+                if(emgfilter2>Threshold2)
+                {
+                       pwmpin1 = 1;
+                       pwmpin2 = 2;
+                       directionpin1.write(1);
+                       directionpin2.write(1);
+                }
+                else
+                {
+                       pwmpin1 = 0;
+                       pwmpin2 = 0;
+                }
+                       
+                       //Indien waar, motor draait rechtsom. Indien niet waar, motor draait linksom. 
+                //wait(0.01f);                   //zodat de code niet oneindig doorgaat.
+                //pwmpin2 = fabs(m2*0.6f)+0.4f;    
+                //directionpin2.write(m2>0);   
+                
+                //float encoderDegrees = float(encoder)*(360.0/8400.0);
+                        
+                //pc.printf("Encoder count: %f \n\r",encoderDegrees);
         
     }
 }
-
+}