Classes et code de la partie pompe du Robot 2021
Dependencies: mbed ident_crac
Diff: main.cpp
- Revision:
- 6:b06c430a7e14
- Parent:
- 4:4bae30d48662
- Child:
- 7:b7dc6201b520
diff -r 4bae30d48662 -r b06c430a7e14 main.cpp --- a/main.cpp Mon Jan 18 15:24:35 2021 +0000 +++ b/main.cpp Tue Jan 19 10:06:36 2021 +0000 @@ -4,10 +4,11 @@ //initialisations relatives au Bus CAN CAN bus_CAN(PB_8, PB_9, 1000000) ; CANMessage commande_carte ; +CANMessage envoie ; int flag_reception_CAN = 0 ; void interruption_reception(void) ; void gestion_Message_CAN(void) ; -void Envoi_msg_test(void); +void Envoi_msg_CAN(char donnee); //Fin de jeu char end_game = 0; @@ -24,37 +25,24 @@ int main() { bus_CAN.attach(&interruption_reception) ; - - - + while(1) { - bus_CAN(envoie); - //if(flag_reception_CAN) -// { -// gestion_Message_CAN() ; -// } -// -// if(end_game) -// { -// for (int i=0 ; i<8 ; i++) -// { -// classe_pompe.stop_pompe(i); -// wait_ms(10) ; -// } -// } - //for(int i=1 ; i<9 ; i++) -// { - classe_pompe.aspirer(2) ; - wait(1) ; - classe_pompe.relacher(2) ; - wait_ms(100) ; - //detrompeur_possession = classe_pompe.possession(2) ; - - //detrompeur_possession = classe_pompe.possession(2) ; - wait_ms(1000) ; -// } + //bus_CAN(envoie); + if(flag_reception_CAN) + { + gestion_Message_CAN() ; + } + if(end_game) + { + for (int i=0 ; i<8 ; i++) + { + classe_pompe.stop_pompe(i); + wait_ms(10) ; + } + } + //Envoi_msg_test(); //envoie un msg pour tester la liaison can } } @@ -69,6 +57,7 @@ { int identifiant = commande_carte.id ; char num_groupe = 1 ; + char etat_groupe = 0 ; switch (identifiant) { @@ -83,13 +72,25 @@ break; case VENT_ETAT: - classe_pompe.etat_actuel(num_groupe) ; + num_groupe = commande_carte.data[0]; + etat_groupe = classe_pompe.etat_actuel(num_groupe) ; + + if(etat_groupe == 0x07) + { + classe_pompe.aspirer(num_groupe) ; + etat_groupe = classe_pompe.etat_actuel(num_groupe) ; + } + + + Envoi_msg_CAN(etat_groupe); + break; case GLOBAL_GAME_END: end_game = 1; + break; - break; + /* case TEST_VENT_1_ON: @@ -111,18 +112,19 @@ break;*/ default: break; - } + } + flag_reception_CAN = 0 ; } -void Envoi_msg_test(void) +void Envoi_msg_CAN(char donnee) { - CANMessage etat_ventouses; - etat_ventouses.len=2; + CANMessage etat_ventouses; + etat_ventouses.id = 0x220; + etat_ventouses.len=1; etat_ventouses.format=CANStandard; etat_ventouses.type=CANData; - etat_ventouses.data[0]=0; - etat_ventouses.data[1]=1; - - can.write(etat_ventouses); + etat_ventouses.data[0]=donnee; + + bus_CAN.write(etat_ventouses); } \ No newline at end of file