carte esclave Petit Robot
Dependencies: mbed Herkulex_Library_2019 actions_Gr ident_crac actions_Pr
Diff: main.cpp
- Revision:
- 23:93a427b242ce
- Parent:
- 22:9e92a2b941ba
- Child:
- 24:33c7ff467bd9
- Child:
- 27:d9c3af6b14f6
--- a/main.cpp Wed May 22 15:46:40 2019 +0000 +++ b/main.cpp Wed May 22 20:07:49 2019 +0000 @@ -69,27 +69,26 @@ canProcessRx(); f_mesure();//dt35 + automate_ventouse_presentoir_avant(); + automate_ventouse_goldenium_avant(); + automate_ventouse_relache_avant(); + automate_ventouse_accelerateur_avant(); #ifdef ROBOT_SMALL - automate_ventouse_presentoir_avant(); automate_ventouse_presentoir_arriere(); - automate_ventouse_goldenium_avant(); automate_ventouse_goldenium_arriere(); automate_ventouse_sol_avant(); automate_ventouse_sol_arriere(); - automate_ventouse_balance_avant(); automate_ventouse_balance_arriere(); - automate_ventouse_relache_avant(); automate_ventouse_relache_arriere(); automate_ventouse_sol_avant_relache(); automate_ventouse_sol_arriere_relache(); - automate_ventouse_accelerateur_avant(); automate_ventouse_accelerateur_arriere(); #endif @@ -167,6 +166,54 @@ can.write(msgTx); SendAck(ACKNOWLEDGE_TELEMETRE,RECEPTION_RECALAGE); break; + + case PRESENTOIR_AVANT: + fpresentoir_avant=1; + break; + + case BALANCE_AVANT: + fbalance_avant=1; + break; + + case ACCELERATEUR_AVANT: + faccelerateur_avant=1; + break; + + case GOLDENIUM_AVANT: + fgoldenium_avant=1; + break; + + case VENTOUSE_AV_CENTRE_BALANCE: + SendAck(ACKNOWLEDGE_HERKULEX, ACK_ACTION); + goldenium_avant(); + verification(); + SendAck(ACKNOWLEDGE_HERKULEX, ACK_FIN_ACTION); + break; + + case AVANT_RELACHE: + favant_relache=1; + break; + +//--------------------------------------------------------------------------ACK carte pompe---------------------------------------------- + + + case HACHEUR_STATUT_VENTOUSES: + status_pompe = msgRxBuffer[FIFO_lecture].data[1]; + //can.write(CANMessage(0x529, &status_pompe,1)); + break; + + case HACHEUR_GET_ATOM_ACK: + status_pompe |= (0x01 << msgRxBuffer[FIFO_lecture].data[0]); + //can.write(CANMessage(0x529, &status_pompe,1)); + break; + + case HACHEUR_RELEASE_ATOM_ACK : + status_pompe &= ~(0x01 << msgRxBuffer[FIFO_lecture].data[0]); + break; + +//------------------------------------------------------------------------------------------------------------------------------------------- + + #ifdef ROBOT_SMALL //-------------------------------------------------------------------------Actions petit robot---------------------------------------------- @@ -176,34 +223,18 @@ SendAck(ACKNOWLEDGE_HERKULEX, ACK_FIN_ACTION); break; - case PRESENTOIR_AVANT: - fpresentoir_avant=1; - break; - case PRESENTOIR_ARRIERE: fpresentoir_arriere=1; break; - case BALANCE_AVANT: - fbalance_avant=1; - break; - case BALANCE_ARRIERE: fbalance_arriere=1; break; - case ACCELERATEUR_AVANT: - faccelerateur_avant=1; - break; - case ACCELERATEUR_ARRIERE: faccelerateur_arriere=1; break; - case GOLDENIUM_AVANT: - fgoldenium_avant=1; - break; - case GOLDENIUM_ARRIERE: fgoldenium_arriere=1; break; @@ -223,9 +254,6 @@ case SOL_ARRIERE_RELACHE: fsol_arriere_relache=1; break; - case AVANT_RELACHE: - favant_relache=1; - break; case ARRIERE_RELACHE: farriere_relache=1; @@ -238,14 +266,6 @@ SendAck(ACKNOWLEDGE_HERKULEX, ACK_FIN_ACTION); break; - case VENTOUSE_AV_CENTRE_BALANCE: - SendAck(ACKNOWLEDGE_HERKULEX, ACK_ACTION); - goldenium_avant(); - positionControl(AV_poigne_D, 270,1,BLED_ON,1);//actionneur - verification(); - SendAck(ACKNOWLEDGE_HERKULEX, ACK_FIN_ACTION); - break; - case VENTOUSE_AR_CENTRE_BALANCE: SendAck(ACKNOWLEDGE_HERKULEX, ACK_ACTION); goldenium_arriere(); @@ -254,37 +274,14 @@ SendAck(ACKNOWLEDGE_HERKULEX, ACK_FIN_ACTION); break; -//--------------------------------------------------------------------------ACK carte pompe---------------------------------------------- - - - case HACHEUR_STATUT_VENTOUSES: - status_pompe = msgRxBuffer[FIFO_lecture].data[1]; - //can.write(CANMessage(0x529, &status_pompe,1)); - break; - - case HACHEUR_GET_ATOM_ACK: - status_pompe |= (0x01 << msgRxBuffer[FIFO_lecture].data[0]); - //can.write(CANMessage(0x529, &status_pompe,1)); - break; - - case HACHEUR_RELEASE_ATOM_ACK : - status_pompe &= ~(0x01 << msgRxBuffer[FIFO_lecture].data[0]); - break; - - -//------------------------------------------------------------------------------------------------------------------------------------------- - #endif + #ifdef ROBOT_BIG case ASCENSEUR: flag_ascenseur = msgRxBuffer[FIFO_lecture].data[0]; break; - case 5: - - break; - #endif } FIFO_lecture=(FIFO_lecture+1)%SIZE_FIFO;