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
directive.cpp
- Committer:
- salco
- Date:
- 2015-04-27
- Revision:
- 19:0ac80045ba4c
- Parent:
- 11:496453b45e25
- Child:
- 21:5c17b7836733
File content as of revision 19:0ac80045ba4c:
#include "directive.h" Directive::Directive():TTask(0)//on veux que cette tache sois exec toute les fois que TTaskGen sexecute. { c=0; 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// //////////////// // Inspection // //////////////// 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 // ////////////////////////////// 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 // /////////////// // ctrDesPattes.exec(); //////////////////// // Update memoire // //////////////////// //////////// // Autre? // //////////// debug(DEBUG_DIRECTIVE_TEST,"\n\rOut task directive"); }