NXPCup_Cachan / Mbed 2 deprecated S4_bluetooth_V2_bibli

Dependencies:   mbed

Revision:
1:13af94a28e0d
Parent:
0:9e8a54e32f30
--- a/bluetoothV2bibli.cpp	Thu Feb 06 07:46:51 2020 +0000
+++ b/bluetoothV2bibli.cpp	Thu Feb 06 08:22:13 2020 +0000
@@ -6,9 +6,9 @@
 Serial blueth(p9, p10,115200); // tx,rx,baudrate
 
 
-static int blueRxBuffer[6];         // Buffer de réception de la liaison série bluetooth
-static int blueTxBuffer[6]={240,0,0,0,0,15};             // Buffer de transmission de la liaison série bluetooth
-static int RxBuffer[4][6];
+static int blueRxBuffer[6];         // Buffer de réception de la liaison serie bluetooth
+static int blueTxBuffer[6]={240,0,0,0,0,15};             // Buffer de transmission de la liaison serie bluetooth
+static int RxBuffer[4][6];                               // Copie de blueRxbuffer à l'issue de la reception des 4 trames
 static int paramRx[4][2];                                //0 KP   1 KI   2 KD   3 SPEED
 static short flagR=0;
 
@@ -27,26 +27,26 @@
 void transmitBlu(void)
 {
     static short i = 0;
-    if(blueth.writable())             //fonctionne si la liaison est libre
+    if(blueth.writable())                      //fonctionne si la liaison est libre
     {
-       blueth.putc(blueTxBuffer[i]);           //transmission de la trame de 6 octets
+       blueth.putc(blueTxBuffer[i]);           //transmission de la trame de 6 octets dans le buffer
        i++;
     }
     if(i>5)
     {
         i=0;
-        blueth.attach(NULL, Serial::TxIrq);
+        blueth.attach(NULL, Serial::TxIrq);    // on coupe la liaison (ISR de transmssion) tant que pas necessaire pour permettre la reception
     }
 }
 
-void formatTrameT(short reg, int val)
+void formatTrameT(short reg, int val)          // Creation de la trame au format Start Registre Donnees Donnees Donnees Stop
 {   
     blueTxBuffer[1]=reg;
-    blueTxBuffer[2]=((val&0xFF0000)>>16);         //Conversion sur trois octets independants
+    blueTxBuffer[2]=((val&0xFF0000)>>16);         //Conversion sur trois octets independants de la donnee
     blueTxBuffer[3]=((val&0x00FF00)>>8);
     blueTxBuffer[4]=((val&0x0000FF));
 
-    blueth.attach(&transmitBlu, Serial::TxIrq);
+    blueth.attach(&transmitBlu, Serial::TxIrq);  //Ouverture de la liaison (ISR de transmission)
 }
 
 
@@ -56,48 +56,48 @@
 {
     static short j = 0, compteur=0;
     
-    if(blueth.readable())
+    if(blueth.readable())                           //Si la liaison est libre 
     {
         blueRxBuffer[j]=blueth.getc();              //reception
-        blueth.putc(blueRxBuffer[j]);               //renvoie de la reception pour tester
-        j++;
+        j++;                                        //Permet d'ecrire les 6 octets dans blueRxBuffer    
         if(j>5)
         {
             j=0;
-            for(short i=0;i<6;i++)RxBuffer[compteur][i]=blueRxBuffer[i];
+            for(short i=0;i<6;i++)RxBuffer[compteur][i]=blueRxBuffer[i]; //Si une trame est reçue, on la copie dans RxBuffer
             compteur++;
-            if(compteur>4)
+            if(compteur>4)                          //Permet de savoir si les 4 donnees KP KI KD et SPEED ont été transmises                            
             {
                 compteur=0;
-                flagR=1;
+                flagR=1;                           //Permet la gestion de decomposition de trames
             }
         }
     }   
 }
 
-int get_val_pc(short reg)
+int get_val_pc(short reg)                          //Permet de connaitre la donnee associée à un registre
 {
     short indice;
-    if(flagR==1)
+    if(flagR==1)                                   // Decompose les trames si reception de 4 nouvelles trames
     {
-        decomp_trame();
+        decomp_trame();                     
         flagR=0;
     }
-    if(reg == 30)indice = 0;
+    if(reg == 30)indice = 0;                    
     if(reg == 45)indice = 1;
     if(reg == 60)indice = 2;
     if(reg == 75)indice = 3;
-    return paramRx[indice][1];
+    return paramRx[indice][1];                    //renvoie la valeur stocke pour un registre 
 }
 
 void decomp_trame(void)
 {
     for(short i=0;i<4;i++)
     {
-        if(RxBuffer[i][0]== 240 && RxBuffer[i][5]==15)
+        if(RxBuffer[i][0]== 240 && RxBuffer[i][5]==15) //verification des bits start et stop
         {
-            paramRx[i][0]= RxBuffer[i][1];
+            paramRx[i][0]= RxBuffer[i][1];             //ecriture du registre
             paramRx[i][1] = RxBuffer[i][2]*pow((double)2,(double)16)+RxBuffer[i][3]*pow((double)2,(double)8)+RxBuffer[i][4];
+            //recomposition de la donnee stockee sur 3 octets
         }
     }
 }
\ No newline at end of file