
code avec modifs, programme mit dans les robots pour les derniers matchs
Dependencies: mbed SerialHalfDuplex SDFileSystem liaison_Bluetooth ident_crac DISCO-F469NI_portrait
Revision 33:c54841d11156, committed 2021-05-12
- Comitter:
- goldmas
- Date:
- Wed May 12 14:40:52 2021 +0000
- Parent:
- 32:7f8e3ee2adac
- Child:
- 34:c314feaa0d3e
- Commit message:
- adaptation manche a air et demo bras avec new ident fct;
Changed in this revision
--- a/Globals/ident_crac.lib Tue May 11 15:02:31 2021 +0000 +++ b/Globals/ident_crac.lib Wed May 12 14:40:52 2021 +0000 @@ -1,1 +1,1 @@ -https://os.mbed.com/teams/CRAC-Team/code/ident_crac/#6f81efc4aa46 +https://os.mbed.com/teams/CRAC-Team/code/ident_crac/#f14b2127d83d
--- a/IHM/ihm.cpp Tue May 11 15:02:31 2021 +0000 +++ b/IHM/ihm.cpp Wed May 12 14:40:52 2021 +0000 @@ -19,7 +19,7 @@ /////////////////DEFINITION DES BOUTONS//////////////////// Button COTE_JAUNE(0, 25, 400, 300, "JAUNE"); -Button COTE_VIOLET(0, 350, 400, 300, "VIOLET"); +Button COTE_VIOLET(0, 350, 400, 300, "BLEU"); Button RETOUR (0, 680, 400, 110, "--Precedent--"); Button LANCER (0, 200, 400, 200, "--LANCER--"); Button CHECK (0, 420, 400, 200, "Valider"); @@ -418,7 +418,8 @@ break; case TEST_SERVO_BRAS: - char bras_select_0 = 0, bras_select_1 = 0, bras_select_2 = 0, bras_select_3 = 0, bras_select_4 = 0, bras_select_5 = 0 ; + char bras_select_0 = 7, bras_select_1 = 0, bras_select_2 = 0, bras_select_3 = 0, bras_select_4 = 0, bras_select_5 = 0 ; + unsigned char choix_bras; lcd.SetBackColor(LCD_COLOR_WHITE); lcd.SetTextColor(LCD_COLOR_BLACK); lcd.Clear (LCD_COLOR_WHITE); @@ -445,89 +446,292 @@ else if(TEST_SERVO_0.Touched()) { while (TEST_SERVO_0.Touched()); - if(bras_select_0) + if(bras_select_0 == 0) + { + bras_select_0 = 7 ; + TEST_SERVO_0.Draw(BLEU, BLANC); + } + else { bras_select_0 = 0 ; TEST_SERVO_0.Draw(DIY_GREY, BLANC); } - else - { - bras_select_0 = 1 ; - TEST_SERVO_0.Draw(BLEU, BLANC); - } } else if(TEST_SERVO_1.Touched()) { while (TEST_SERVO_1.Touched()); - if(bras_select_1) + if(bras_select_1 == 1) { bras_select_1 = 0 ; - TEST_SERVO_1.Draw(DIY_GREY, BLANC); + TEST_SERVO_1.Draw(BLEU, BLANC); } else { bras_select_1 = 1 ; - TEST_SERVO_1.Draw(BLEU, BLANC); + TEST_SERVO_1.Draw(DIY_GREY, BLANC); } } else if(TEST_SERVO_2.Touched()) { while (TEST_SERVO_2.Touched()); - if(bras_select_2) + if(bras_select_2 == 2) { bras_select_2 = 0 ; - TEST_SERVO_2.Draw(DIY_GREY, BLANC); + TEST_SERVO_2.Draw(BLEU, BLANC); } else { - bras_select_2 = 1 ; - TEST_SERVO_2.Draw(BLEU, BLANC); + bras_select_2 = 2 ; + TEST_SERVO_2.Draw(DIY_GREY, BLANC); } } else if(TEST_SERVO_3.Touched()) { while (TEST_SERVO_3.Touched()); - if(bras_select_3) + if(bras_select_3 == 3) { bras_select_3 = 0 ; - TEST_SERVO_3.Draw(DIY_GREY, BLANC); + TEST_SERVO_3.Draw(BLEU, BLANC); } else { - bras_select_3 = 1 ; - TEST_SERVO_3.Draw(BLEU, BLANC); + bras_select_3 = 3 ; + TEST_SERVO_3.Draw(DIY_GREY, BLANC); } } else if(TEST_SERVO_4.Touched()) { while (TEST_SERVO_4.Touched()); - if(bras_select_4) + if(bras_select_4 == 4) { bras_select_4 = 0 ; - TEST_SERVO_4.Draw(DIY_GREY, BLANC); + TEST_SERVO_4.Draw(BLEU, BLANC); } else { - bras_select_4 = 1 ; - TEST_SERVO_4.Draw(BLEU, BLANC); + bras_select_4 = 4 ; + TEST_SERVO_4.Draw(DIY_GREY, BLANC); } } else if(TEST_SERVO_5.Touched()) { while (TEST_SERVO_5.Touched()); - if(bras_select_5) + if(bras_select_5 == 5) { bras_select_5 = 0 ; - TEST_SERVO_5.Draw(DIY_GREY, BLANC); + TEST_SERVO_5.Draw(BLEU, BLANC); } else { - bras_select_5 = 1 ; - TEST_SERVO_5.Draw(BLEU, BLANC); + bras_select_5 = 5 ; + TEST_SERVO_5.Draw(DIY_GREY, BLANC); } } else if (TEST_ATTRAPER.Touched()) { + while(TEST_ATTRAPER.Touched()) ; + unsigned char message_droit_at, message_gauche_at, nombre_de_chiffre_droite, nombre_de_chiffre_gauche; + message_droit_at = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ; + message_gauche_at = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ; + + switch (message_gauche_at) + { + case 31 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement + choix_bras = 66 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 28 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement + choix_bras = 54 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 247 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement + choix_bras = 53 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 43 : + choix_bras = 43 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 244 : //on dépasse la taille d'un char donc on met la valeur en comptant le dépassement + choix_bras = 5 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 40 : + choix_bras = 4 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 3 : + choix_bras = 3 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + } + + switch (message_droit_at) + { + case 210 : + choix_bras = 210 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 217 : + choix_bras = 21 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 200 : + choix_bras = 20 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 10 : + choix_bras = 10 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 207 : + choix_bras = 2 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 17 : + choix_bras = 1 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 0 : + choix_bras = 0 ; + SendMsgCan(BRAS_AT, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + } + + message_droit_at = 0 ; + message_gauche_at = 0 ; + + TEST_ATTRAPER.Draw(BLEU, BLANC); + } + else if (TEST_RELACHER.Touched()) + { + while(TEST_RELACHER.Touched()); + unsigned char message_droit_re, message_gauche_re; + message_droit_re = 100 * bras_select_2 + 10 * bras_select_1 + bras_select_0 ; + message_gauche_re = 100 * bras_select_5 + 10 * bras_select_4 + bras_select_3 ; + switch (message_droit_re) + { + case 210 : + choix_bras = 210 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 217 : + choix_bras = 21 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 200 : + choix_bras = 20 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 10 : + choix_bras = 10 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 207 : + choix_bras = 2 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 17 : + choix_bras = 1 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 0 : + choix_bras = 0 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + } + + switch (message_gauche_re) + { + case 31 : + choix_bras = 66 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 28 : + choix_bras = 54 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 247 : + choix_bras = 53 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 43 : + choix_bras = 43 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 244 : + choix_bras = 5 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 40 : + choix_bras = 4 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + case 3 : + choix_bras = 3 ; + SendMsgCan(BRAS_RE, &choix_bras,sizeof(choix_bras)); + waitingAckFrom = 0; + waitingAckID =0; + break ; + } + message_droit_re = 0 ; + message_gauche_re = 0 ; + + TEST_RELACHER.Draw(BLEU, BLANC); } }
--- a/Strategie/Strategie.cpp Tue May 11 15:02:31 2021 +0000 +++ b/Strategie/Strategie.cpp Wed May 12 14:40:52 2021 +0000 @@ -1612,145 +1612,19 @@ break; case 151: - unsigned char argu_at_1_bras = arg1, numero_bras_at; - if(argu_at_1_bras<6) - { - SendMsgCan(BRAS_AT_1, &argu_at_1_bras,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - } - else if(argu_at_1_bras>5) - { - switch(argu_at_1_bras) - { - case 10: - numero_bras_at = 0 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 20: - numero_bras_at = 1 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 21: - numero_bras_at = 2 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 210: - numero_bras_at = 1 ; - SendMsgCan(BRAS_AT_3, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 43: - numero_bras_at = 3 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 53: - numero_bras_at = 4 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 54: - numero_bras_at = 5 ; - SendMsgCan(BRAS_AT_2, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 543: - numero_bras_at = 0 ; - SendMsgCan(BRAS_AT_3, &numero_bras_at,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - } - } + unsigned char argu_at_bras = arg1; + if(argu_at_bras == 543) argu_at_bras = 66; + SendMsgCan(BRAS_AT, &argu_at_bras,sizeof(arg1)); + waitingAckFrom = 0; + waitingAckID =0; break; case 152: - unsigned char argu_re_1_bras = arg1, numero_bras_re; - if(argu_re_1_bras<6) - { - SendMsgCan(BRAS_RE_1, &argu_re_1_bras,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - } - else if(argu_re_1_bras>5) - { - switch(argu_re_1_bras) - { - case 10: - numero_bras_re = 0 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 20: - numero_bras_re = 1 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 21: - numero_bras_re = 2 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 210: - numero_bras_re = 1 ; - SendMsgCan(BRAS_RE_3, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 43: - numero_bras_re = 3 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 53: - numero_bras_re = 4 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 54: - numero_bras_re = 5 ; - SendMsgCan(BRAS_RE_2, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - - case 543: - numero_bras_re = 0 ; - SendMsgCan(BRAS_RE_3, &numero_bras_re,sizeof(arg1)); - waitingAckFrom = 0; - waitingAckID =0; - break; - } - } + unsigned char argu_re_bras = arg1; + if(argu_re_bras == 543) argu_re_bras = 66; + SendMsgCan(BRAS_RE, &argu_re_bras,sizeof(arg1)); + waitingAckFrom = 0; + waitingAckID =0; break; case 153: @@ -1768,6 +1642,18 @@ waitingAckID =0; break; + case 157 : + unsigned char argu_manche_haut = arg1; + SendMsgCan(AUTOMATE_MANCHE_HAUT, &argu_manche_haut,sizeof(arg1)); + waitingAckFrom = 0; + waitingAckID =0; + + case 158 : + unsigned char argu_manche_bas = arg1; + SendMsgCan(AUTOMATE_MANCHE_BAS, &argu_manche_bas,sizeof(arg1)); + waitingAckFrom = 0; + waitingAckID =0; + default: retour = 0;//L'action n'existe pas, il faut utiliser le CAN break;