app4

Dependencies:   mbed-rtos mbed CRC16

Fork of S5info_APP2 by Éric Bisson

Revision:
26:6ffbf3161f6f
Parent:
25:d0c348c3c85d
diff -r d0c348c3c85d -r 6ffbf3161f6f main.cpp
--- a/main.cpp	Tue Mar 07 17:25:16 2017 +0000
+++ b/main.cpp	Tue Mar 07 19:56:37 2017 +0000
@@ -25,6 +25,10 @@
 signed char bit_sent;       //position du bit de l'octet en cours d'envoi (du MSB au LSB) 7..0
 bool bTimer1 = false;
 
+bool bitSent[320];
+int length = 0;
+bool IsFinish = false;
+
 //encodage manchester
 bool codeManchester(bool bit, bool clock)
 {
@@ -34,7 +38,9 @@
 //Envoie de données bit par bit
 void send_data()
 {    
-    out = codeManchester(((trame_sent[byte_sent_pos] >> bit_sent) & 0x01), bTimer1);
+    bitSent[length] = codeManchester(((trame_sent[byte_sent_pos] >> bit_sent) & 0x01), bTimer1);
+    out = bitSent[length];
+    length++;
     if(bTimer1)
     {
         bit_sent--;
@@ -48,6 +54,7 @@
         {  
             byte_sent_pos = 0;
             bTimer1 = false;
+            IsFinish = true;
             LPC_TIM1->TCR = 0;  // disable Timer
         }
     }
@@ -61,15 +68,13 @@
     while (true)
     {
         ThreadLecture.signal_wait(1);
+        pc.printf("Message Recu :\n\r");
         for (int i = lastpos; i < messageLength; i++)
         {
             pc.printf("%x",messageBuffer[i]);
             
-            if ((i % 11) == 0 && i > 0)
-            {
-                pc.printf("\n");
-            }
         }
+        pc.printf("\n\rFin Message\n\r");
         lastpos = messageLength;
     }
 }
@@ -173,10 +178,15 @@
     trame_sent[3] = taille;     //Longueur du message (Max 33 caractères)
     
     //message
-    for (char i=0;i<taille;i++)
+    printf("\n\rMessage a envoyer :");
+    printf(message);
+    for (int i=0;i<taille;i++)
     {
         trame_sent[taille + 4] = message[i];
+        
     }
+    printf(" : Fin Message\n\r");
+    printf("Result CRC : %x", resultCRC);
         
     //CRC16
     trame_sent[taille + 4] = (resultCRC >> 8) & 0xFF;
@@ -184,6 +194,7 @@
     
     trame_sent[taille + 6] = END;    //End
     trame_length = taille + 7;        //Longueur de la trame
+    
 }
 
 //obtention du texte
@@ -191,6 +202,10 @@
 {
     while (true)
     {
+        
+        IsFinish = false;
+        length = 0;
+        
         char text[4] = {'a','l','l','o'};
         unsigned char count = 4;
         
@@ -242,5 +257,19 @@
     
     while(true) 
     {
+        if (IsFinish == true)
+        {
+            pc.printf("\n\rBits Envoyes : ");
+            for (int i=0;i<length;i++)
+            {
+                pc.printf("%d:",bitSent[i]);
+                if(i%16 == 15)
+                {
+                    pc.printf("\n\r");
+                }
+            }
+            pc.printf("Fin Bits Envoyes\n\r");
+            IsFinish = false;
+        }
     }
 };
\ No newline at end of file