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:
19:0ac80045ba4c
Parent:
11:496453b45e25
Child:
21:5c17b7836733
--- a/directive.cpp	Thu Apr 23 19:28:42 2015 +0000
+++ b/directive.cpp	Mon Apr 27 20:41:21 2015 +0000
@@ -4,39 +4,106 @@
 Directive::Directive():TTask(0)//on veux que cette tache sois exec toute les fois que TTaskGen sexecute.
 {
     c=0;
-
-   // ctrDesPattes = new Faculter_motrice(/*ssc32*/pc);
+    ssc32 = new Serial(PA_9, PA_10);
+    ctrDesPattes = new Faculter_motrice(ssc32/*pc*/);
+    //m_CtrlBridge = m_CtrlBridge->getInstance();
+    //a enlever de commentaire//m_ListDesModules = m_CtrlBridge->findModule(0,1,0,0);
 }
 Directive::~Directive()
 {
 
     if(ctrDesPattes)
         delete ctrDesPattes;
+    if(ssc32)
+        delete ssc32;
 }
 void Directive::task(void)//ALL CODE HERE//
 {
+    debug(DEBUG_DIRECTIVE_TEST,"\n\rIn task directive");
+    //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
+    string flag,data,savedData;
+    DigitalOut myled(LED1);
+    DigitalIn mybutton(USER_BUTTON);
 
-   wait(1);// a enlever plus tard pour gain de vitesse//
+    
+    //wait(1);// a enlever plus tard pour gain de vitesse//
     ////////////////
 // Inspection //
 ////////////////
 
-/*    if(pc->readable()) {
-        c=pc->getc();//pc.scanf ("%79s",str);
-        pc->printf("AK %c\n",c);//pc.printf("AK %s\n",str);// pc.printf("This program is %d .\n", i);
+    savedData.clear();
+
+   /* for(int i=0; i<m_ListDesModules.length(); ++i) {
+        flag.clear();
+        data.clear();
+        debug("\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
+        if(data[0]!= 0x00)
+            savedData.append(data);
     }*/
+    int buttonCount;
+    for(buttonCount =0; mybutton == 0; buttonCount++){
+        debug(DEBUG_DIRECTIVE_TEST,"\n\r %02i",buttonCount+1);
+        wait(1);
+        myled = 1;
+        wait_ms(500);
+        myled = 0;
+        }
+debug(DEBUG_DIRECTIVE_TEST,"\n\rResult : %02i",buttonCount);
 
 //////////////////////////////
 // Traitement du Labyrinthe //
 //////////////////////////////
-/*    if (c == 'g') {
-        ctrDesPattes->calibre();
-        c=0;
-    }
-    if(c == 'h') {
-        pc->printf(" ID seq: %i \n\r",ctrDesPattes->get_idSeq());
-        c=0;
+
+    switch(buttonCount){
+        case 2:
+            ctrDesPattes->calibre();
+            ctrDesPattes->exec();
+        break;
+        
+        case 6:
+            ctrDesPattes->stop();
+            ctrDesPattes->exec();
+            ctrDesPattes->resume();
+        break;
+        
+        case 3:
+            ctrDesPattes->moveUp();
+            ctrDesPattes->exec();
+        break;
+                
+        case 4:
+            ctrDesPattes->moveDown();
+            ctrDesPattes->exec();
+        break;  
+
+        case 5:
+            //ctrDesPattes->stop();
+            //ctrDesPattes->exec();
+            ctrDesPattes->resume();
+        break;
+        
+        case 1:
+            //ctrDesPattes->stop();
+            ctrDesPattes->exec();
+            //ctrDesPattes->resume();
+        break;
+                      
+        default:
+        break;
+        }
+        
+   /* if(savedData.size() != 0)
+    {
+          ctrDesPattes->exec();
     }*/
+    /*    if (c == 'g') {
+            ctrDesPattes->calibre();
+            c=0;
+        }
+        if(c == 'h') {
+            pc->printf(" ID seq: %i \n\r",ctrDesPattes->get_idSeq());
+            c=0;
+        }*/
 ///////////////
 // Mouvement //
 ///////////////
@@ -49,6 +116,6 @@
 // Autre? //
 ////////////
 
-
+debug(DEBUG_DIRECTIVE_TEST,"\n\rOut task directive");
 
 }
\ No newline at end of file