code de start qui marche a la fin du premier match, base pour la suite
Fork of CRAC-Strat_2017_homologation_petit_rob by
Telemetre/Telemetre.cpp
- Committer:
- ClementBreteau
- Date:
- 2017-03-31
- Revision:
- 14:c8fc06c4887f
- Child:
- 15:c2fc239e85df
File content as of revision 14:c8fc06c4887f:
# include "Telemetre.h" #define TELEMETRE_PROFONDEUR 50 T_LISTE_MODULES listeModules; /*********************************************************************************************************/ /* FUNCTION NAME: SendTelemetreID */ /* DESCRIPTION : Envoie un message sans donnée, c'est-à-dire contenant uniquement un ID, sur le bus CAN */ /*********************************************************************************************************/ void SendTelemetreID (unsigned short id) { CANMessage msgTx=CANMessage(); msgTx.id=id; msgTx.len=0; can1.write(msgTx); wait_us(200); } /*********************************************************************************************************/ /* FUNCTION NAME: EspaceLibre */ /* DESCRIPTION : Calcule si la place et libre pour poser un module */ /*********************************************************************************************************/ bool EspaceLibre (signed short xModule, signed short yModule, signed short xRobot, signed short yRobot){ return true; } /*********************************************************************************************************/ /* FUNCTION NAME: BonnePlace */ /* DESCRIPTION : Calcule si le module est bien placé */ /*********************************************************************************************************/ bool BonnePlace(signed short xModule, signed short yModule, signed short xRobot, signed short yRobot){ bool bienPlace = false; double distance = abs(xModule - xRobot)*abs(yModule - yRobot) + abs(yModule - yRobot)*abs(yModule - yRobot); distance = sqrt(distance); if ((TELEMETRE_PROFONDEUR - 10 < TELEMETRE_PROFONDEUR )||( TELEMETRE_PROFONDEUR + 10 > TELEMETRE_PROFONDEUR)){ bienPlace = true; } return bienPlace; } void initModules(void){ /*listeModules ={true, 1350, 0}, {true, 0, 1150}};*/ listeModules.module1.x=600; listeModules.module1.y=1000; listeModules.module1.existe = true; listeModules.module1.timeout = 0; listeModules.module2.x=600; listeModules.module2.y=200; listeModules.module2.existe = true; listeModules.module2.timeout = 0; listeModules.module3.x=1100; listeModules.module3.y=500; listeModules.module3.existe = true; listeModules.module3.timeout = 0; listeModules.module4.x=1400; listeModules.module4.y=900; listeModules.module4.existe = true; listeModules.module4.timeout = 0; listeModules.module5.x=1850; listeModules.module5.y=800; listeModules.module5.existe = true; listeModules.module5.timeout = 0; listeModules.fusee1.x = 1350; listeModules.fusee1.y = 0; listeModules.fusee1.nb_module = 4; listeModules.fusee1.timeout = 0 ; listeModules.fusee2.x = 0; listeModules.fusee2.y = 1150; listeModules.fusee2.nb_module = 4; listeModules.fusee2.timeout = 0; } void processData(int objectType, signed short x, signed short y, int nb_module){ switch(objectType){ case CYLINDRE: // break; case MODULE: // if( (x == listeModules.module1.x) && (y == listeModules.module1.y) ){ printf("module 1"); listeModules.module1.timeout ++; } break; case BALLE: // break; } }