Alexandre Salconi-Denis
/
ProjetOctopode
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
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
Diff: directive.cpp
- 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