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@15:c2fc239e85df, 2017-05-11 (annotated)
- Committer:
- ClementBreteau
- Date:
- Thu May 11 12:55:52 2017 +0000
- Revision:
- 15:c2fc239e85df
- Parent:
- 14:c8fc06c4887f
crac strat le 11/05/17
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ClementBreteau | 14:c8fc06c4887f | 1 | # include "Telemetre.h" |
ClementBreteau | 14:c8fc06c4887f | 2 | |
ClementBreteau | 14:c8fc06c4887f | 3 | |
ClementBreteau | 15:c2fc239e85df | 4 | T_MODULE listeModules[NOMBRE_OBJETS]; |
ClementBreteau | 14:c8fc06c4887f | 5 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 6 | /* FUNCTION NAME: SendTelemetreID */ |
ClementBreteau | 14:c8fc06c4887f | 7 | /* DESCRIPTION : Envoie un message sans donnée, c'est-à-dire contenant uniquement un ID, sur le bus CAN */ |
ClementBreteau | 14:c8fc06c4887f | 8 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 9 | void SendTelemetreID (unsigned short id) |
ClementBreteau | 14:c8fc06c4887f | 10 | { |
ClementBreteau | 14:c8fc06c4887f | 11 | CANMessage msgTx=CANMessage(); |
ClementBreteau | 14:c8fc06c4887f | 12 | msgTx.id=id; |
ClementBreteau | 14:c8fc06c4887f | 13 | msgTx.len=0; |
ClementBreteau | 14:c8fc06c4887f | 14 | can1.write(msgTx); |
ClementBreteau | 14:c8fc06c4887f | 15 | wait_us(200); |
ClementBreteau | 14:c8fc06c4887f | 16 | } |
ClementBreteau | 14:c8fc06c4887f | 17 | |
ClementBreteau | 14:c8fc06c4887f | 18 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 19 | /* FUNCTION NAME: EspaceLibre */ |
ClementBreteau | 14:c8fc06c4887f | 20 | /* DESCRIPTION : Calcule si la place et libre pour poser un module */ |
ClementBreteau | 14:c8fc06c4887f | 21 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 22 | bool EspaceLibre (signed short xModule, signed short yModule, signed short xRobot, signed short yRobot){ |
ClementBreteau | 14:c8fc06c4887f | 23 | return true; |
ClementBreteau | 14:c8fc06c4887f | 24 | |
ClementBreteau | 14:c8fc06c4887f | 25 | } |
ClementBreteau | 14:c8fc06c4887f | 26 | |
ClementBreteau | 14:c8fc06c4887f | 27 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 28 | /* FUNCTION NAME: BonnePlace */ |
ClementBreteau | 14:c8fc06c4887f | 29 | /* DESCRIPTION : Calcule si le module est bien placé */ |
ClementBreteau | 14:c8fc06c4887f | 30 | /*********************************************************************************************************/ |
ClementBreteau | 14:c8fc06c4887f | 31 | bool BonnePlace(signed short xModule, signed short yModule, signed short xRobot, signed short yRobot){ |
ClementBreteau | 14:c8fc06c4887f | 32 | bool bienPlace = false; |
ClementBreteau | 14:c8fc06c4887f | 33 | double distance = abs(xModule - xRobot)*abs(yModule - yRobot) + abs(yModule - yRobot)*abs(yModule - yRobot); |
ClementBreteau | 14:c8fc06c4887f | 34 | |
ClementBreteau | 14:c8fc06c4887f | 35 | distance = sqrt(distance); |
ClementBreteau | 14:c8fc06c4887f | 36 | |
ClementBreteau | 14:c8fc06c4887f | 37 | |
ClementBreteau | 14:c8fc06c4887f | 38 | if ((TELEMETRE_PROFONDEUR - 10 < TELEMETRE_PROFONDEUR )||( TELEMETRE_PROFONDEUR + 10 > TELEMETRE_PROFONDEUR)){ |
ClementBreteau | 14:c8fc06c4887f | 39 | bienPlace = true; |
ClementBreteau | 14:c8fc06c4887f | 40 | } |
ClementBreteau | 14:c8fc06c4887f | 41 | return bienPlace; |
ClementBreteau | 14:c8fc06c4887f | 42 | } |
ClementBreteau | 14:c8fc06c4887f | 43 | |
ClementBreteau | 14:c8fc06c4887f | 44 | void initModules(void){ |
ClementBreteau | 15:c2fc239e85df | 45 | |
ClementBreteau | 15:c2fc239e85df | 46 | listeModules[0].x = 0; |
ClementBreteau | 15:c2fc239e85df | 47 | listeModules[0].y = 1100; |
ClementBreteau | 14:c8fc06c4887f | 48 | |
ClementBreteau | 15:c2fc239e85df | 49 | listeModules[1].x = 200; |
ClementBreteau | 15:c2fc239e85df | 50 | listeModules[1].y = 950; |
ClementBreteau | 15:c2fc239e85df | 51 | |
ClementBreteau | 15:c2fc239e85df | 52 | listeModules[2].x = 600; |
ClementBreteau | 15:c2fc239e85df | 53 | listeModules[2].y = 200; |
ClementBreteau | 15:c2fc239e85df | 54 | |
ClementBreteau | 15:c2fc239e85df | 55 | listeModules[3].x = 600; |
ClementBreteau | 15:c2fc239e85df | 56 | listeModules[3].y = 1000; |
ClementBreteau | 15:c2fc239e85df | 57 | |
ClementBreteau | 15:c2fc239e85df | 58 | listeModules[4].x = 1100; |
ClementBreteau | 15:c2fc239e85df | 59 | listeModules[4].y = 500; |
ClementBreteau | 15:c2fc239e85df | 60 | |
ClementBreteau | 15:c2fc239e85df | 61 | listeModules[5].x = 1350; |
ClementBreteau | 15:c2fc239e85df | 62 | listeModules[5].y = 0; |
ClementBreteau | 15:c2fc239e85df | 63 | |
ClementBreteau | 15:c2fc239e85df | 64 | listeModules[6].x = 1400; |
ClementBreteau | 15:c2fc239e85df | 65 | listeModules[6].y = 900; |
ClementBreteau | 15:c2fc239e85df | 66 | |
ClementBreteau | 15:c2fc239e85df | 67 | listeModules[7].x = 1850; |
ClementBreteau | 15:c2fc239e85df | 68 | listeModules[7].y = 800; |
ClementBreteau | 15:c2fc239e85df | 69 | |
ClementBreteau | 15:c2fc239e85df | 70 | listeModules[8].x = 0; |
ClementBreteau | 15:c2fc239e85df | 71 | listeModules[8].y = 1850; |
ClementBreteau | 15:c2fc239e85df | 72 | |
ClementBreteau | 15:c2fc239e85df | 73 | listeModules[9].x = 200; |
ClementBreteau | 15:c2fc239e85df | 74 | listeModules[9].y = 2050; |
ClementBreteau | 15:c2fc239e85df | 75 | |
ClementBreteau | 15:c2fc239e85df | 76 | listeModules[10].x = 600; |
ClementBreteau | 15:c2fc239e85df | 77 | listeModules[10].y = 2000; |
ClementBreteau | 15:c2fc239e85df | 78 | |
ClementBreteau | 15:c2fc239e85df | 79 | listeModules[11].x = 600; |
ClementBreteau | 15:c2fc239e85df | 80 | listeModules[11].y = 2800; |
ClementBreteau | 14:c8fc06c4887f | 81 | |
ClementBreteau | 15:c2fc239e85df | 82 | listeModules[12].x = 1100; |
ClementBreteau | 15:c2fc239e85df | 83 | listeModules[12].y = 2500; |
ClementBreteau | 15:c2fc239e85df | 84 | |
ClementBreteau | 15:c2fc239e85df | 85 | listeModules[13].x = 1350; |
ClementBreteau | 15:c2fc239e85df | 86 | listeModules[13].y = 0; |
ClementBreteau | 14:c8fc06c4887f | 87 | |
ClementBreteau | 15:c2fc239e85df | 88 | listeModules[14].x = 1400; |
ClementBreteau | 15:c2fc239e85df | 89 | listeModules[14].y = 2100; |
ClementBreteau | 15:c2fc239e85df | 90 | |
ClementBreteau | 15:c2fc239e85df | 91 | listeModules[15].x = 1850; |
ClementBreteau | 15:c2fc239e85df | 92 | listeModules[15].y = 2200; |
ClementBreteau | 14:c8fc06c4887f | 93 | } |
ClementBreteau | 14:c8fc06c4887f | 94 | |
ClementBreteau | 15:c2fc239e85df | 95 | signed short returnX(int indiceTab){ |
ClementBreteau | 15:c2fc239e85df | 96 | return listeModules[indiceTab].x; |
ClementBreteau | 15:c2fc239e85df | 97 | } |
ClementBreteau | 15:c2fc239e85df | 98 | |
ClementBreteau | 15:c2fc239e85df | 99 | signed short returnY(int indiceTab){ |
ClementBreteau | 15:c2fc239e85df | 100 | return listeModules[indiceTab].y; |
ClementBreteau | 15:c2fc239e85df | 101 | } |
ClementBreteau | 14:c8fc06c4887f | 102 | |
ClementBreteau | 14:c8fc06c4887f | 103 | void processData(int objectType, signed short x, signed short y, int nb_module){ |
ClementBreteau | 14:c8fc06c4887f | 104 | switch(objectType){ |
ClementBreteau | 14:c8fc06c4887f | 105 | case CYLINDRE: |
ClementBreteau | 14:c8fc06c4887f | 106 | // |
ClementBreteau | 14:c8fc06c4887f | 107 | break; |
ClementBreteau | 14:c8fc06c4887f | 108 | |
ClementBreteau | 14:c8fc06c4887f | 109 | case MODULE: |
ClementBreteau | 14:c8fc06c4887f | 110 | // |
ClementBreteau | 15:c2fc239e85df | 111 | /*if( (x == listeModules.module1.x) && (y == listeModules.module1.y) ){ |
ClementBreteau | 14:c8fc06c4887f | 112 | printf("module 1"); |
ClementBreteau | 14:c8fc06c4887f | 113 | listeModules.module1.timeout ++; |
ClementBreteau | 15:c2fc239e85df | 114 | } */ |
ClementBreteau | 14:c8fc06c4887f | 115 | break; |
ClementBreteau | 14:c8fc06c4887f | 116 | |
ClementBreteau | 14:c8fc06c4887f | 117 | case BALLE: |
ClementBreteau | 14:c8fc06c4887f | 118 | // |
ClementBreteau | 14:c8fc06c4887f | 119 | break; |
ClementBreteau | 14:c8fc06c4887f | 120 | } |
ClementBreteau | 14:c8fc06c4887f | 121 | |
ClementBreteau | 14:c8fc06c4887f | 122 | } |