Programme d'utilisation des AX12 avec rajout de l'MX12

Fork of test_carteAToutFaire_PR by CRAC Team

Files at this revision

API Documentation at this revision

Comitter:
R66Y
Date:
Sat May 20 15:23:58 2017 +0000
Parent:
2:9d280856a536
Commit message:
Programme de contr?le des AX12 avec rajout de l'MX12;

Changed in this revision

Actionneur.cpp Show annotated file Show diff for this revision Revisions of this file
Actionneur.h Show annotated file Show diff for this revision Revisions of this file
diff -r 9d280856a536 -r 1bb26049bdd1 Actionneur.cpp
--- a/Actionneur.cpp	Fri May 19 08:06:49 2017 +0000
+++ b/Actionneur.cpp	Sat May 20 15:23:58 2017 +0000
@@ -18,8 +18,8 @@
 
 static float TAB_ANGLE1[4], TAB_ANGLE2[4];
 static char TAB_POSITION[4];
-AX12 *deux_myAX12, *trois_myAX12, *quatre_myAX12, *sept_myAX12, *huit_myAX12, *quinze_myAX12, *treize_myAX12, *quatorze_myAX12, *dixhuit_myAX12, *multiple_myAX12, *multiple2_myAX12; 
-AX12 *MilieuBrasPompe, *HautBrasPompe, *BasBrasPompe, *BrasPompeAx12, *TabPompeBras;                                 
+AX12 *un_myMX12, *deux_myAX12, *trois_myAX12, *quatre_myAX12, *sept_myAX12, *huit_myAX12, *quinze_myAX12, *treize_myAX12, *quatorze_myAX12, *dixhuit_myAX12, *multiple_myAX12, *multiple2_myAX12; 
+AX12 *TrappeLanceur, *MilieuBrasPompe, *HautBrasPompe, *BasBrasPompe, *BrasPompeAx12, *TabPompeBras;                                 
                                  
                      
                    
@@ -56,16 +56,22 @@
 {
     short vitesse=700;
     
+    TrappeLanceur = new AX12(p9, p10, 1, 1000000); // MX12
+    
     HautBrasPompe = new AX12(p9, p10, 3, 1000000);  
     MilieuBrasPompe = new AX12(p9, p10, 2, 1000000); 
     BasBrasPompe = new AX12(p9, p10, 1, 1000000);
     
     BrasPompeAx12 = new AX12(p9,p10,0xFE,1000000);
     
+    TrappeLanceur->Set_Goal_speed(vitesse);  // MX12
+    
     HautBrasPompe->Set_Goal_speed(vitesse);  
     MilieuBrasPompe->Set_Goal_speed(vitesse); 
     BasBrasPompe->Set_Goal_speed(vitesse); 
     
+    TrappeLanceur->Set_Mode(0);     // MX12
+    
     HautBrasPompe->Set_Mode(0); 
     MilieuBrasPompe->Set_Mode(0); 
     BasBrasPompe->Set_Mode(0); 
@@ -78,7 +84,8 @@
     
     pc.printf("Haut  : %lf \n\r ",   HautBrasPompe->Get_Position()      );
     pc.printf("Milieu : %lf \n\r ",   MilieuBrasPompe->Get_Position()    );
-    pc.printf("Bas: %lf \n\r ",   BasBrasPompe->Get_Position() );   
+    pc.printf("Bas: %lf \n\r ",   BasBrasPompe->Get_Position() );
+    pc.printf("Bas: %lf \n\r ",   TrappeLanceur->Get_Position() );   // MX12
     
 }
 
@@ -95,12 +102,12 @@
     unsigned int GoalPos1, GoalPos2, GoalPos3;
     switch(etat_ax12){
         
-        case AX12_GET_POSITION:
+        case AX12_GET_POSITION: // 10 (10)
             GetPositionAx12();
             break;
         
         
-        case AX12_VIDER_FUSEE_POMPE:
+        case AX12_VIDER_FUSEE_POMPE: // 8 (10)
             
             speed=511;
             
@@ -134,7 +141,7 @@
             Fin_action();          
             break;
             
-        case AX12_VIDER_FUSEE_POMPEBLEU:
+        case AX12_VIDER_FUSEE_POMPEBLEU: // 11 (10)
             
             speed=511;
             
@@ -164,7 +171,7 @@
             Fin_action();          
             break;
             
-         case AX12_REMPLIR_BASE_POMPE:
+         case AX12_REMPLIR_BASE_POMPE: // 9 (10)
          
             speed=511;
             
@@ -193,7 +200,7 @@
             Fin_action();
             break;   
         
-        case AX12_INITIALISATION :
+        case AX12_INITIALISATION : // 0
             if (FlagAx12 == 1){
                 Initialisation_position(1);
                 //Check_positionAX12(&TAB1[25], 1);
@@ -206,7 +213,7 @@
             }
             break;
                         
-        case AX12_PREPARATION_PRISE :
+        case AX12_PREPARATION_PRISE : // 1 (10)
             Preparation_prise(choix_bras);
             if (action == 0){
                 Fin_action();
@@ -214,43 +221,49 @@
             }
             break;
                         
-        case AX12_STOCKAGE_HAUT :
+        case AX12_STOCKAGE_HAUT :       // 2 (10)
             Stockage_haut(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
                         
-        case AX12_STOCKAGE_BAS :
+        case AX12_STOCKAGE_BAS :        // 3 (10)
             Stockage_bas(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
                         
-        case AX12_DEPOSER :
+        case AX12_DEPOSER : // 4 (10)
             Deposer(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
                         
-        case AX12_PREPARATION_DEPOT_BAS :
+        case AX12_PREPARATION_DEPOT_BAS :       // 5 (10)
             Preparation_depot_bas(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
                         
-        case AX12_PREPARATION_DEPOT_HAUT :
+        case AX12_PREPARATION_DEPOT_HAUT :      // 6 (10)
             Preparation_depot_haut(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
                         
-        case AX12_POUSSER_MODULE :
+        case AX12_POUSSER_MODULE : // 7 (10)
             Pousser_module(choix_bras);
             etat_ax12 = AX12_DEFAUT;
             Fin_action();
             break;
         
-        case AX12_DEFAUT :
+        case BOUGER_MX12 : // 12 (10)
+            bouger_MX12(choix_bras); // Le choix du bras détermine le sens de rotation de l'MX12 : 0 position initiale | 1 tourne à droite | 2 tourne à gauche.
+            etat_ax12 = AX12_DEFAUT;
+            Fin_action();
+            break;
+            
+        case AX12_DEFAUT : // 20 (10)
         action = 0;
             break;
     }
@@ -317,6 +330,7 @@
 /* DESCRIPTION  : Fonction qui place les bras en position verticale                     */
 /****************************************************************************************/
 void Initialisation_position(unsigned char choix){
+    un_myMX12->Set_Secure_Goal(600); // Initialise la position de l'MX12 à 180°
     if (choix == 1){
         multiple_myAX12->multiple_goal_and_speed(4,TAB1);
         wait(TIME);  
@@ -329,9 +343,7 @@
     else if (choix == 3){
         BrasPompeAx12->multiple_goal_and_speed(3,TabBrasPompePosInit);
         wait(TIME);
-    }
-    
-    
+    }    
 }
 
 /****************************************************************************************/
@@ -459,6 +471,26 @@
 }
 
 /****************************************************************************************/
+/* FUNCTION NAME: bouger_MX12                                                           */
+/* DESCRIPTION  : Fonction qui sélectionne le sens de rotation de l'MX12 et le bouge    */
+/****************************************************************************************/
+void bouger_MX12(unsigned char choix){
+    if( choix == 1) // Tourne à droite
+    {
+        un_myMX12->Set_Secure_Goal(0); // tourner droite
+    }
+    else if(choix == 2) // Tourne à gauche
+    {
+        un_myMX12->Set_Secure_Goal(1200); // tourner gauche
+    }
+    else if (choix == 0)
+    {
+        un_myMX12->Set_Secure_Goal(600); // position initiale
+    }
+}
+
+
+/****************************************************************************************/
 /* FUNCTION NAME: Pousser_module                                                        */
 /* DESCRIPTION  : Fonction qui permet pousser le module situé à l'entrée de la bas      */
 /****************************************************************************************/
diff -r 9d280856a536 -r 1bb26049bdd1 Actionneur.h
--- a/Actionneur.h	Fri May 19 08:06:49 2017 +0000
+++ b/Actionneur.h	Sat May 20 15:23:58 2017 +0000
@@ -14,6 +14,7 @@
 #define AX12_REMPLIR_BASE_POMPE 9
 #define AX12_GET_POSITION 10
 #define AX12_VIDER_FUSEE_POMPEBLEU 11
+#define BOUGER_MX12 12
 #define AX12_DEFAUT 20
 
 #define TOLERANCE_AX12 50
@@ -78,6 +79,12 @@
 void Pousser_module(unsigned char choix);
 
 /****************************************************************************************/
+/* FUNCTION NAME: bouger_MX12                                                           */
+/* DESCRIPTION  : Fonction qui sélectionne le sens de rotation de l'MX12 et le bouge    */
+/****************************************************************************************/
+void bouger_MX12(unsigned char choix);
+
+/****************************************************************************************/
 /* FUNCTION NAME: Check_positionAX12                                                    */
 /* DESCRIPTION  : Fonction qui permet de verifier la position des AX12                  */
 /****************************************************************************************/