code avec la sortie d'évitement en plus géré par un ticker, ce code et le code "avec_modifs" buggent en match avec seulement la stratégie agressive.

Dependencies:   mbed SerialHalfDuplex SDFileSystem liaison_Bluetooth ident_crac DISCO-F469NI_portrait

Revision:
5:81aac085516f
Parent:
1:7e925468f9d9
Child:
7:44eec996a76e
--- a/Strategie/Strategie.cpp	Fri Jan 31 07:12:17 2020 +0000
+++ b/Strategie/Strategie.cpp	Fri Jan 31 14:37:29 2020 +0000
@@ -187,24 +187,12 @@
 unsigned char DT_ARG_interrupt=0;
 
 
-#ifdef ROBOT_BIG
-
-
-unsigned short id_check[NOMBRE_CARTES]= {CHECK_MOTEUR,CHECK_BALISE};
-unsigned short id_alive[NOMBRE_CARTES]= {ALIVE_MOTEUR,ALIVE_BALISE};
-
-InterruptIn jack(PG_11); //  entrée numerique en interruption pour le jack
-#else
-
 
 unsigned short id_check[NOMBRE_CARTES]= {CHECK_MOTEUR,CHECK_BALISE};
 unsigned short id_alive[NOMBRE_CARTES]= {ALIVE_MOTEUR,ALIVE_BALISE};
 InterruptIn jack(PG_11); //  entrée numerique en interruption pour le jack
 
 
-#endif
-
-
 
 
 
@@ -462,23 +450,9 @@
                     while(1) {
                         TEST_TIR_BALLE.Draw(0xFFF0F0F0, 0);
                         // rn42_Tx.printf("A");//experience
-#ifdef ROBOT_SMALL
                         liaison_Tx.envoyer_short(0x30,666);
                         pc.printf("data\r");
-#else
 
-                        // lire();
-                        /*  if (bluetooth.readable())
-                              pc.putc(bluetooth.getc());
-
-                          if (pc.readable()) {
-                              char c = pc.getc();
-                              if (c == 'A') {
-                                  liaison.envoyer_short(PAQUET_IDENTIFIANT_RAFRAICHIRSCORE, 20);
-                                  pc.printf("rafraichir\n");
-                              }
-                          }*/
-#endif
                     }
                     //ModeDemo=1;
                 } else if(TEST_IMMEUBLE.Touched()) {
@@ -718,11 +692,7 @@
                 lcd.Clear(VERT);
                 // affichage_compteur(100-cpt);
                 //affichage_compteur(SCORE_PR);
-#ifdef ROBOT_BIG
-                affichage_var(SCORE_GR);
-#else
                 affichage_var(SCORE_PR);
-#endif
                 if(liaison_pr.paquet_en_attente()) {
                     PaquetDomotique *paquet=liaison_pr.lire();
                     if(paquet->identifiant==PAQUET_IDENTIFIANT_AJOUTERSCORE) {
@@ -742,14 +712,10 @@
         case FIN :  //AFFICHAGE DE FIN AVEC LE SCORE FINAL
             lcd.Clear (LCD_COLOR_WHITE);
             lcd.SetBackColor(LCD_COLOR_WHITE);
-#ifdef ROBOT_BIG
-            // affichage_compteur(SCORE_GR);
-            affichage_var(SCORE_GR);
-            //liaison_Tx.envoyer_short(PAQUET_IDENTIFIANT_FINMATCH,SCORE_GLOBAL);
-#else
+
             //affichage_compteur(SCORE_PR);
             affichage_var(SCORE_PR);
-#endif
+
             while(1); // force le redemarage du robot
             //break;
 
@@ -904,11 +870,7 @@
                         SendRawId(RECALAGE_START);
                         waitingAckID = ASSERVISSEMENT_RECALAGE;
                         waitingAckFrom = ACKNOWLEDGE_MOTEUR;
-#ifdef ROBOT_SMALL
                         GoStraight(3000, 1,MOITIEE_ROBOT, 0);  //on se recale contre le mur donc il faut donner la valeur du centre du robot (les -5 qui trainent sont dus au tables pourraves sur place)
-#else
-                        GoStraight(-3000, 1,MOITIEE_ROBOT, 0);
-#endif
                         while(waitingAckID !=0 && waitingAckFrom !=0)
                             canProcessRx();
                         waitingAckID_FIN=ASSERVISSEMENT_RECALAGE;
@@ -921,11 +883,7 @@
                     case RECULER_1:
                         waitingAckID = ASSERVISSEMENT_RECALAGE;
                         waitingAckFrom = ACKNOWLEDGE_MOTEUR;
-#ifdef ROBOT_SMALL
                         GoStraight(-100, 0, 0, 0);//-450
-#else
-                        GoStraight(250, 0, 0, 0);
-#endif
                         while(waitingAckID !=0 && waitingAckFrom !=0)
                             canProcessRx();
                         waitingAckID_FIN=ASSERVISSEMENT_RECALAGE;
@@ -961,11 +919,7 @@
                         } else {
                             localData3=MOITIEE_ROBOT;
                         }
-#ifdef ROBOT_SMALL
                         GoStraight(3000, 2,localData3, 0);  //on se recale contre le mur donc il faut donner la valeur du centre du robot
-#else
-                        GoStraight(-3000, 2,localData3, 0);
-#endif
                         while(waitingAckID !=0 && waitingAckFrom !=0)
                             canProcessRx();
                         waitingAckID_FIN=ASSERVISSEMENT_RECALAGE;
@@ -978,11 +932,7 @@
                     case RECULER_2:
                         waitingAckID = ASSERVISSEMENT_RECALAGE;
                         waitingAckFrom = ACKNOWLEDGE_MOTEUR;
-#ifdef ROBOT_SMALL
                         GoStraight(-100, 0, 0, 0);
-#else
-                        GoStraight(250, 0, 0, 0);
-#endif
                         while(waitingAckID !=0 && waitingAckFrom !=0)
                             canProcessRx();
                         waitingAckID_FIN=ASSERVISSEMENT_RECALAGE;
@@ -1163,19 +1113,11 @@
                     }*/
 
                     BendRadius(instruction.arg1, localData2, localData1, localData5);
-#ifdef ROBOT_SMALL
                     if(localData2>0) {
                         direction=1;
                     } else {
                         direction=-1;
                     }
-#else
-                    if(localData2>0) {
-                        direction=-1;
-                    } else {
-                        direction=1;
-                    }
-#endif
                     if(localData2>0)alph=localData2;
                     else alph=-localData2;
                     alpha = localData2*M_PI/1800.0f;
@@ -1428,12 +1370,7 @@
                         } else {
                             gameEtat = ETAT_GAME_WAIT_ACK;
                         }
-#ifdef ROBOT_SMALL
-                        /*actual_instruction = instruction.nextLineOK;//On indique que l'on va charger l'instruction suivante
-                        gameEtat = ETAT_GAME_LOAD_NEXT_INSTRUCTION;*/
-#endif
                         return;
-#ifdef ROBOT_SMALL
                     } else if (tempo == 2) {
                         // on est dans le cas de l'avance selon le telemetre
                         waitingAckID = ASSERVISSEMENT_RECALAGE;
@@ -1443,7 +1380,6 @@
                         GoStraight(telemetreDistance, 0, 0, 0);
                         // on reset la distance du telemetre à 0
                         telemetreDistance = 5000;
-#endif
                     } else {
                         //C'est un AX12 qu'il faut bouger
                         //AX12_setGoal(instruction.arg1,instruction.arg3/10,instruction.arg2);
@@ -1789,25 +1725,6 @@
                                }
                      */
                 break;
-
-
-#ifdef ROBOT_BIG
-#define point_balance 12
-#define point_accelerateur 10
-            case NB_PALETS_BLEU: //nb de palets bleu mis dans l'accelerateur
-                unsigned short palets_bleu=(unsigned short)msgRxBuffer[FIFO_lecture].data[0];
-                SCORE_GR+=palets_bleu*point_balance;
-                //SCORE_GLOBAL=SCORE_GR+SCORE_PR;
-                //liaison_Tx.envoyer_short(0x30,SCORE_GLOBAL);
-                break;
-
-            case NB_PALETS_VERTS://nb de palets vert/rouge mis dans l'accelerateur
-                unsigned short palets_verts=(unsigned short)msgRxBuffer[FIFO_lecture].data[0];
-                SCORE_GR+=palets_verts*point_accelerateur;
-                //SCORE_GLOBAL=SCORE_GR+SCORE_PR;
-                //liaison_Tx.envoyer_short(0x30,SCORE_GLOBAL);
-                break;
-#endif
             case ODOMETRIE_BIG_POSITION:
             case ODOMETRIE_SMALL_POSITION: