Problematique

Dependencies:   mbed mbed-rtos

Revision:
4:2af360b178d2
Parent:
3:65845faafbb1
--- a/main.cpp	Tue Feb 11 21:58:34 2014 +0000
+++ b/main.cpp	Wed Feb 12 21:50:47 2014 +0000
@@ -9,16 +9,13 @@
 DigitalOut led3(LED3);
 DigitalOut led4(LED4);
 
+DigitalOut out(p26);
+
 const int tickPerPeriod = 960000;
 
 struct message_t
 {
     char msg[696];
-    
-    /*message_t (char bla[696])
-    {
-        strcpy(msg, bla);
-    }*/
 };
 
 Queue<string, 16> textToSend;
@@ -39,7 +36,7 @@
 
 char messages[696] = {0};
 message_t msgs;
-const unsigned long offset = 5000;
+const unsigned long offset = 200;
 
 void getText(void const *args)
 {
@@ -103,6 +100,7 @@
 {
     for (int a = 0; a < 8; a++)
     {
+        out = !out;
         if (bitst.test(a))
         {
             LPC_PWM1->MR1 = tickPerPeriod/2;
@@ -116,6 +114,8 @@
         
         while(LPC_PWM1->IR != 0x01);
         LPC_PWM1->IR = 0xFF;
+        
+        out = !out;
     }
 }
 
@@ -292,8 +292,6 @@
             strcpy(msgs.msg, messages);
             fill(messages, messages+696, 0);
             messagesQueue.put(&msgs);
-            LPC_TIM2->TCR |= (1 << 1);  // Reset Timer Control Register
-            LPC_TIM2->TCR = 0x01;
             led3 = 1;
         }
     }
@@ -348,7 +346,6 @@
 
     //Initialize Timer2 for capture
     NVIC_SetVector(TIMER2_IRQn, (uint32_t)&readTrame);
-    NVIC_SetPriority(TIMER2_IRQn, 255);
     NVIC_EnableIRQ(TIMER2_IRQn);
 
     LPC_TIM2->TC = 0;           // Initialize Time Counter
@@ -373,20 +370,38 @@
 
 int main()
 {
+    out = 0; // Pour analyse de performance
+    
     initialize();
     
+    // Permet de concevoir le message a envoyer
+    // Ajoute le message dans le queue du trameur
     Thread thread1(getText);
-    //thread1.set_priority(osPriorityAboveNormal);
+    
+    // Vide la queue du trameur
+    // Creer un message a binaire
+    // Ajoute se message dans le mail box du sender
     Thread thread2(leTrameur);
     thread2.set_priority(osPriorityAboveNormal);
+    
+    // Vide la mailbox du sender
+    // Creer le signal du modulateur a l'aide du LPC_PM1
     Thread thread3(sender);
     thread3.set_priority(osPriorityHigh);
     
+    // Creer un message en binaire et check pour le CRC16
+    // Ajoute ce message dans la mailbox du decoder
     Thread thread(pushTrame);
     thread.set_priority(osPriorityRealtime);
     
+    // Vide la mailbox du decoder
+    // Creer un message en lettre
+    // Ajoute ce message dans la queue du printer
     Thread thread4(decoder);
     thread4.set_priority(osPriorityHigh);
+    
+    // Vide la queue du printer
+    // Affiche le message a l'ecran
     Thread thread5(printer);
     thread5.set_priority(osPriorityAboveNormal);