Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of CRAC-Strat_2017_homologation_gros_rob by
Telemetre/Telemetre.cpp@22:8dec8824a6f7, 2017-05-25 (annotated)
- Committer:
- matthieuvignon
- Date:
- Thu May 25 11:30:31 2017 +0000
- Revision:
- 22:8dec8824a6f7
- Parent:
- 15:c2fc239e85df
13h30_Strategie
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 | } |