mmotor / Mbed 2 deprecated MarsRover_ExoMars

Dependencies:   EPOS2 mbed-rtos mbed

Fork of Projekt_Kugelbahn by mmotor

Revision:
8:98d4028cdea6
Parent:
7:44f2f9fd2eeb
Child:
9:039318b9096e
--- a/main.cpp	Fri Oct 14 08:33:11 2016 +0000
+++ b/main.cpp	Fri Oct 14 11:17:52 2016 +0000
@@ -63,7 +63,7 @@
         led1 = 1;
         pc.baud(9600);
         
-        buffering.rise(&interrupt_usv);
+        buffering.rise(&interrupt_usv);               //Interrupt für USV
         
         wait(0.5);                                    //Wartezeit bis Epos2 70/10 aufgestartet ist
         led2 = 1;
@@ -103,6 +103,7 @@
         led2 = 0;
         led3 = 0;
         led4 = 0;
+        MyEpos5.SetDigOut(4, 1);
         
  /*       mySwitch1.mode(PullUp);
         mySwitch2.mode(PullUp);
@@ -218,16 +219,16 @@
                         wait(0.1);
                         MyEpos5.Power(0);
                         }
-                    
-            
-                    
+         
                     led1 = 0;
                     break;
                     
              
                 case 2://BEREIT:
                     led2 = 1;
+                    MyEpos5.SetDigOut(4,0);
                     if (MyEpos5.GetDigIn(3) == 1){
+                        MyEpos5.SetDigOut(4,1);
                         current_step = 6;
                         wait_ms(10);
                         MyEpos1.Power(1);
@@ -302,6 +303,7 @@
  */
                 case 5://USV:
                     led4 = 1;
+                    MyEpos5.SetDigOut(4,1);
                     switch (usv_step){
                         case 1:
                             wait(0.1);
@@ -315,11 +317,11 @@
                             wait(1);
 */                            
                             if (node1_homed == true){
-                                MyEpos1.MoveAbsolute(0,500,500,500); //Panel_Aussen_Links
+                                MyEpos1.MoveAbsolute(2000,500,500,500); //Panel_Aussen_Links
                                 wait(0.1);
                                 }
                             if (node3_homed == true){
-                                MyEpos3.MoveAbsolute(0,500,500,500); //Panel_Aussen_Rechts
+                                MyEpos3.MoveAbsolute(-2000,500,500,500); //Panel_Aussen_Rechts
                                 wait(0.1);
                                 }
 /*                            if (node7_homed == true){
@@ -327,15 +329,16 @@
                                 wait(0.1);
                                 }
  */                           wait(0.1);
-                            usv_step = 2;
+                            if (MyEpos1.TargetReached()==1 and MyEpos3.TargetReached()==1){
+                                usv_step = 2;
+                                }
                             break;
                             
                         case 2:
-                            if (node2_homed == true and MyEpos1.TargetReached()==1){
-                                wait(1);
+                                MyEpos1.MoveAbsolute(0,500,100,100); //Panel Aussen Links
+                                MyEpos3.MoveAbsolute(0,500,100,100); //Panel Aussen Rechts
                                 MyEpos2.MoveAbsolute(0,500,500,500); //Panel_Innen_Links
-                                wait_ms(10);
-                                }
+                                wait(0.1);
 /*                            if (node4_homed == true and MyEpos3.TargetReached()==1){
                                 wait(1);
                                 MyEpos4.MoveAbsolute(0,500,500,500); //Panel_Innen_Links
@@ -362,17 +365,14 @@
                             break;
                             
                         case 4:
-                            /*while (MyEpos5.TargetReached()==0){
-                                wait_ms(10);
-                                }*/
-                                MyEpos1.Power(0);
-                                MyEpos2.Power(0);
-                                MyEpos3.Power(0);
-                                MyEpos4.Power(0);
-                                MyEpos5.Power(0);
-                                MyEpos6.Power(0);
-                                MyEpos7.Power(0);
-                                usv_step = 5;
+                            MyEpos1.Power(0);
+                            MyEpos2.Power(0);
+                            MyEpos3.Power(0);
+                            MyEpos4.Power(0);
+                            MyEpos5.Power(0);
+                            MyEpos6.Power(0);
+                            MyEpos7.Power(0);
+                            usv_step = 5;
                             break;
                             
                         case 5:
@@ -441,8 +441,8 @@
                         ausfahren_step = 1;
                         switch (einfahren_step){
                             case 1:
-                                MyEpos1.MoveAbsolute(1000,500,100,100); //Panel Aussen Links
-                                MyEpos3.MoveAbsolute(-1000,500,100,100); //Panel Aussen Rechts
+                                MyEpos1.MoveAbsolute(2000,500,100,100); //Panel Aussen Links
+                                MyEpos3.MoveAbsolute(-2000,500,100,100); //Panel Aussen Rechts
                                 einfahren_step = 2;
                                 wait(1);
                                 break;
@@ -450,6 +450,8 @@
                             case 2:
                                 if (MyEpos1.TargetReached()==1 and MyEpos3.TargetReached()==1){
                                     wait(1);
+                                    MyEpos1.MoveAbsolute(0,500,100,100); //Panel Aussen Links
+                                    MyEpos3.MoveAbsolute(0,500,100,100); //Panel Aussen Rechts
                                     MyEpos2.MoveAbsolute(0,500,100,100); //Panel Aussen Links
                                     einfahren_step = 3;
                                     wait(1);