Projet Drone de surveillance du labo TRSE (INGESUP)

Dependencies:   mbed PID ADXL345 Camera_LS_Y201 ITG3200 RangeFinder mbos xbee_lib Motor Servo

Revision:
34:4466839f5bb7
Parent:
33:f85d47baaeb4
Child:
35:95cb34636703
--- a/main.cpp	Sat Apr 27 11:29:23 2013 +0000
+++ b/main.cpp	Wed Mar 19 09:18:53 2014 +0000
@@ -21,25 +21,27 @@
 #include "mbed.h"                    
 #include "mbos.h"
 #include "Module_Communication.h"
+#include "Module_Mouvement.h"
 #include "os.h"
 
-void task1(void);                       // task function prototypes
-void task2(void);
+//void task1(void);                       // task function prototypes
+//void task2(void);
 
-DigitalOut led1(LED1);
+/*DigitalOut led1(LED1);
 DigitalOut led2(LED2);
-DigitalOut led3(LED3);
-mbos os(2, 2);                          // Instantiate mbos with 7 tasks & 7 timer    
+DigitalOut led3(LED3);*/
+mbos os(3, 2);                          // Instantiate mbos with 7 tasks & 7 timer    
 
 
 int main(void)
 {
-
+    
    //exemple d'utilisation du système d'exploitation :
    
    //   1 création des tâches
-   os.CreateTask(TASK_COM, TASK_COM_PRIO, TASK_COM_STACK_SZ, task1);
-   os.CreateTask(TASK_DETEC, TASK_DETEC_PRIO, TASK_DETEC_STACK_SZ, task2);
+   os.CreateTask(TASK_COM, TASK_COM_PRIO, TASK_COM_STACK_SZ, moduleCommunicationReception);
+   os.CreateTask(TASK_MOUV, TASK_MOUV_PRIO, TASK_MOUV_STACK_SZ, ModuleMouvement_Task);
+   os.CreateTask(TASK_ENVOI, TASK_ENVOI_PRIO, TASK_ENVOI_STACK_SZ, moduleCommunicationEnvoi);
    /*os.CreateTask(TASK_MOUV, TASK_MOUV_PRIO, TASK_MOUV_STACK_SZ, task1);
    os.CreateTask(TASK_TRAJ, TASK_TRAJ_PRIO, TASK_TRAJ_STACK_SZ, task2);
    os.CreateTask(TASK_BATT, TASK_BATT_PRIO, TASK_BATT_STACK_SZ, task1);
@@ -47,7 +49,7 @@
    os.CreateTask(TASK_ARRET_URGENT, TASK_ARRET_URGENT_PRIO, TASK_ARRET_URGENT_STACK_SZ, task1);*/
 
    os.CreateTimer(TIMER_COM_ID, TASK_COM, TIMER_EVENT);
-   os.CreateTimer(TIMER_DETEC_ID, TASK_DETEC, TIMER_EVENT);
+   os.CreateTimer(TIMER_MOUV_ID, TASK_MOUV, TIMER_EVENT);
    /*os.CreateTimer(TIMER_MOUV_ID, TIMER_MOUV_PERIOD, TIMER_MOUV_EVENT);
    os.CreateTimer(TIMER_BATT_ID, TIMER_BATT_PERIOD, TIMER_BATT_EVENT);
    os.CreateTimer(TIMER_VIDEO_ID, TIMER_VIDEO_PERIOD, TIMER_VIDEO_EVENT);
@@ -70,7 +72,7 @@
   *
   */
   
-void task1(void)
+/*void task1(void)
 {
     os.SetTimer(TIMER_COM_ID, TIMER_COM_PERIOD, TIMER_COM_PERIOD);
     while(1){
@@ -78,13 +80,13 @@
         led1 = !led1;
         os.SetEvent(COMMUNICATION_EVENT, TASK_DETEC);
     }
-}
+}*/
 
-void task2(void)
+/*void task2(void)
 {
     os.SetTimer(TIMER_DETEC_ID, TIMER_DETEC_PERIOD, TIMER_DETEC_PERIOD);
     while(1){
-        os.WaitEvent(TIMER_EVENT | COMMUNICATION_EVENT); //Attention : la methode WaitEvent réinitialise les évènements à 0
+        os.WaitEvent(TIMER_EVENT | COMMUNICATION_EVENT); //Attention : la methode WaitEvent réinitialise les évènements à 0*/
         /*switch(os.GetEvent()){ // Avec un switch on ne traite qu'un seul évènement reçu. Il y a risque de ne pas traiter tous les évènements reçus.
             case TIMER_EVENT:
                 led2 = !led2;
@@ -95,7 +97,7 @@
         }*/
         //Le Test de chaque flag d'évènement permet de tous les traiter. Au maximum, une tâche peut ainsi traiter 8 évènement, correspondant à chaque flag d'un octet
         
-        if(os.GetEvent() & TIMER_EVENT) led2 = !led2; 
+        /*if(os.GetEvent() & TIMER_EVENT) led2 = !led2; 
         if(os.GetEvent() & COMMUNICATION_EVENT) led3 = !led3;
    }
-}
+}*/