![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
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
source/Task/TTaskCritique.cpp
- Committer:
- salco
- Date:
- 2015-07-28
- Revision:
- 28:ac5c6350ed9a
- Parent:
- 27:ea60d12dccdf
- Child:
- 29:51308764fdd0
File content as of revision 28:ac5c6350ed9a:
#include "TTaskCritique.h" 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() { // return; } void TTaskCritique::forceShutDown(bool offON) { DigitalOut pinA(PB_8); DigitalOut pinB(PB_9); if(offON) { pinA=1; wait(1); pinB=0; } else { pinA=0; wait(1); pinB=1; } } void TTaskCritique::criticalTreatment(char adresse) { //ici on debug et on traite le problemme// forceShutDown(tymy); tymy = !tymy; } void TTaskCritique::task(void) { //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; flag.append(1,0);//0x02); for(int i=0; i<m_ListDesModules.length(); ++i) { wait_us(300); flag.clear(); flag.append(1,7); data.clear(); 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)); } }