Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.

Dependencies:   debug mbed

CtrlBridge

  • fonction quelquonque pour communiquer avec les module
  • fonction quelquonque pour faire des recherche dans les module dispo
  • autre fonction pour jouer avec MemRegistre

Version 1.2.0

  • Ajout d'un mode de simulation pour tester le code avec seulement un contrôleur stm32
Revision:
28:ac5c6350ed9a
Parent:
27:ea60d12dccdf
Child:
29:51308764fdd0
diff -r ea60d12dccdf -r ac5c6350ed9a source/Task/TTaskCritique.cpp
--- a/source/Task/TTaskCritique.cpp	Thu May 14 21:40:23 2015 +0000
+++ b/source/Task/TTaskCritique.cpp	Tue Jul 28 01:22:16 2015 +0000
@@ -3,11 +3,22 @@
 
 TTaskCritique::TTaskCritique(int priority):TTask(priority)
 {
+    debug(DEBUG_INIT_TASKCRITT, "\n\r Debut init");
     //m_CtrlBridge = m_CtrlBridge->getInstance();
-
+    do{
     m_CtrlBridge->initCom();
     m_ListDesModules = m_CtrlBridge->findModule(0,0,0,0); //get all modules
+    if(m_ListDesModules.size() != 11)
+    {
+        debug(DEBUG_INIT_TASKCRITT, "\n\r Init Fail");
+        forceShutDown(false);
+        wait(1);
+        m_CtrlBridge->clearALL();
+        forceShutDown(true);
+        }
+    }while(m_ListDesModules.size() != 11);
     tymy=true;
+    debug(DEBUG_INIT_TASKCRITT, "\n\r Init Reussi");
 }
 
 TTaskCritique::~TTaskCritique()
@@ -18,14 +29,16 @@
 
 void TTaskCritique::forceShutDown(bool offON)
 {
-    DigitalOut pinA(PA_13);
-    DigitalOut pinB(PA_14);
+    DigitalOut pinA(PB_8);
+    DigitalOut pinB(PB_9);
 
     if(offON) {
         pinA=1;
+        wait(1);
         pinB=0;
     } else {
         pinA=0;
+        wait(1);
         pinB=1;
     }
 }
@@ -39,7 +52,7 @@
 
 void TTaskCritique::task(void)
 {
-    debug("\n\rPeanut");
+    //debug("\n\rPeanut");
     //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
     string flag,data;
 
@@ -50,7 +63,7 @@
      flag.clear();
      flag.append(1,7);  
      data.clear(); 
-    debug("\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
+    debug(DEBUG_TASKCRITT,"\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
     if(flag[0]== 0x02)
      criticalTreatment(m_ListDesModules.at(i));
     }