CRAC Team / test_carteAToutFaire_PR

Fork of mbed_tes_cpt by CRAC Team

Committer:
matthieuvignon
Date:
Sun May 21 16:10:38 2017 +0000
Revision:
3:43843ab8af47
Parent:
2:9d280856a536
Child:
4:3edcf7dab711
Child:
5:7e1c328c5d50
Carte a tout faire

Who changed what in which revision?

UserRevisionLine numberNew contents of line
matthieuvignon 2:9d280856a536 1 #include "Actionneur.h"
matthieuvignon 2:9d280856a536 2
matthieuvignon 2:9d280856a536 3 extern CAN can;
matthieuvignon 2:9d280856a536 4
matthieuvignon 2:9d280856a536 5 /* DECLARATION VARIABLES */
matthieuvignon 2:9d280856a536 6
matthieuvignon 2:9d280856a536 7 extern unsigned char FlagAx12;
matthieuvignon 2:9d280856a536 8 extern "C" void mbed_reset();//Pour pouvoir reset la carte
matthieuvignon 2:9d280856a536 9
matthieuvignon 2:9d280856a536 10 extern DigitalOut led2;
matthieuvignon 2:9d280856a536 11 extern Serial pc;
matthieuvignon 2:9d280856a536 12 extern void GetPositionAx12(void);
matthieuvignon 3:43843ab8af47 13
matthieuvignon 3:43843ab8af47 14 extern PwmOut Pompe;
matthieuvignon 3:43843ab8af47 15
matthieuvignon 2:9d280856a536 16
matthieuvignon 3:43843ab8af47 17 AX12 *Ax12_HautBrasModuleAvant, *Ax12_DevantPinceDroite, *Ax12_DevantPinceGauche, *Ax12_MilieuBrasModuleAvant, *BrasModuleAx12, *TabBrasModule;
matthieuvignon 3:43843ab8af47 18 AX12 *Ax12_MilieuBrasPompe, *Ax12_HautBrasPompe, *Ax12_BasBrasPompe, *BrasPompeAx12, *TabBrasPompe;
matthieuvignon 3:43843ab8af47 19 AX12 *Ax12_HautBrasAspirateur, *Ax12_BasBrasAspirateur, *BrasAspirateurAx12, *TabBrasAspirateur, *Ax12_FunnyAction;
matthieuvignon 2:9d280856a536 20
matthieuvignon 2:9d280856a536 21
matthieuvignon 2:9d280856a536 22 /* ANGLE */
matthieuvignon 2:9d280856a536 23
matthieuvignon 2:9d280856a536 24 /* 10° = 0x21, 0x00 | 110°= 0x6E, 0x01 | 210°= 0xBC, 0x02
matthieuvignon 2:9d280856a536 25 20° = 0x42, 0x00 | 120°= 0x90, 0x01 | 220°= 0xDD, 0x02
matthieuvignon 2:9d280856a536 26 30° = 0x64, 0x00 | 130°= 0xB1, 0x01
matthieuvignon 2:9d280856a536 27 40° = 0x85, 0x00 | 140°= 0xD2, 0x01
matthieuvignon 2:9d280856a536 28 50° = 0xA6, 0x00 | 150°= 0xF4, 0x01
matthieuvignon 2:9d280856a536 29 60° = 0xC8, 0x00 | 160°= 0x15, 0x02
matthieuvignon 2:9d280856a536 30 70° = 0xE9, 0x00 | 170°= 0x36, 0x02
matthieuvignon 2:9d280856a536 31 80° = 0x0A, 0x01 | 180°= 0x58, 0x02
matthieuvignon 2:9d280856a536 32 90° = 0x2C, 0x01 | 190°= 0x79, 0x02
matthieuvignon 2:9d280856a536 33 100°= 0x4D, 0x01 | 200°= 0x9A, 0x02 */
matthieuvignon 2:9d280856a536 34
matthieuvignon 2:9d280856a536 35 /* NUMERO AX12 */
matthieuvignon 2:9d280856a536 36
matthieuvignon 2:9d280856a536 37 /* 0 = 0x00 | 9 = 0x09 | 18 = 0x12
matthieuvignon 2:9d280856a536 38 1 = 0x01 | 10 = 0x0A
matthieuvignon 2:9d280856a536 39 2 = 0x02 | 11 = 0x0B
matthieuvignon 2:9d280856a536 40 3 = 0x03 | 12 = 0x0C
matthieuvignon 2:9d280856a536 41 4 = 0x04 | 13 = 0x0D
matthieuvignon 2:9d280856a536 42 5 = 0x05 | 14 = 0x0E
matthieuvignon 2:9d280856a536 43 6 = 0x06 | 15 = 0x0F
matthieuvignon 2:9d280856a536 44 7 = 0x07 | 16 = 0x10
matthieuvignon 2:9d280856a536 45 8 = 0x08 | 17 = 0x11 */
matthieuvignon 2:9d280856a536 46
matthieuvignon 2:9d280856a536 47
matthieuvignon 2:9d280856a536 48
matthieuvignon 2:9d280856a536 49 /* MAIN */
matthieuvignon 2:9d280856a536 50
matthieuvignon 2:9d280856a536 51 void initialisation_AX12(void)
matthieuvignon 2:9d280856a536 52 {
matthieuvignon 2:9d280856a536 53 short vitesse=700;
matthieuvignon 2:9d280856a536 54
matthieuvignon 3:43843ab8af47 55
matthieuvignon 3:43843ab8af47 56 Ax12_HautBrasPompe = new AX12(p9, p10, 3, 1000000);
matthieuvignon 3:43843ab8af47 57 Ax12_MilieuBrasPompe = new AX12(p9, p10, 2, 1000000);
matthieuvignon 3:43843ab8af47 58 Ax12_BasBrasPompe = new AX12(p9, p10, 1, 1000000);
matthieuvignon 3:43843ab8af47 59
matthieuvignon 3:43843ab8af47 60 Ax12_HautBrasModuleAvant = new AX12(p13, p14, 4, 1000000);
matthieuvignon 3:43843ab8af47 61 Ax12_MilieuBrasModuleAvant = new AX12(p13, p14, 5, 1000000);
matthieuvignon 3:43843ab8af47 62 Ax12_DevantPinceGauche = new AX12(p13, p14, 6, 1000000);
matthieuvignon 3:43843ab8af47 63 Ax12_DevantPinceDroite = new AX12(p13, p14, 7, 1000000);
matthieuvignon 3:43843ab8af47 64
matthieuvignon 3:43843ab8af47 65 Ax12_HautBrasAspirateur = new AX12(p28, p27, 9, 1000000);
matthieuvignon 3:43843ab8af47 66 Ax12_BasBrasAspirateur = new AX12(p28, p27, 10, 1000000);
matthieuvignon 3:43843ab8af47 67 Ax12_FunnyAction = new AX12(p28, p27, 15, 1000000);
matthieuvignon 3:43843ab8af47 68
matthieuvignon 3:43843ab8af47 69 //AX12_Bras = new AX12(p9, p10, 1, 1000000);
matthieuvignon 2:9d280856a536 70
matthieuvignon 2:9d280856a536 71 BrasPompeAx12 = new AX12(p9,p10,0xFE,1000000);
matthieuvignon 3:43843ab8af47 72 BrasModuleAx12 = new AX12(p13, p14, 0xFE, 1000000);
matthieuvignon 3:43843ab8af47 73 BrasAspirateurAx12 = new AX12(p28, p27,0xFE,1000000);
matthieuvignon 2:9d280856a536 74
matthieuvignon 3:43843ab8af47 75 Ax12_HautBrasPompe->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 76 Ax12_MilieuBrasPompe->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 77 Ax12_BasBrasPompe->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 78 Ax12_HautBrasModuleAvant->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 79 Ax12_MilieuBrasModuleAvant->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 80 Ax12_DevantPinceGauche->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 81 Ax12_DevantPinceDroite->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 82 Ax12_HautBrasAspirateur->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 83 Ax12_BasBrasAspirateur->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 84 Ax12_FunnyAction->Set_Goal_speed(vitesse);
matthieuvignon 3:43843ab8af47 85
matthieuvignon 3:43843ab8af47 86 Ax12_HautBrasPompe->Set_Mode(0);
matthieuvignon 3:43843ab8af47 87 Ax12_MilieuBrasPompe->Set_Mode(0);
matthieuvignon 3:43843ab8af47 88 Ax12_BasBrasPompe->Set_Mode(0);
matthieuvignon 3:43843ab8af47 89 Ax12_HautBrasModuleAvant->Set_Mode(0);
matthieuvignon 3:43843ab8af47 90 Ax12_MilieuBrasModuleAvant->Set_Mode(0);
matthieuvignon 3:43843ab8af47 91 Ax12_DevantPinceGauche->Set_Mode(0);
matthieuvignon 3:43843ab8af47 92 Ax12_DevantPinceDroite->Set_Mode(0);
matthieuvignon 3:43843ab8af47 93 Ax12_HautBrasAspirateur->Set_Mode(0);
matthieuvignon 3:43843ab8af47 94 Ax12_BasBrasAspirateur->Set_Mode(0);
matthieuvignon 3:43843ab8af47 95 Ax12_FunnyAction->Set_Mode(0);
matthieuvignon 2:9d280856a536 96 }
matthieuvignon 2:9d280856a536 97
matthieuvignon 2:9d280856a536 98 void GetPositionAx12(void) {
matthieuvignon 3:43843ab8af47 99
matthieuvignon 3:43843ab8af47 100 pc.printf("\n\r * Get Position * \n\r");
matthieuvignon 2:9d280856a536 101
matthieuvignon 3:43843ab8af47 102 pc.printf("\n\r BRAS AVANT \n\r");
matthieuvignon 3:43843ab8af47 103 pc.printf("Haut Av: %lf \n\r ", Ax12_HautBrasModuleAvant->Get_Position() );
matthieuvignon 3:43843ab8af47 104 pc.printf("Milieu Av: %lf \n\r ", Ax12_MilieuBrasModuleAvant->Get_Position() );
matthieuvignon 3:43843ab8af47 105 pc.printf("Gauche Av: %lf \n\r ", Ax12_DevantPinceGauche->Get_Position() );
matthieuvignon 3:43843ab8af47 106 pc.printf("Droite Av: %lf \n\r ", Ax12_DevantPinceDroite->Get_Position() );
matthieuvignon 2:9d280856a536 107
matthieuvignon 3:43843ab8af47 108 pc.printf("\n\r BRAS ASPIRATEUR \n\r");
matthieuvignon 3:43843ab8af47 109 pc.printf("Haut Asp : %lf \n\r ", Ax12_HautBrasAspirateur->Get_Position() );
matthieuvignon 3:43843ab8af47 110 pc.printf("Bas Asp : %lf \n\r ", Ax12_BasBrasAspirateur->Get_Position() );
matthieuvignon 3:43843ab8af47 111 pc.printf("Funny Action : %lf \n\r ", Ax12_FunnyAction->Get_Position() );
matthieuvignon 3:43843ab8af47 112
matthieuvignon 3:43843ab8af47 113 pc.printf("\n\r BRAS POMPE \n\r");
matthieuvignon 3:43843ab8af47 114 pc.printf("Haut Pompe : %lf \n\r ", Ax12_HautBrasPompe->Get_Position() );
matthieuvignon 3:43843ab8af47 115 pc.printf("Milieu Pompe : %lf \n\r ", Ax12_MilieuBrasPompe->Get_Position() );
matthieuvignon 3:43843ab8af47 116 pc.printf("Bas Pompe : %lf \n\r ", Ax12_BasBrasPompe->Get_Position() );
matthieuvignon 2:9d280856a536 117
matthieuvignon 2:9d280856a536 118 }
matthieuvignon 2:9d280856a536 119
matthieuvignon 2:9d280856a536 120
matthieuvignon 2:9d280856a536 121 /****************************************************************************************/
matthieuvignon 2:9d280856a536 122 /* FUNCTION NAME: Automate_ax12 */
matthieuvignon 2:9d280856a536 123 /* DESCRIPTION : Fonction qui gère les différentes actions des AX12 */
matthieuvignon 2:9d280856a536 124 /****************************************************************************************/
matthieuvignon 3:43843ab8af47 125 void AX12_automate(unsigned char etat_ax12){
matthieuvignon 2:9d280856a536 126
matthieuvignon 2:9d280856a536 127 unsigned short speed;
matthieuvignon 2:9d280856a536 128
matthieuvignon 3:43843ab8af47 129 unsigned int GoalPos1, GoalPos2, GoalPos3, GoalPos4, GoalPos5, GoalPos6, GoalPos7, GoalPos9, GoalPos10, GoalPos15;
matthieuvignon 3:43843ab8af47 130
matthieuvignon 3:43843ab8af47 131
matthieuvignon 3:43843ab8af47 132
matthieuvignon 3:43843ab8af47 133 switch(etat_ax12){
matthieuvignon 3:43843ab8af47 134
matthieuvignon 3:43843ab8af47 135 case AX12_GET_POSITION:
matthieuvignon 3:43843ab8af47 136 GetPositionAx12();
matthieuvignon 3:43843ab8af47 137 Fin_action();
matthieuvignon 3:43843ab8af47 138 break;
matthieuvignon 3:43843ab8af47 139
matthieuvignon 3:43843ab8af47 140 case AX12_POS_INIT_POMPE_JAUNE_AVANT:
matthieuvignon 3:43843ab8af47 141 speed=750;
matthieuvignon 3:43843ab8af47 142
matthieuvignon 3:43843ab8af47 143 GoalPos3=1443;
matthieuvignon 3:43843ab8af47 144 GoalPos2=625;
matthieuvignon 3:43843ab8af47 145 GoalPos1=1500;
matthieuvignon 3:43843ab8af47 146 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 147 Fin_action();
matthieuvignon 3:43843ab8af47 148 break;
matthieuvignon 2:9d280856a536 149
matthieuvignon 3:43843ab8af47 150 case AX12_VIDER_FUSEE_POMPE_JAUNE_AVANT:
matthieuvignon 3:43843ab8af47 151 speed=750;
matthieuvignon 3:43843ab8af47 152
matthieuvignon 3:43843ab8af47 153 GoalPos3=1440;
matthieuvignon 3:43843ab8af47 154 GoalPos2=603;
matthieuvignon 3:43843ab8af47 155 GoalPos1=2400;
matthieuvignon 3:43843ab8af47 156 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 157 GoalPos3=1795; //1180
matthieuvignon 3:43843ab8af47 158 GoalPos2=340; //2000
matthieuvignon 3:43843ab8af47 159 GoalPos1=2393; //2400
matthieuvignon 3:43843ab8af47 160 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 161 GoalPos3=2147; //640
matthieuvignon 3:43843ab8af47 162 GoalPos2=229; //2840
matthieuvignon 3:43843ab8af47 163 GoalPos1=2400; //2720
matthieuvignon 3:43843ab8af47 164 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 165 GoalPos3=2346;
matthieuvignon 3:43843ab8af47 166 GoalPos2=205;
matthieuvignon 3:43843ab8af47 167 GoalPos1=2123;
matthieuvignon 3:43843ab8af47 168 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 169 Fin_action();
matthieuvignon 3:43843ab8af47 170 break;
matthieuvignon 3:43843ab8af47 171
matthieuvignon 3:43843ab8af47 172 case AX12_POSE_MODULE_POMPE_JAUNE_AVANT:
matthieuvignon 3:43843ab8af47 173 speed=300;
matthieuvignon 3:43843ab8af47 174
matthieuvignon 3:43843ab8af47 175 GoalPos3=2613;
matthieuvignon 3:43843ab8af47 176 GoalPos2=610;
matthieuvignon 3:43843ab8af47 177 GoalPos1=1352;
matthieuvignon 3:43843ab8af47 178 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 179
matthieuvignon 3:43843ab8af47 180 Pompe.write(0);
matthieuvignon 3:43843ab8af47 181
matthieuvignon 3:43843ab8af47 182 Fin_action();
matthieuvignon 3:43843ab8af47 183 break;
matthieuvignon 3:43843ab8af47 184
matthieuvignon 2:9d280856a536 185
matthieuvignon 3:43843ab8af47 186 case AX12_POSE_MODULE_POMPE_BLEU_AVANT:
matthieuvignon 3:43843ab8af47 187 speed=300;
matthieuvignon 3:43843ab8af47 188
matthieuvignon 3:43843ab8af47 189 GoalPos3=2613;
matthieuvignon 3:43843ab8af47 190 GoalPos2=610;
matthieuvignon 3:43843ab8af47 191 GoalPos1=1352;
matthieuvignon 3:43843ab8af47 192 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 193 speed=750;
matthieuvignon 3:43843ab8af47 194 GoalPos3=2610;
matthieuvignon 3:43843ab8af47 195 GoalPos2=850;
matthieuvignon 3:43843ab8af47 196 GoalPos1=2999;
matthieuvignon 3:43843ab8af47 197 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 198
matthieuvignon 3:43843ab8af47 199 Pompe.write(0);
matthieuvignon 3:43843ab8af47 200
matthieuvignon 3:43843ab8af47 201 Fin_action();
matthieuvignon 3:43843ab8af47 202 break;
matthieuvignon 3:43843ab8af47 203
matthieuvignon 3:43843ab8af47 204 case AX12_REMISE_PLACE_BRAS_POMPE_AVANT:
matthieuvignon 3:43843ab8af47 205
matthieuvignon 3:43843ab8af47 206 speed=750;
matthieuvignon 3:43843ab8af47 207
matthieuvignon 3:43843ab8af47 208 GoalPos3=2200;
matthieuvignon 3:43843ab8af47 209 GoalPos2=214;
matthieuvignon 3:43843ab8af47 210 GoalPos1=2038;
matthieuvignon 3:43843ab8af47 211 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 212 GoalPos3=1730;
matthieuvignon 3:43843ab8af47 213 GoalPos2=355;
matthieuvignon 3:43843ab8af47 214 GoalPos1=2197;
matthieuvignon 3:43843ab8af47 215 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 216 GoalPos3=1487;
matthieuvignon 3:43843ab8af47 217 GoalPos2=500;
matthieuvignon 3:43843ab8af47 218 GoalPos1=2197;
matthieuvignon 3:43843ab8af47 219 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 220 GoalPos3=1440;
matthieuvignon 3:43843ab8af47 221 GoalPos2=639;
matthieuvignon 3:43843ab8af47 222 GoalPos1=2400;
matthieuvignon 3:43843ab8af47 223 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 224
matthieuvignon 3:43843ab8af47 225 Fin_action();
matthieuvignon 3:43843ab8af47 226 break;
matthieuvignon 3:43843ab8af47 227
matthieuvignon 3:43843ab8af47 228
matthieuvignon 3:43843ab8af47 229 case AX12_POS_INIT_POMPE_JAUNE_ARRIERE:
matthieuvignon 3:43843ab8af47 230 speed=750;
matthieuvignon 3:43843ab8af47 231
matthieuvignon 3:43843ab8af47 232 GoalPos3=1615;
matthieuvignon 3:43843ab8af47 233 GoalPos2=2349;
matthieuvignon 3:43843ab8af47 234 GoalPos1=1500;
matthieuvignon 3:43843ab8af47 235 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 236 Fin_action();
matthieuvignon 3:43843ab8af47 237 break;
matthieuvignon 2:9d280856a536 238
matthieuvignon 3:43843ab8af47 239
matthieuvignon 2:9d280856a536 240
matthieuvignon 3:43843ab8af47 241 case AX12_VIDER_FUSEE_POMPE_JAUNE_ARRIERE:
matthieuvignon 3:43843ab8af47 242 speed=750;
matthieuvignon 3:43843ab8af47 243
matthieuvignon 3:43843ab8af47 244 GoalPos3=1650;
matthieuvignon 3:43843ab8af47 245 GoalPos2=2380;
matthieuvignon 3:43843ab8af47 246 GoalPos1=1500;
matthieuvignon 3:43843ab8af47 247 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 248 GoalPos3=1545;
matthieuvignon 3:43843ab8af47 249 GoalPos2=2480;
matthieuvignon 3:43843ab8af47 250 GoalPos1=600;
matthieuvignon 3:43843ab8af47 251 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 252 GoalPos3=1146; //1595
matthieuvignon 3:43843ab8af47 253 GoalPos2=2698; //2349
matthieuvignon 3:43843ab8af47 254 GoalPos1=581; //2400
matthieuvignon 3:43843ab8af47 255 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 256 GoalPos3=724; //953
matthieuvignon 3:43843ab8af47 257 GoalPos2=2783; //2806
matthieuvignon 3:43843ab8af47 258 GoalPos1=757; //2551
matthieuvignon 3:43843ab8af47 259 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 260 Fin_action();
matthieuvignon 3:43843ab8af47 261 break;
matthieuvignon 3:43843ab8af47 262
matthieuvignon 3:43843ab8af47 263 case AX12_POSE_MODULE_POMPE_JAUNE_ARRIERE:
matthieuvignon 3:43843ab8af47 264 speed=750;
matthieuvignon 3:43843ab8af47 265
matthieuvignon 3:43843ab8af47 266 GoalPos3=401;
matthieuvignon 3:43843ab8af47 267 GoalPos2=2340;
matthieuvignon 3:43843ab8af47 268 GoalPos1=1094;
matthieuvignon 3:43843ab8af47 269 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 270 GoalPos3=401;
matthieuvignon 3:43843ab8af47 271 GoalPos2=2800;
matthieuvignon 3:43843ab8af47 272 GoalPos1=80;
matthieuvignon 3:43843ab8af47 273 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 274
matthieuvignon 3:43843ab8af47 275 Pompe.write(0);
matthieuvignon 3:43843ab8af47 276
matthieuvignon 3:43843ab8af47 277 Fin_action();
matthieuvignon 3:43843ab8af47 278 break;
matthieuvignon 3:43843ab8af47 279
matthieuvignon 2:9d280856a536 280
matthieuvignon 3:43843ab8af47 281 case AX12_POSE_MODULE_POMPE_BLEU_ARRIERE:
matthieuvignon 3:43843ab8af47 282 speed=750;
matthieuvignon 2:9d280856a536 283
matthieuvignon 3:43843ab8af47 284 GoalPos3=384;
matthieuvignon 3:43843ab8af47 285 GoalPos2=2774;
matthieuvignon 3:43843ab8af47 286 GoalPos1=1094;
matthieuvignon 3:43843ab8af47 287 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 288 GoalPos3=330;
matthieuvignon 3:43843ab8af47 289 GoalPos2=2506;
matthieuvignon 3:43843ab8af47 290 GoalPos1=1587;
matthieuvignon 3:43843ab8af47 291 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 292
matthieuvignon 3:43843ab8af47 293 Pompe.write(0);
matthieuvignon 3:43843ab8af47 294
matthieuvignon 3:43843ab8af47 295 Fin_action();
matthieuvignon 3:43843ab8af47 296 break;
matthieuvignon 3:43843ab8af47 297
matthieuvignon 3:43843ab8af47 298 case AX12_REMISE_PLACE_BRAS_POMPE_ARRIERE:
matthieuvignon 3:43843ab8af47 299
matthieuvignon 3:43843ab8af47 300 speed=750;
matthieuvignon 2:9d280856a536 301
matthieuvignon 3:43843ab8af47 302 GoalPos3=450; //449
matthieuvignon 3:43843ab8af47 303 GoalPos2=2800; //2833
matthieuvignon 3:43843ab8af47 304 GoalPos1=1500; //2762
matthieuvignon 3:43843ab8af47 305 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 306 GoalPos3=765;
matthieuvignon 3:43843ab8af47 307 GoalPos2=2796;
matthieuvignon 3:43843ab8af47 308 GoalPos1=880;
matthieuvignon 3:43843ab8af47 309 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 310 GoalPos3=1200;
matthieuvignon 3:43843ab8af47 311 GoalPos2=2750;
matthieuvignon 3:43843ab8af47 312 GoalPos1=600;
matthieuvignon 3:43843ab8af47 313 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 314 GoalPos3=1557;
matthieuvignon 3:43843ab8af47 315 GoalPos2=2500;
matthieuvignon 3:43843ab8af47 316 GoalPos1=600;
matthieuvignon 3:43843ab8af47 317 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 318
matthieuvignon 3:43843ab8af47 319 GoalPos3=1650;
matthieuvignon 3:43843ab8af47 320 GoalPos2=2380;
matthieuvignon 3:43843ab8af47 321 GoalPos1=600;
matthieuvignon 3:43843ab8af47 322 mvtBrasAvantPompe(1, speed, GoalPos1, 2, speed, GoalPos2, 3, speed, GoalPos3);
matthieuvignon 3:43843ab8af47 323
matthieuvignon 3:43843ab8af47 324 Fin_action();
matthieuvignon 3:43843ab8af47 325 break;
matthieuvignon 3:43843ab8af47 326
matthieuvignon 2:9d280856a536 327
matthieuvignon 3:43843ab8af47 328 case AX12_INITIALISATION :
matthieuvignon 3:43843ab8af47 329 speed = 750;
matthieuvignon 3:43843ab8af47 330
matthieuvignon 3:43843ab8af47 331 GoalPos4=2200;
matthieuvignon 3:43843ab8af47 332 GoalPos5=1522;
matthieuvignon 3:43843ab8af47 333 GoalPos6=2528;
matthieuvignon 3:43843ab8af47 334 GoalPos7=513;
matthieuvignon 3:43843ab8af47 335 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 336 GoalPos4=2379;
matthieuvignon 3:43843ab8af47 337 GoalPos5=1522;
matthieuvignon 3:43843ab8af47 338 GoalPos6=2528;
matthieuvignon 3:43843ab8af47 339 GoalPos7=513;
matthieuvignon 3:43843ab8af47 340 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 341 Fin_action();
matthieuvignon 3:43843ab8af47 342 break;
matthieuvignon 3:43843ab8af47 343
matthieuvignon 3:43843ab8af47 344 case AX12_PREPARATION_PRISE :
matthieuvignon 3:43843ab8af47 345 speed = 750;
matthieuvignon 3:43843ab8af47 346
matthieuvignon 3:43843ab8af47 347 GoalPos4=970;
matthieuvignon 3:43843ab8af47 348 GoalPos5=2060;
matthieuvignon 3:43843ab8af47 349 GoalPos6=1891;
matthieuvignon 3:43843ab8af47 350 GoalPos7=1150;
matthieuvignon 3:43843ab8af47 351 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 352 Fin_action();
matthieuvignon 3:43843ab8af47 353 break;
matthieuvignon 3:43843ab8af47 354
matthieuvignon 3:43843ab8af47 355 case AX12_STOCKAGE_HAUT :
matthieuvignon 3:43843ab8af47 356 GoalPos4=970;
matthieuvignon 3:43843ab8af47 357 GoalPos5=2060;
matthieuvignon 3:43843ab8af47 358 GoalPos6=2520;
matthieuvignon 3:43843ab8af47 359 GoalPos7=550;
matthieuvignon 3:43843ab8af47 360 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 361 GoalPos4=1587;
matthieuvignon 3:43843ab8af47 362 GoalPos5=2032;
matthieuvignon 3:43843ab8af47 363 GoalPos6=2520;
matthieuvignon 3:43843ab8af47 364 GoalPos7=550;
matthieuvignon 3:43843ab8af47 365 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 366 GoalPos4=2003;
matthieuvignon 3:43843ab8af47 367 GoalPos5=1810;
matthieuvignon 3:43843ab8af47 368 GoalPos6=2520;
matthieuvignon 3:43843ab8af47 369 GoalPos7=550;
matthieuvignon 3:43843ab8af47 370 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 371 GoalPos4=2041;
matthieuvignon 3:43843ab8af47 372 GoalPos5=2018;
matthieuvignon 3:43843ab8af47 373 GoalPos6=2300;
matthieuvignon 3:43843ab8af47 374 GoalPos7=550;
matthieuvignon 3:43843ab8af47 375 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 376 GoalPos4=2041;
matthieuvignon 3:43843ab8af47 377 GoalPos5=2018;
matthieuvignon 3:43843ab8af47 378 GoalPos6=2200;
matthieuvignon 3:43843ab8af47 379 GoalPos7=750;
matthieuvignon 3:43843ab8af47 380 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 2:9d280856a536 381 Fin_action();
matthieuvignon 3:43843ab8af47 382 break;
matthieuvignon 3:43843ab8af47 383
matthieuvignon 3:43843ab8af47 384 case AX12_STOCKAGE_BAS :
matthieuvignon 3:43843ab8af47 385 GoalPos4=970;
matthieuvignon 3:43843ab8af47 386 GoalPos5=2060;
matthieuvignon 3:43843ab8af47 387 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 388 GoalPos7=550;
matthieuvignon 3:43843ab8af47 389 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 390 GoalPos4=1587;
matthieuvignon 3:43843ab8af47 391 GoalPos5=2032;
matthieuvignon 3:43843ab8af47 392 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 393 GoalPos7=550;
matthieuvignon 3:43843ab8af47 394 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 395
matthieuvignon 3:43843ab8af47 396 GoalPos4=1510;
matthieuvignon 3:43843ab8af47 397 GoalPos5=1126;
matthieuvignon 3:43843ab8af47 398 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 399 GoalPos7=550;
matthieuvignon 3:43843ab8af47 400 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 401 GoalPos4=1580;
matthieuvignon 3:43843ab8af47 402 GoalPos5=660;
matthieuvignon 3:43843ab8af47 403 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 404 GoalPos7=550;
matthieuvignon 3:43843ab8af47 405 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 406 Fin_action();
matthieuvignon 3:43843ab8af47 407 break;
matthieuvignon 3:43843ab8af47 408
matthieuvignon 3:43843ab8af47 409 case AX12_DEPOSER :
matthieuvignon 3:43843ab8af47 410 GoalPos4=1580;
matthieuvignon 3:43843ab8af47 411 GoalPos5=660;
matthieuvignon 3:43843ab8af47 412 GoalPos6=2200;
matthieuvignon 3:43843ab8af47 413 GoalPos7=800;
matthieuvignon 3:43843ab8af47 414 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 415 Fin_action();
matthieuvignon 3:43843ab8af47 416 break;
matthieuvignon 3:43843ab8af47 417
matthieuvignon 3:43843ab8af47 418 case AX12_PREPARATION_DEPOT_HAUT :
matthieuvignon 3:43843ab8af47 419 GoalPos4=1970;
matthieuvignon 3:43843ab8af47 420 GoalPos5=2140;
matthieuvignon 3:43843ab8af47 421 GoalPos6=2000;
matthieuvignon 3:43843ab8af47 422 GoalPos7=850;
matthieuvignon 3:43843ab8af47 423 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 424 GoalPos4=1994;
matthieuvignon 3:43843ab8af47 425 GoalPos5=2110;
matthieuvignon 3:43843ab8af47 426 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 427 GoalPos7=550;
matthieuvignon 3:43843ab8af47 428 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 429 GoalPos4=1977;
matthieuvignon 3:43843ab8af47 430 GoalPos5=1713;
matthieuvignon 3:43843ab8af47 431 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 432 GoalPos7=550;
matthieuvignon 3:43843ab8af47 433 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 434
matthieuvignon 3:43843ab8af47 435 GoalPos4=1580;
matthieuvignon 3:43843ab8af47 436 GoalPos5=660;
matthieuvignon 3:43843ab8af47 437 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 438 GoalPos7=550;
matthieuvignon 3:43843ab8af47 439 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 440 Fin_action();
matthieuvignon 3:43843ab8af47 441
matthieuvignon 3:43843ab8af47 442 break;
matthieuvignon 3:43843ab8af47 443
matthieuvignon 3:43843ab8af47 444 case AX12_POUSSER_MODULE :
matthieuvignon 3:43843ab8af47 445 GoalPos4=1880;
matthieuvignon 3:43843ab8af47 446 GoalPos5=440;
matthieuvignon 3:43843ab8af47 447 GoalPos6=2460;
matthieuvignon 3:43843ab8af47 448 GoalPos7=550;
matthieuvignon 3:43843ab8af47 449 mvtBrasAvantModule(4, speed, GoalPos4, 5, speed, GoalPos5, 6, speed, GoalPos6, 7, speed, GoalPos7);
matthieuvignon 3:43843ab8af47 450 Fin_action();
matthieuvignon 3:43843ab8af47 451 break;
matthieuvignon 3:43843ab8af47 452
matthieuvignon 3:43843ab8af47 453 case AX12_DESCENDRE_ASPIRATEUR :
matthieuvignon 3:43843ab8af47 454 speed = 1023;
matthieuvignon 3:43843ab8af47 455 GoalPos9=1700;
matthieuvignon 3:43843ab8af47 456 GoalPos10=2200;
matthieuvignon 3:43843ab8af47 457 GoalPos15=2400;
matthieuvignon 3:43843ab8af47 458 mvtBrasAspirateur(9, speed, GoalPos9, 10, speed, GoalPos10, 15, speed, GoalPos15);
matthieuvignon 3:43843ab8af47 459 Fin_action();
matthieuvignon 3:43843ab8af47 460 break;
matthieuvignon 3:43843ab8af47 461
matthieuvignon 3:43843ab8af47 462 case AX12_MONTER_ASPIRATEUR :
matthieuvignon 3:43843ab8af47 463 speed = 1023;
matthieuvignon 3:43843ab8af47 464 GoalPos9=540;
matthieuvignon 3:43843ab8af47 465 GoalPos10=2370;
matthieuvignon 3:43843ab8af47 466 GoalPos15=2400;
matthieuvignon 3:43843ab8af47 467 mvtBrasAspirateur(9, speed, GoalPos9, 10, speed, GoalPos10, 15, speed, GoalPos15);
matthieuvignon 3:43843ab8af47 468 Fin_action();
matthieuvignon 3:43843ab8af47 469 break;
matthieuvignon 3:43843ab8af47 470
matthieuvignon 3:43843ab8af47 471 case AX12_FUNNY_ACTION:
matthieuvignon 3:43843ab8af47 472 speed = 1023;
matthieuvignon 3:43843ab8af47 473 GoalPos9=540;
matthieuvignon 3:43843ab8af47 474 GoalPos10=2370;
matthieuvignon 3:43843ab8af47 475 GoalPos15=1250;
matthieuvignon 3:43843ab8af47 476 mvtBrasAspirateur(9, speed, GoalPos9, 10, speed, GoalPos10, 15, speed, GoalPos15);
matthieuvignon 3:43843ab8af47 477 wait(10*TIME);
matthieuvignon 3:43843ab8af47 478 speed = 1023;
matthieuvignon 3:43843ab8af47 479 GoalPos9=540;
matthieuvignon 3:43843ab8af47 480 GoalPos10=2370;
matthieuvignon 3:43843ab8af47 481 GoalPos15=2400;
matthieuvignon 3:43843ab8af47 482 mvtBrasAspirateur(9, speed, GoalPos9, 10, speed, GoalPos10, 15, speed, GoalPos15);
matthieuvignon 3:43843ab8af47 483 Fin_action();
matthieuvignon 3:43843ab8af47 484 break;
matthieuvignon 3:43843ab8af47 485
matthieuvignon 3:43843ab8af47 486 case AX12_DEFAUT :
matthieuvignon 3:43843ab8af47 487
matthieuvignon 3:43843ab8af47 488 break;
matthieuvignon 3:43843ab8af47 489 }
matthieuvignon 2:9d280856a536 490
matthieuvignon 2:9d280856a536 491 }
matthieuvignon 2:9d280856a536 492
matthieuvignon 2:9d280856a536 493
matthieuvignon 3:43843ab8af47 494 unsigned char mvtBrasAvantPompe(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1,
matthieuvignon 2:9d280856a536 495 unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2,
matthieuvignon 2:9d280856a536 496 unsigned char ID3, unsigned short GSpeed3, unsigned short GPosition3)
matthieuvignon 2:9d280856a536 497 {
matthieuvignon 2:9d280856a536 498 char TabPompeBras[15];
matthieuvignon 2:9d280856a536 499 unsigned short GPosition1_1, GPosition2_1, GPosition3_1;
matthieuvignon 2:9d280856a536 500
matthieuvignon 2:9d280856a536 501 GPosition1_1=((unsigned long)GPosition1*341/1000);
matthieuvignon 2:9d280856a536 502 GPosition2_1=((unsigned long)GPosition2*341/1000);
matthieuvignon 2:9d280856a536 503 GPosition3_1=((unsigned long)GPosition3*341/1000);
matthieuvignon 2:9d280856a536 504
matthieuvignon 2:9d280856a536 505 TabPompeBras[0] = ID1;
matthieuvignon 2:9d280856a536 506 TabPompeBras[1] = GPosition1_1;
matthieuvignon 2:9d280856a536 507 TabPompeBras[2] = GPosition1_1>>8;
matthieuvignon 2:9d280856a536 508 TabPompeBras[3] = GSpeed1;
matthieuvignon 2:9d280856a536 509 TabPompeBras[4] = GSpeed1>>8; /// (haut, milieu, bas)
matthieuvignon 2:9d280856a536 510
matthieuvignon 2:9d280856a536 511 TabPompeBras[5] = ID2;
matthieuvignon 2:9d280856a536 512 TabPompeBras[6] = GPosition2_1;
matthieuvignon 2:9d280856a536 513 TabPompeBras[7] = GPosition2_1>>8;
matthieuvignon 2:9d280856a536 514 TabPompeBras[8] = GSpeed2;
matthieuvignon 2:9d280856a536 515 TabPompeBras[9] = GSpeed2>>8;
matthieuvignon 2:9d280856a536 516
matthieuvignon 2:9d280856a536 517 TabPompeBras[10] = ID3;
matthieuvignon 2:9d280856a536 518 TabPompeBras[11] = GPosition3_1;
matthieuvignon 2:9d280856a536 519 TabPompeBras[12] = GPosition3_1>>8;
matthieuvignon 2:9d280856a536 520 TabPompeBras[13] = GSpeed3;
matthieuvignon 2:9d280856a536 521 TabPompeBras[14] = GSpeed3>>8 ;
matthieuvignon 2:9d280856a536 522
matthieuvignon 2:9d280856a536 523 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 2:9d280856a536 524 wait(TIME);
matthieuvignon 2:9d280856a536 525
matthieuvignon 2:9d280856a536 526
matthieuvignon 3:43843ab8af47 527 while (((unsigned short)(Ax12_HautBrasPompe->Get_Position()*10)>GPosition3*105/100) || ((unsigned short)(Ax12_HautBrasPompe->Get_Position()*10)<GPosition3*95/100)) {
matthieuvignon 3:43843ab8af47 528 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 3:43843ab8af47 529 wait(TIME*5);
matthieuvignon 3:43843ab8af47 530 }
matthieuvignon 3:43843ab8af47 531
matthieuvignon 3:43843ab8af47 532 while (((unsigned short)(Ax12_MilieuBrasPompe->Get_Position()*10)>GPosition2*105/100) || ((unsigned short)(Ax12_MilieuBrasPompe->Get_Position()*10)<GPosition2*95/100)) {
matthieuvignon 3:43843ab8af47 533 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 3:43843ab8af47 534 wait(TIME*5);
matthieuvignon 3:43843ab8af47 535 }
matthieuvignon 3:43843ab8af47 536
matthieuvignon 3:43843ab8af47 537
matthieuvignon 3:43843ab8af47 538 while (((unsigned short)(Ax12_BasBrasPompe->Get_Position()*10)>GPosition1*105/100) || ((unsigned short)(Ax12_BasBrasPompe->Get_Position()*10)<GPosition1*95/100)) {
matthieuvignon 3:43843ab8af47 539 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 3:43843ab8af47 540 wait(TIME*5);
matthieuvignon 3:43843ab8af47 541 }
matthieuvignon 3:43843ab8af47 542
matthieuvignon 3:43843ab8af47 543
matthieuvignon 3:43843ab8af47 544
matthieuvignon 3:43843ab8af47 545 }
matthieuvignon 3:43843ab8af47 546
matthieuvignon 3:43843ab8af47 547 unsigned char mvtBrasAvantModule(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1,
matthieuvignon 3:43843ab8af47 548 unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2,
matthieuvignon 3:43843ab8af47 549 unsigned char ID3, unsigned short GSpeed3, unsigned short GPosition3,
matthieuvignon 3:43843ab8af47 550 unsigned char ID4, unsigned short GSpeed4, unsigned short GPosition4)
matthieuvignon 3:43843ab8af47 551 {
matthieuvignon 3:43843ab8af47 552
matthieuvignon 3:43843ab8af47 553 char TabBrasAvant[20];
matthieuvignon 3:43843ab8af47 554 unsigned short GPosition1_1, GPosition2_1, GPosition3_1, GPosition4_1;
matthieuvignon 3:43843ab8af47 555
matthieuvignon 3:43843ab8af47 556 GPosition1_1=((unsigned long)GPosition1*341/1000);
matthieuvignon 3:43843ab8af47 557 GPosition2_1=((unsigned long)GPosition2*341/1000);
matthieuvignon 3:43843ab8af47 558 GPosition3_1=((unsigned long)GPosition3*341/1000);
matthieuvignon 3:43843ab8af47 559 GPosition4_1=((unsigned long)GPosition4*341/1000);
matthieuvignon 3:43843ab8af47 560
matthieuvignon 3:43843ab8af47 561 TabBrasAvant[0] = ID1;
matthieuvignon 3:43843ab8af47 562 TabBrasAvant[1] = GPosition1_1;
matthieuvignon 3:43843ab8af47 563 TabBrasAvant[2] = GPosition1_1>>8;
matthieuvignon 3:43843ab8af47 564 TabBrasAvant[3] = GSpeed1;
matthieuvignon 3:43843ab8af47 565 TabBrasAvant[4] = GSpeed1>>8; /// (haut, milieu, bas)
matthieuvignon 3:43843ab8af47 566
matthieuvignon 3:43843ab8af47 567 TabBrasAvant[5] = ID2;
matthieuvignon 3:43843ab8af47 568 TabBrasAvant[6] = GPosition2_1;
matthieuvignon 3:43843ab8af47 569 TabBrasAvant[7] = GPosition2_1>>8;
matthieuvignon 3:43843ab8af47 570 TabBrasAvant[8] = GSpeed2;
matthieuvignon 3:43843ab8af47 571 TabBrasAvant[9] = GSpeed2>>8;
matthieuvignon 3:43843ab8af47 572
matthieuvignon 3:43843ab8af47 573 TabBrasAvant[10] = ID3;
matthieuvignon 3:43843ab8af47 574 TabBrasAvant[11] = GPosition3_1;
matthieuvignon 3:43843ab8af47 575 TabBrasAvant[12] = GPosition3_1>>8;
matthieuvignon 3:43843ab8af47 576 TabBrasAvant[13] = GSpeed3;
matthieuvignon 3:43843ab8af47 577 TabBrasAvant[14] = GSpeed3>>8 ;
matthieuvignon 3:43843ab8af47 578
matthieuvignon 3:43843ab8af47 579 TabBrasAvant[15] = ID4;
matthieuvignon 3:43843ab8af47 580 TabBrasAvant[16] = GPosition4_1;
matthieuvignon 3:43843ab8af47 581 TabBrasAvant[17] = GPosition4_1>>8;
matthieuvignon 3:43843ab8af47 582 TabBrasAvant[18] = GSpeed4;
matthieuvignon 3:43843ab8af47 583 TabBrasAvant[19] = GSpeed4>>8 ;
matthieuvignon 3:43843ab8af47 584
matthieuvignon 3:43843ab8af47 585 BrasModuleAx12->multiple_goal_and_speed(4,TabBrasAvant) ;
matthieuvignon 3:43843ab8af47 586 wait(TIME);
matthieuvignon 3:43843ab8af47 587
matthieuvignon 3:43843ab8af47 588 /*
matthieuvignon 2:9d280856a536 589 while (((unsigned short)(HautBrasPompe->Get_Position()*10)>GPosition3*105/100) || ((unsigned short)(HautBrasPompe->Get_Position()*10)<GPosition3*95/100)) {
matthieuvignon 2:9d280856a536 590 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 2:9d280856a536 591 wait(TIME*5);
matthieuvignon 2:9d280856a536 592 }
matthieuvignon 2:9d280856a536 593
matthieuvignon 2:9d280856a536 594 while (((unsigned short)(MilieuBrasPompe->Get_Position()*10)>GPosition2*105/100) || ((unsigned short)(MilieuBrasPompe->Get_Position()*10)<GPosition2*95/100)) {
matthieuvignon 2:9d280856a536 595 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 2:9d280856a536 596 wait(TIME*5);
matthieuvignon 2:9d280856a536 597 }
matthieuvignon 2:9d280856a536 598
matthieuvignon 2:9d280856a536 599
matthieuvignon 2:9d280856a536 600 while (((unsigned short)(BasBrasPompe->Get_Position()*10)>GPosition1*105/100) || ((unsigned short)(BasBrasPompe->Get_Position()*10)<GPosition1*95/100)) {
matthieuvignon 2:9d280856a536 601 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 2:9d280856a536 602 wait(TIME*5);
matthieuvignon 2:9d280856a536 603 }
matthieuvignon 3:43843ab8af47 604 */
matthieuvignon 2:9d280856a536 605
matthieuvignon 2:9d280856a536 606
matthieuvignon 2:9d280856a536 607 }
matthieuvignon 2:9d280856a536 608
matthieuvignon 3:43843ab8af47 609 unsigned char mvtBrasAspirateur(unsigned char ID1, unsigned short GSpeed1, unsigned short GPosition1,
matthieuvignon 3:43843ab8af47 610 unsigned char ID2, unsigned short GSpeed2, unsigned short GPosition2,
matthieuvignon 3:43843ab8af47 611 unsigned char ID3, unsigned short GSpeed3, unsigned short GPosition3)
matthieuvignon 3:43843ab8af47 612 {
matthieuvignon 3:43843ab8af47 613 char TabAspirateurBras[15];
matthieuvignon 3:43843ab8af47 614 unsigned short GPosition1_1, GPosition2_1, GPosition3_1;
matthieuvignon 3:43843ab8af47 615
matthieuvignon 3:43843ab8af47 616 GPosition1_1=((unsigned long)GPosition1*341/1000);
matthieuvignon 3:43843ab8af47 617 GPosition2_1=((unsigned long)GPosition2*341/1000);
matthieuvignon 3:43843ab8af47 618 GPosition3_1=((unsigned long)GPosition3*341/1000);
matthieuvignon 3:43843ab8af47 619
matthieuvignon 3:43843ab8af47 620 TabAspirateurBras[0] = ID1;
matthieuvignon 3:43843ab8af47 621 TabAspirateurBras[1] = GPosition1_1;
matthieuvignon 3:43843ab8af47 622 TabAspirateurBras[2] = GPosition1_1>>8;
matthieuvignon 3:43843ab8af47 623 TabAspirateurBras[3] = GSpeed1;
matthieuvignon 3:43843ab8af47 624 TabAspirateurBras[4] = GSpeed1>>8;
matthieuvignon 3:43843ab8af47 625
matthieuvignon 3:43843ab8af47 626 TabAspirateurBras[5] = ID2;
matthieuvignon 3:43843ab8af47 627 TabAspirateurBras[6] = GPosition2_1;
matthieuvignon 3:43843ab8af47 628 TabAspirateurBras[7] = GPosition2_1>>8;
matthieuvignon 3:43843ab8af47 629 TabAspirateurBras[8] = GSpeed2;
matthieuvignon 3:43843ab8af47 630 TabAspirateurBras[9] = GSpeed2>>8;
matthieuvignon 3:43843ab8af47 631
matthieuvignon 3:43843ab8af47 632 TabAspirateurBras[10] = ID3;
matthieuvignon 3:43843ab8af47 633 TabAspirateurBras[11] = GPosition3_1;
matthieuvignon 3:43843ab8af47 634 TabAspirateurBras[12] = GPosition3_1>>8;
matthieuvignon 3:43843ab8af47 635 TabAspirateurBras[13] = GSpeed3;
matthieuvignon 3:43843ab8af47 636 TabAspirateurBras[14] = GSpeed3>>8 ;
matthieuvignon 3:43843ab8af47 637
matthieuvignon 3:43843ab8af47 638 BrasAspirateurAx12->multiple_goal_and_speed(3,TabAspirateurBras) ;
matthieuvignon 3:43843ab8af47 639 wait(TIME);
matthieuvignon 3:43843ab8af47 640
matthieuvignon 3:43843ab8af47 641 /*
matthieuvignon 3:43843ab8af47 642 while (((unsigned short)(HautBrasPompe->Get_Position()*10)>GPosition3*105/100) || ((unsigned short)(HautBrasPompe->Get_Position()*10)<GPosition3*95/100)) {
matthieuvignon 3:43843ab8af47 643 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 3:43843ab8af47 644 wait(TIME*5);
matthieuvignon 2:9d280856a536 645 }
matthieuvignon 2:9d280856a536 646
matthieuvignon 3:43843ab8af47 647 while (((unsigned short)(MilieuBrasPompe->Get_Position()*10)>GPosition2*105/100) || ((unsigned short)(MilieuBrasPompe->Get_Position()*10)<GPosition2*95/100)) {
matthieuvignon 3:43843ab8af47 648 BrasPompeAx12->multiple_goal_and_speed(3,TabPompeBras) ;
matthieuvignon 3:43843ab8af47 649 wait(TIME*5);
matthieuvignon 3:43843ab8af47 650 }*/
matthieuvignon 2:9d280856a536 651
matthieuvignon 3:43843ab8af47 652
matthieuvignon 2:9d280856a536 653
matthieuvignon 2:9d280856a536 654 }
matthieuvignon 2:9d280856a536 655
matthieuvignon 2:9d280856a536 656
matthieuvignon 2:9d280856a536 657 /****************************************************************************************/
matthieuvignon 2:9d280856a536 658 /* FUNCTION NAME: Fin_action */
matthieuvignon 2:9d280856a536 659 /* DESCRIPTION : Fonction qui confirme la fin de mouvement des AX12 */
matthieuvignon 2:9d280856a536 660 /****************************************************************************************/
matthieuvignon 2:9d280856a536 661 void Fin_action(void){
matthieuvignon 2:9d280856a536 662 CANMessage msgTx=CANMessage();
matthieuvignon 2:9d280856a536 663 msgTx.format=CANStandard;
matthieuvignon 2:9d280856a536 664 msgTx.type=CANData;
matthieuvignon 2:9d280856a536 665
matthieuvignon 2:9d280856a536 666 msgTx.id = SERVO_AX12_END;
matthieuvignon 2:9d280856a536 667 msgTx.len = 1;
matthieuvignon 2:9d280856a536 668 msgTx.data[0] = AX12_PREPARATION_PRISE;
matthieuvignon 2:9d280856a536 669 can.write(msgTx);
matthieuvignon 2:9d280856a536 670 }
matthieuvignon 2:9d280856a536 671
matthieuvignon 2:9d280856a536 672
matthieuvignon 2:9d280856a536 673
matthieuvignon 2:9d280856a536 674