Roboshark / Mbed 2 deprecated TestRegler

Dependencies:   mbed

Fork of Roboshark_V3 by Roboshark

Revision:
6:a4b745625dbe
Parent:
4:767fd282dd9c
Child:
7:b2a16b1cf487
--- a/main.cpp	Thu Apr 26 05:58:07 2018 +0000
+++ b/main.cpp	Mon Apr 30 13:22:32 2018 +0000
@@ -5,7 +5,7 @@
 #include "Controller.h"
 #include "IRSensor.h"
 #include "Fahren.h"
-#include "StateMachine.h"
+#include "Regler.h"
 
 DigitalOut myled(LED1);
 
@@ -22,13 +22,6 @@
 DigitalOut bit1(PC_2);
 DigitalOut bit2(PC_3);
 
-/*IRSensor irSensor0(distance, bit0, bit1, bit2, 0);
-IRSensor irSensor1(distance, bit0, bit1, bit2, 1);
-IRSensor irSensor2(distance, bit0, bit1, bit2, 2);
-IRSensor irSensor3(distance, bit0, bit1, bit2, 3);
-IRSensor irSensor4(distance, bit0, bit1, bit2, 4);
-IRSensor irSensor5(distance, bit0, bit1, bit2, 5);*/
-
 AnalogIn IrRight(PC_3);                                                         //von main Vincent kopiert
 AnalogIn IrLeft (PC_5);
 AnalogIn IrFront(PC_2);
@@ -47,12 +40,10 @@
 bool finish = 0;       
 bool finishLast = 0;
 int ende = 0;    
-int temp = 0;                                                        //von main Vincent kopiert
-
-IRSensor iRSensor(IrRight, IrLeft, IrFront, dis2R, dis2L, dis2F, LineSensor); 
-//IRSensor bottom (IrRight, IrLeft, IrFront, dis2R, dis2L, dis2F, LineSensor);           //von main Vincent kopiert
-StateMachine stateMachine(IrR, IrL, IrF);                                       //von main Vincent kopiert
-
+int temp = 0;   
+float SpeedR = 0;
+float SpeedL = 0;
+                                                     //von main Vincent kopiert
 
 DigitalOut enableMotorDriver(PB_2);
 DigitalIn motorDriverFault(PB_14);
@@ -64,9 +55,13 @@
 EncoderCounter counterLeft(PB_6, PB_7);
 EncoderCounter counterRight(PA_6, PC_7);
 
+IRSensor iRSensor(IrRight, IrLeft, IrFront, dis2R, dis2L, dis2F, LineSensor);          //von main Vincent kopiert
+
 Controller controller(pwmLeft, pwmRight, counterLeft, counterRight);
 
-Fahren fahren(controller, counterLeft, counterRight);                           //Reihenfolge!!!!!!!!!!!!!!!!!!! Ultra wichtig
+Regler regler(IrRight, IrLeft);
+
+Fahren fahren(controller, counterLeft, counterRight, SpeedR, SpeedL);                           //Reihenfolge!!!!!!!!!!!!!!!!!!! Ultra wichtig
 
 int main()
 {
@@ -101,8 +96,10 @@
         int IrR = iRSensor.codeR();     // min Distanz unterschritten = 1
         int IrL = iRSensor.codeL();
         int IrF = iRSensor.codeF();
-        /*int caseDrive = stateMachine.drive();*/ //entscheidung welcher Drive Case
         ende = iRSensor.get_ende();
+        SpeedR = regler.get_SpeedR();
+        SpeedL = regler.get_SpeedL();
+        
 
 
    
@@ -111,32 +108,17 @@
     printf (" finishLast = %d\n",finishLast);
     printf("line = %f\n", line);
         
-      /*  printf ("IR Right = %d \n", IrR);
+        printf ("IR Right = %d \n", IrR);
         printf("IR Left = %d\n",IrL);
         printf("IR Front = %d\n",IrF);*/
         
-         if((IrR==0) && (IrL==0) && (IrF==1) && (ende == 0)){
-        caseDrive = 2;                                                          // Folge: 90 Grad nach rechts drehen
-        }   else  if ((IrR==0) && (IrL==1) && (IrF==0) && (ende == 0)){
-        caseDrive = 2;                                                          // Folge: 90 Grad nach rechts drehen
-        }   else  if ((IrR==0) && (IrL==1) && (IrF==1) && (ende == 0)){
-        caseDrive = 2;                                                          // Folge: 90 Grad nach rechts drehen                 
-        }   else  if ((IrR==1) && (IrL==0) && (IrF==0) && (ende == 0)){
-        caseDrive = 1;                                                          // Folge: geradeaus fahren
-        }   else  if ((IrR==1) && (IrL==0) && (IrF==1) && (ende == 0)){
-        caseDrive = 3;                                                          // Folge: 270 Grad nach rechts drehen
+                    
+         if ((IrR==1) && (IrL==0) && (IrF==0) && (ende == 0)){
+        caseDrive = 1;                                                                                                              
         }   else  if ((IrR==1) && (IrL==1) && (IrF==0) && (ende == 0)){
-        caseDrive = 1;                                                          // Folge: geradeaus fahren
-        }   else  if ((IrR==1) && (IrL==1) && (IrF==1) && (ende == 0)){
-        caseDrive = 4;                                                          // Folge: 180 Grad nach rechts drehen
-        } else if ((ende == 1) && (temp == 0)){
-        caseDrive = 5;
-        temp = 1;
-        } else {caseDrive = 0;
+        caseDrive = 1;                                                          
+        }   else{ caseDrive = 0;
         }
-        
-        printf("caseDrive = %d\n",caseDrive);
-        printf("ende = %d\n",ende);
 
         wait (0.5);
         
@@ -144,21 +126,11 @@
         
         
         if(caseDrive == 1){
-            fahren.geradeaus();
-        } else if (caseDrive == 2){
-            fahren.rechts90();
-            fahren.geradeaus();
-        } else if (caseDrive == 3){
-            fahren.links90();
-            fahren.geradeaus();
-        } else if (caseDrive == 4){
-            fahren.rechts180();
-            fahren.geradeaus();
+            fahren.geradeausG();
         } else if (caseDrive == 0){
             fahren.stopp();
-        } else if(caseDrive == 5){
-            fahren.ziel();
-            fahren.stopp();
+
           }  
-    }
 }
+
+}