Classes et code de la partie pompe du Robot 2021
Dependencies: mbed ident_crac
Diff: main.cpp
- Revision:
- 8:ba95705cf7d4
- Parent:
- 7:b7dc6201b520
- Child:
- 9:6869e3869638
--- a/main.cpp Fri Mar 05 18:46:42 2021 +0000 +++ b/main.cpp Wed May 19 09:53:33 2021 +0000 @@ -9,6 +9,7 @@ void interruption_reception(void) ; void gestion_Message_CAN(void) ; void Envoi_msg_CAN(char donnee); +void initialisation_CAN(void) ; //Fin de jeu char end_game = 0; @@ -25,7 +26,9 @@ int main() { bus_CAN.attach(&interruption_reception) ; - + + initialisation_CAN() ; + while(1) { //bus_CAN(envoie); @@ -63,12 +66,124 @@ { case VENT_AT: num_groupe = commande_carte.data[0]; - classe_pompe.aspirer(num_groupe) ; + if(num_groupe<6) + { + if(num_groupe == 0) num_groupe = 3; + else if (num_groupe == 1) num_groupe = 2; + else if (num_groupe == 2) num_groupe = 1; + else if (num_groupe == 3) num_groupe = 5; + else if (num_groupe == 4) num_groupe = 6; + else if (num_groupe == 5) num_groupe = 7; + classe_pompe.aspirer(num_groupe); + } + else if(num_groupe>5) + { + switch(num_groupe) + { + case 10: + classe_pompe.aspirer(2); + classe_pompe.aspirer(3); + break; + + case 20: + classe_pompe.aspirer(1); + classe_pompe.aspirer(3); + break; + + case 21: + classe_pompe.aspirer(2); + classe_pompe.aspirer(1); + break; + + case 210: + classe_pompe.aspirer(3); + classe_pompe.aspirer(2); + classe_pompe.aspirer(1); + break; + + case 43: + classe_pompe.aspirer(5); + classe_pompe.aspirer(6); + break; + + case 53: + classe_pompe.aspirer(5); + classe_pompe.aspirer(7); + break; + + case 54: + classe_pompe.aspirer(7); + classe_pompe.aspirer(6); + break; + + case 66: + classe_pompe.aspirer(7); + classe_pompe.aspirer(6); + classe_pompe.aspirer(5); + break; + } + } break; case VENT_RE: num_groupe = commande_carte.data[0]; - classe_pompe.relacher(num_groupe) ; + if(num_groupe<6) + { + if(num_groupe == 0) num_groupe = 3; + else if (num_groupe == 1) num_groupe = 2; + else if (num_groupe == 2) num_groupe = 1; + else if (num_groupe == 3) num_groupe = 5; + else if (num_groupe == 4) num_groupe = 6; + else if (num_groupe == 5) num_groupe = 7; + classe_pompe.relacher(num_groupe); + } + else if(num_groupe>5) + { + switch(num_groupe) + { + case 10: + classe_pompe.relacher(2); + classe_pompe.relacher(3); + break; + + case 20: + classe_pompe.relacher(1); + classe_pompe.relacher(3); + break; + + case 21: + classe_pompe.relacher(2); + classe_pompe.relacher(1); + break; + + case 210: + classe_pompe.relacher(3); + classe_pompe.relacher(2); + classe_pompe.relacher(1); + break; + + case 43: + classe_pompe.relacher(5); + classe_pompe.relacher(6); + break; + + case 53: + classe_pompe.relacher(7); + classe_pompe.relacher(5); + break; + + case 54: + classe_pompe.relacher(7); + classe_pompe.relacher(6); + break; + + case 66: + classe_pompe.relacher(7); + classe_pompe.relacher(6); + classe_pompe.relacher(5); + break; + } + } break; case VENT_ETAT: @@ -127,4 +242,13 @@ etat_ventouses.data[0]=donnee; bus_CAN.write(etat_ventouses); +} + +void initialisation_CAN(void) +{ + CANMessage msg_init; + msg_init.id = ALIVE_ACTIONNEURS_ARRIERE; + msg_init.len=0; + + bus_CAN.write(msg_init); } \ No newline at end of file