Programme carte strategie (disco)

Dependencies:   mbed SerialHalfDuplex SDFileSystem DISCO-F469NI_portrait liaison_Bluetooth ident_crac

Revision:
30:a1e37af4bbde
Parent:
29:41e02746041d
Child:
34:6aa4b46b102e
--- a/Robots/Strategie_small.cpp	Fri Apr 06 13:47:19 2018 +0000
+++ b/Robots/Strategie_small.cpp	Fri Apr 20 09:16:13 2018 +0000
@@ -37,128 +37,66 @@
 /* FUNCTION NAME: doAction                                                              */
 /* DESCRIPTION  : Effectuer une action specifique                                       */
 /****************************************************************************************/
-unsigned char doAction(unsigned char id, unsigned short speed, short angle) {
+unsigned char doAction(unsigned char id, unsigned short cote, short arg2) {
     int retour = 1;
     switch(id) {
-        case 100: // preparation prise bras central
-            AX12_automate(AX12_PINCE_CENTRALE_PREPARATION_PRISE);
-        break;
-        case 101:// stockage haut bras central
-            AX12_automate(AX12_PINCE_CENTRALE_STOCKAGE_HAUT);
-        break;
-        case 102:// stockage bas bras central
-            AX12_automate(AX12_PINCE_CENTRALE_STOCKAGE_BAS);
-        break;
-        case 103:// ouvrir la main du bras cental 
-            AX12_automate(AX12_PINCE_CENTRALE_DEPOSER);
-        break;
-        case 104:// preparation de depot du module bas du bras central
-            AX12_automate(AX12_PINCE_CENTRALE_PREPARATION_DEPOT);
-        break;
-        case 105:// preparation de depot du module haut du bras central
-            AX12_automate(AX12_PINCE_CENTRALE_DEPOT_HAUT);
-            AX12_automate(AX12_PINCE_CENTRALE_PREPARATION_DEPOT);
-        break;
-        case 106:// on rentre la pince dans le robot
-            AX12_automate(AX12_PINCE_CENTRALE_POSITION_INITIALE);
-        break;
-        case 107: // on ferme la pince du robot
-            AX12_automate(AX12_PINCE_CENTRALE_PRISE_MODULE);
-        break;
-        
-        case 110:// ouvrir une porte avant
-            if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit
-                if(speed == 1) speed = 0;
-                else speed = 1;
-            }
-            
-            if (speed == 1){
-                AX12_automate(AX12_DROIT_CROC_OUVERT);
-            }else{
-                AX12_automate(AX12_GAUCHE_CROC_OUVERT);    
-            }
-        break;
-        case 111:// securiser un module avec une porte avant
-            if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit
-                if(speed == 1) speed = 0;
-                else speed = 1;
-            }
-            
-            if (speed == 1){
-                AX12_automate(AX12_DROIT_CROC_FERME);
-            }else{
-                AX12_automate(AX12_GAUCHE_CROC_FERME);    
-            }
-        break;
-        case 112:// ranger le porte avant dans le robot
-            if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit
-                if(speed == 1) speed = 0;
-                else speed = 1;
-            }
+        case 101: //baisser attrape bloc avant
+            SendRawId(BAISSER_ATTRAPE_BLOC);   
+            break;
+        case 102: //Relever attrape bloc avant
+            SendRawId(RELEVER_ATTRAPE_BLOC);   
+            break;
+        case 115: //allumer panneau
+            SendRawId(ALLUMER_PANNEAU_UP);
+            break;
+        case 116: //range le bras qui allume le panneau
+            SendRawId(ALLUMER_PANNEAU_DOWN);
+            break;
+        case 117: //lève le bras pour pousser l'abeille
+            SendRawId(BRAS_ABEILLE_UP);
+            break;
+        case 118: //abaisse le bras qui pousse l'abeille
+            SendRawId(BRAS_ABEILLE_DOWN);
+            break;
+        case 130: //Inclinaison pour viser le chateau d'eau
+            SendRawId(INCLINAISON_CHATEAU);
+            break;
+        case 131: //inclinaison pour deverser les balles sales
+            SendRawId(INCLINAISON_EPURATION);
+            break;
+        case 132: //blocage des balles
+            SendRawId(BLOCAGE_BALLE);
+            break;
+        case 133: //lance le pwm de tir
+            SendRawId(LANCEMENT_MOTEUR_TIR_ON);
+            break;
+        case 134: ///Arrete le pwm de tir
+            SendRawId(LANCEMENT_MOTEUR_TIR_OFF);
+            break;
+        case 135://position aiguilleur au centre
+            SendRawId(AIGUILLEUR_CENTRE);
+            break;
+        case 136://position aiguilleur à gauche
+            SendRawId(AIGUILLEUR_GAUCHE);
+            break;
+        case 137://position aiguilleur à droite
+            SendRawId(AIGUILLEUR_DROITE);
+            break;
+        case 138://position aiguilleur au centre
+            SendRawId(TRI_BALLE);
+            break;
             
-            if (speed == 1){
-                AX12_automate(AX12_DROIT_CROC_INITIALE);
-            }else{
-                AX12_automate(AX12_GAUCHE_CROC_INITIALE);    
-            }
-        break;
-        case 120:// poser une main tourneuse
-            if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit
-                if(speed == 2) speed = 1;
-                else speed = 2;
-                if(angle == 1) angle = 0;
-                else angle = 1;
-            }
             
-            if (speed == 1){
-                AX12_automate(AX12_TOURNANTE_DROIT_PREPARATION);
-            }else{
-                AX12_automate(AX12_TOURNANTE_GAUCHE_PREPARATION);    
-            }
-        break;
-        
-        case 121:// relever une main tourneuse
-            if(InversStrat == 1) {//Si c'est inversé, On utilise le bras coté droit
-                if(speed == 2) speed = 1;
-                else speed = 2;
-                if(angle == 1) angle = 0;
-                else angle = 1;
-            }
-            
-            if (speed == 1){
-                AX12_automate(AX12_TOURNANTE_DROIT_POSITION_INITIALE);
-            }else{
-                AX12_automate(AX12_TOURNANTE_GAUCHE_POSITION_INITIALE);    
-            }
-            
-        break;
-        
-        case 122:// tourner un module
-            if(InversStrat == 1) {//Si c'est inversé
-                if(speed == 2) speed = 1;
-                else speed = 2;
-                if(angle == 1) angle = 0;
-                else angle = 1;
-            }
-            
-            if (speed == 1){
-                AX12_automate(AX12_TOURNANTE_DROIT_MODULE);
-                Tourner_module_droit();
-            }else{
-                AX12_automate(AX12_TOURNANTE_GAUCHE_MODULE);    
-                Tourner_module_gauche();
-            }
-        break;
-        
         case 200 :
-            telemetreDistance = dataTelemetre();
+            SendRawId(DATA_TELEMETRE);
+            /*telemetreDistance = dataTelemetre();
             wait_ms(1);
             telemetreDistance = dataTelemetre();
-            telemetreDistance = telemetreDistance - 170;
+            telemetreDistance = telemetreDistance - 170;*/
         break;
         
         case 201 :
-            SendRawId(0x96);
+            SendRawId(0x99);
             retour = 2;
         break;
         
@@ -175,7 +113,7 @@
             setAsservissementEtat(1);
         break; 
         
-        case 22://Changer la vitesse du robot
+        /*case 22://Changer la vitesse du robot
             SendSpeed(speed,(unsigned short)angle);
             wait_us(200);
             waitingAckFrom = 0;
@@ -192,7 +130,7 @@
         case 30://Action tempo
             wait_ms(speed);
         break;
-        
+        */
         default:
             retour = 0;//L'action n'existe pas, il faut utiliser le CAN
         
@@ -205,7 +143,7 @@
 /* FUNCTION NAME: initRobot                                                             */
 /* DESCRIPTION  : initialiser le robot                                                  */
 /****************************************************************************************/
-void initRobot(void) {
+//void initRobot(void) {
     /**
     On enregistre les id des AX12 présent sur la carte
     **/
@@ -225,15 +163,15 @@
     AX12_setGoal(AX12_ID_BRAS_RELACHEUR,160);//fermer le bras
     AX12_processChange();*/
     
-    initialisation_AX12();
+    //initialisation_AX12();
     
-}
+//}
 
 /****************************************************************************************/
 /* FUNCTION NAME: initRobotActionneur                                                   */
 /* DESCRIPTION  : Initialiser la position des actionneurs du robot                      */
 /****************************************************************************************/
-void initRobotActionneur(void)
+/*void initRobotActionneur(void)
 {
     moteurGauchePWM(0);
     moteurDroitPWM(0);
@@ -243,7 +181,7 @@
     AX12_automate(AX12_TOURNANTE_GAUCHE_POSITION_INITIALE);
     AX12_automate(AX12_TOURNANTE_DROIT_POSITION_INITIALE);
 }
-
+*/
 /****************************************************************************************/
 /* FUNCTION NAME: runTest                                                               */
 /* DESCRIPTION  : tester l'ensemble des actionneurs du robot                            */