homologation gros robot et test avec les ack de la carte a tout faire
Fork of CRAC-Strat_2017_HOMOLOGATION_PETIT_ROBOT by
Diff: Strategie/Strategie.cpp
- Revision:
- 21:7c60d6dfcab5
- Parent:
- 20:de595e4ff01d
diff -r de595e4ff01d -r 7c60d6dfcab5 Strategie/Strategie.cpp --- a/Strategie/Strategie.cpp Wed May 24 21:09:59 2017 +0000 +++ b/Strategie/Strategie.cpp Thu May 25 06:36:48 2017 +0000 @@ -25,8 +25,8 @@ //unsigned short id_check[NOMBRE_CARTES]= {CHECK_BALISE,CHECK_MOTEUR,CHECK_ACTIONNEURS,CHECK_AX12,CHECK_POMPES}; //unsigned short id_alive[NOMBRE_CARTES]= {ALIVE_BALISE,ALIVE_MOTEUR,ALIVE_ACTIONNEURS,ALIVE_AX12,ALIVE_POMPES}; -unsigned short id_check[NOMBRE_CARTES]= {CHECK_MOTEUR,CHECK_MOTEUR}; -unsigned short id_alive[NOMBRE_CARTES]= {ALIVE_MOTEUR,ALIVE_MOTEUR}; +unsigned short id_check[NOMBRE_CARTES]= {CHECK_MOTEUR,CHECK_BALISE,CHECK_POMPES,CHECK_ACTIONNEURS}; +unsigned short id_alive[NOMBRE_CARTES]= {ALIVE_MOTEUR,ALIVE_BALISE,ALIVE_POMPES,ALIVE_ACTIONNEURS}; InterruptIn jack(p25); // entrée analogique en interruption pour le jack #else @@ -222,6 +222,7 @@ Il est aussi possible d'envoyer les ordres de debug */ modeTelemetre = 0; + telemetreDistance = 0; break; case ETAT_GAME_INIT: //On charge la liste des instructions @@ -410,8 +411,9 @@ gameEtat = ETAT_GAME_LOAD_NEXT_INSTRUCTION; #endif return; - #ifdef ROBOT_SMALL + } else if (tempo == 2) { + #ifdef ROBOT_SMALL // on est dans le cas de l'avance selon le telemetre waitingAckID = ASSERVISSEMENT_RECALAGE; waitingAckFrom = ACKNOWLEDGE_MOTEUR; @@ -420,7 +422,7 @@ GoStraight(telemetreDistance, 0, 0, 0); // on reset la distance du telemetre à 0 telemetreDistance = 5000; - #endif + #endif }else{ //C'est un AX12 qu'il faut bouger //AX12_setGoal(instruction.arg1,instruction.arg3/10,instruction.arg2); @@ -652,8 +654,10 @@ switch(msgRxBuffer[FIFO_lecture].id) { case DEBUG_FAKE_JAKE://Permet de lancer le match à distance + case GLOBAL_JACK: if(gameEtat == ETAT_GAME_WAIT_FOR_JACK) { gameEtat = ETAT_GAME_START; + SendRawId(ACKNOWLEDGE_JACK); } break; @@ -775,7 +779,7 @@ if(gameEtat > ETAT_GAME_START && gameEtat != ETAT_WARNING_TIMEOUT) { SendRawId(ASSERVISSEMENT_STOP); - //while(1); + while(1); // while(1) pour se stop avec la balise gameEtat = ETAT_WARNING_TIMEOUT; if(gameEtat != ETAT_WARING_END_BALISE_WAIT) { timeoutWarning.reset();