Functie van het slaan van de bal

Dependencies:   Encoder HIDScope mbed-dsp mbed MODSERIAL

Files at this revision

API Documentation at this revision

Comitter:
BasvanBuuren
Date:
Wed Oct 29 16:21:19 2014 +0000
Parent:
13:b35f3553f210
Commit message:
Hij doet het gewoon!
;

Changed in this revision

MODSERIAL.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MODSERIAL.lib	Wed Oct 29 16:21:19 2014 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/Sissors/code/MODSERIAL/#b04ce87dc424
--- a/main.cpp	Wed Oct 29 15:36:59 2014 +0000
+++ b/main.cpp	Wed Oct 29 16:21:19 2014 +0000
@@ -2,7 +2,8 @@
 #include "HIDScope.h"
 //#include "mbed-dsp.h"
 #include "encoder.h"
-#include <iostream>
+//#include <iostream>
+#include "MODSERIAL.h"
 
 #define SAMP_TIME 0.01
 #define K_P (0.001)
@@ -15,6 +16,7 @@
 
 
 //define in and output
+MODSERIAL pc(USBTX,USBRX);
 Encoder encoderA(PTD0,PTD2);
 PwmOut m1_speed(PTA5);
 DigitalOut m1_dir(PTA4);
@@ -38,50 +40,61 @@
 
 int main()
 {
+    
     int y1;
     Ticker looptimer;
+    pc.baud(9600);
     looptimer.attach(setlooptimerflag,SAMP_TIME);
     while(1)
-    {
-        cin >> y1;
-        cout << y1 << endl;
-        slam(y1);
+    {   
+        if(! pc.readable())
+        {   
+            pc.printf("Main %d\n\r", encoderA.getPosition());
+            wait(0.1);
+        }
+        else
+        {    
+            y1 = pc.getc()-48;
+            pc.printf("%d\n\r", y1 );
+            slam(y1);
+        }
     }
 }
 
 void slam(int emg_value)
 {
-    cout << "Ik begin met de slafunctie" << endl;
-    cout << encoderA.getPosition() << endl << "check" << endl;
+    //pc.printf( "Ik begin met de slafunctie\n\r");
+    //pc.printf( encoderA.getPosition() << endl << "check\n\r");
+    pc.printf("Sla\n\r%d\n\r", encoderA.getPosition());
     switch (emg_value)
     {
         case 1:
-            cout << "zaak1" << endl;
+            pc.printf( "zaak1\n\r");
             m1_dir=1;
             max_speed=0.33;
             //m1_speed.write(0.33);
-            cout << "Motor 1 draait" << endl;
+            //pc.printf( "Motor 1 draait\n\r");
             break;
         case 2:
-            cout << "zaak2"<< endl;
+            pc.printf( "zaak2\n\r");
             m1_dir=1;
             max_speed=0.66;
             //m1_speed.write(0.66);
-            cout << "Motor 1 draait" << endl;
+            pc.printf( "Motor 1 draait\n\r");
             break;
         case 3:
-            cout << "zaak3"<< endl;
+            pc.printf( "zaak3\n\r");
             m1_dir=1;
             max_speed=1;
             //m1_speed.write(1);
-            cout << "Motor 1 draait" << endl;
+            pc.printf( "Motor 1 draait\n\r");
             break;
         default:
             m1_dir=1;
             m1_speed=0;
             break;
     }
-    cout << "Ik ben uit de switch" << endl;
+    //pc.printf( "Ik ben uit de switch\n\r");
     while(!looptimerflag);
     looptimerflag=false;
     new_speed=pid(MAXENCO,encoderA.getPosition());
@@ -100,7 +113,7 @@
     {
         while(!looptimerflag);
         looptimerflag=false;
-        //cout << "Eat, Sleep, Rave, Repeat" << endl;
+        //pc.printf( "Eat, Sleep, Rave, Repeat\n\r");
         new_speed=pid(MAXENCO,encoderA.getPosition());
         clamp(&new_speed,-max_speed,max_speed);
         if (new_speed>0)
@@ -112,10 +125,11 @@
             m1_dir=0;
         }
         m1_speed.write(fabs(new_speed));
-        //cout << new_speed << endl;
+        //pc.printf( new_speed << endl;
     }
-    cout << "Ik ben uit de eerste whilelus" << endl;
-    cout << encoderA.getPosition() << endl << "check" << endl;
+    pc.printf( "Ik ben uit de eerste whilelus\n\r");
+    //pc.printf( encoderA.getPosition() << endl << "check\n\r");
+    pc.printf("%d\n\r", encoderA.getPosition());
     while(!looptimerflag);
     looptimerflag=false;
     new_speed=pid(MINENCO,encoderA.getPosition());
@@ -147,8 +161,9 @@
         m1_speed.write(fabs(new_speed));
     }
     m1_speed.write(0);
-    cout << "Ik ben uit de tweede whilelus" << endl;
-    cout << encoderA.getPosition() << endl << "check" << endl;
+    pc.printf( "Ik ben uit de tweede whilelus\n\r");
+    //pc.printf( encoderA.getPosition() << endl << "check\n\r");
+    pc.printf("%d\n\r", encoderA.getPosition());
 }
 
 void clamp(float * in, float min, float max)