carte esclave pompe 2020 V1

Dependencies:   mbed ident_crac

Revision:
23:7f62f27c028f
Parent:
22:f104afbecb98
Child:
24:3fb41d2b91af
--- a/main.cpp	Sun Mar 08 23:05:13 2020 +0000
+++ b/main.cpp	Mon Jul 13 11:31:08 2020 +0000
@@ -41,7 +41,8 @@
 /* FUNCTION NAME: canProcessRx                                                                           */
 /* DESCRIPTION  : Fonction de traitement des messages CAN                                                */
 /*********************************************************************************************************/
-void canProcessRx(void){
+void canProcessRx(void)
+{
     static signed char FIFO_occupation=0,FIFO_max_occupation=0;
     CANMessage msgTx=CANMessage();
     FIFO_occupation=FIFO_ecriture-FIFO_lecture;
@@ -51,41 +52,46 @@
         FIFO_max_occupation=FIFO_occupation;
     if(FIFO_occupation!=0) {
     int identifiant=msgRxBuffer[FIFO_lecture].id;
-    char BRAS = 0;
+    char BRAS_VENTOUSE = 0;
     
         switch(identifiant)
-        {   
-            //BRAS=data: donc savoir si data peut être envoyé
-            case VENTOUSE_ATTRAPER:
-                BRAS = msgRxBuffer[FIFO_lecture].data[0];
-                ventouse[BRAS]->action(1);
+        {  
+             
+            case VENT_AT:
+                BRAS_VENTOUSE = msgRxBuffer[FIFO_lecture].data[0];
+                ventouse[BRAS_VENTOUSE]->action(1);
                 break;
                 
-            case VENTOUSE_RELACHER:
-                BRAS = msgRxBuffer[FIFO_lecture].data[0];
-                ventouse[BRAS]->action(0);
+            case VENT_RE:
+                BRAS_VENTOUSE = msgRxBuffer[FIFO_lecture].data[0];
+                ventouse[BRAS_VENTOUSE]->action(0);
                 break;   
             
-            /*case HACHEUR_STATUT_VENTOUSES:
+            case VENT_ETAT:
                 get_etat_ventouses();
-                break;*/
+                break;
             
             case GLOBAL_GAME_END:
                 end_game = 1;
                 break;
                 
-            /*case HACHEUR_ETAT_CONTACTS:
-                char contacts_tmp = contacts;
-                can.write(CANMessage(HACHEUR_ETAT_CONTACTS,&contacts_tmp,1));
-                break;
-                
             case TEST_VENT_1_ON:
                 ventouse[AV_DROIT]->action(1);
+                ventouse[AV_CENTRE]->action(1);
+                ventouse[AV_GAUCHE]->action(1);
+                ventouse[AR_DROIT]->action(1);
+                ventouse[AR_CENTRE]->action(1);
+                ventouse[AR_GAUCHE]->action(1);
                 break;
             
             case TEST_VENT_1_OFF:
+                ventouse[AV_CENTRE]->action(0);
                 ventouse[AV_GAUCHE]->action(0);
-                break;*/
+                ventouse[AR_DROIT]->action(0);
+                ventouse[AR_CENTRE]->action(0);
+                ventouse[AR_GAUCHE]->action(0);
+                ventouse[AV_DROIT]->action(0);
+                break;
             default:
                 break;
                       
@@ -99,15 +105,16 @@
     can.attach(&canRx_ISR); // création de l'interrupt attachée à la réception sur le CAN
     wait_ms(100);
     
-    ventouse[AR_DROIT] = new Ventouse(PB_7, PB_6, PC_0, AV_DROIT);
+    ventouse[AR_DROIT] = new Ventouse(PB_7, PB_6, PC_0, AR_DROIT);
     ventouse[AR_CENTRE] = new Ventouse(PC_9, PA_8, PB_0, AR_CENTRE);
     ventouse[AR_GAUCHE] = new Ventouse(PA_9, PA_10,  PB_1, AR_GAUCHE);
     
-    ventouse[AV_DROIT] = new Ventouse(PA_0, PA_1, PA_4, AV_DROIT);
+    ventouse[AV_DROIT] = new Ventouse(PA_0, PA_1, PA_4, AV_DROIT); //PA_6, PA_5, PA_7,
+    ventouse[AV_CENTRE] = new Ventouse(PB_10, PB_2, PC_4, AV_CENTRE);
     ventouse[AV_GAUCHE] = new Ventouse(PC_7,PC_8 , PC_5, AV_GAUCHE);
-    ventouse[AV_CENTRE] = new Ventouse(PB_10, PB_2, PC_4, AR_CENTRE);
     
     pc.printf("Launched carte ventouse");
+    //on force les ventouses à être éteintes au début
     ventouse[AV_DROIT]->action(0);
     ventouse[AV_CENTRE]->action(0);
     ventouse[AV_GAUCHE]->action(0);
@@ -121,8 +128,7 @@
         {
             ventouse[i]->automate();
         }            
-        lecture_contacts();
-            
+        //lecture_contacts();
         if(end_game)
         {
             for(int i=0; i<NB_VENTOUSES;i++)
@@ -141,7 +147,6 @@
     if(contacts != prev_contacts)
     {
         prev_contacts = contacts;
-        //can.write(CANMessage(HACHEUR_ETAT_CONTACTS,&prev_contacts,1));
     }
 }
 
@@ -153,7 +158,8 @@
     etat_ventouses.type=CANData;
     etat_ventouses.data[0]=0;
     etat_ventouses.data[0]=1;
-    for(int i = (NB_VENTOUSES - 1); i >= 0; i--){
+    for(int i = (NB_VENTOUSES - 1); i >= 0; i--)
+    {
         etat_ventouses.data[0] = (etat_ventouses.data[0]<<1) + ventouse[i]->getPompe();
         etat_ventouses.data[1] = (etat_ventouses.data[1]<<1) + ventouse[i]->getPression();       
     }