Projet S5 Lecture de l'accelerometre avec interruption

Dependencies:   mbed PowerControl

Fork of Projet_S5 by Jonathan Tousignant

Revision:
15:337d1c619d64
Parent:
14:67f44035ef61
--- a/main.cpp	Sun Apr 13 19:13:28 2014 +0000
+++ b/main.cpp	Mon Apr 28 13:45:19 2014 +0000
@@ -1,3 +1,11 @@
+/*!
+ *  \file main.cpp
+ *  \brief Main file and initialize interrupt function
+ *  \author Equipe P02
+ *  \version 1
+ *  \date 02/04/2014
+ */
+ 
 #include "accelerometer.h"
 #include "analyzer.h"
 #include "interrupt.h"
@@ -6,19 +14,18 @@
 #include "PowerControl/PowerControl.h"
 #include "PowerControl/EthernetPowerControl.h"
 
-
-DigitalOut led1(LED1);
-DigitalOut led2(LED2);
-DigitalOut led4(LED4);
-DigitalIn button(p30);
+DigitalOut led1(LED1);  // Debug led
+DigitalOut led2(LED2);  // Debug led
+DigitalOut led4(LED4);  // Debug led
+DigitalIn button(p30);  // Push button
 
-LocalFileSystem local("local");
+LocalFileSystem local("local"); // Open config file
 
-void *accelerometer = Accelerometer_C_new();
-void *analyzer = Analyzer_C_new();
+void *accelerometer = Accelerometer_C_new();    // Accelerometer object in C
+void *analyzer = Analyzer_C_new();              // Analyzer object in C
 
-bool rebound = true;
-bool appuyer = false;
+bool rebound = true;    // For rebound
+bool appuyer = false;   // For push bouton
 
 extern "C" void interruptCapture(void)
 {
@@ -66,21 +73,19 @@
         rebound = true;
         NVIC_DisableIRQ(TIMER1_IRQn); // Disable TIMER1 interrupt
         
-        Analyzer_C_checkMouvement(analyzer);
+        Analyzer_C_checkMouvement(analyzer);    // Find mouvement
     }
     
-    
-    LPC_TIM2->IR |= 0xFF;
+    LPC_TIM2->IR |= 0xFF;   // Reset interrupt
 }
 
 extern "C" void interruptMatch(void)
 {
     if(button)
     {
-        led4 = !led4;
-        signed char* values;
-    
-        values = Accelerometer_C_getAccelValue(accelerometer);
+        led4 = !led4;   // Debug led
+        
+        signed char* values = Accelerometer_C_getAccelValue(accelerometer); // Get value of accelerometer
         
         // Analyze data
         Analyzer_C_setMinMax(values, analyzer);
@@ -88,7 +93,7 @@
         delete values;
     }
     
-    LPC_TIM1->IR |= 0xFF; // Reset timer  
+    LPC_TIM1->IR |= 0xFF; // Reset interrupt
 }
 
 void initialize()
@@ -139,7 +144,6 @@
     
     PHY_PowerDown(); //power down ethernet interface 175mw
     
-    
     ifstream myfile(filename.c_str());
     
     if (myfile.is_open())
@@ -151,7 +155,7 @@
                 // Find hand
                 if (line.find("Hand") != string::npos)
                 {
-                    if (line.compare(5,6,"L") == 0)
+                    if (line.compare(5,6,"L") == 0) // If left hand
                         Analyzer_C_setHand(true, analyzer);
                     else
                         Analyzer_C_setHand(false, analyzer);
@@ -165,7 +169,7 @@
         
         while(true)
         {
-           Sleep();
+           Sleep(); // Sleep main thread
         }
     }