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
Committer:
salco
Date:
Tue Jul 28 01:22:16 2015 +0000
Revision:
28:ac5c6350ed9a
Parent:
27:ea60d12dccdf
Child:
29:51308764fdd0
tsest

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 3:e0d6e081a9d3 1
salco 7:dcfd81d7f93f 2 #include "TTaskCritique.h"
salco 3:e0d6e081a9d3 3
salco 7:dcfd81d7f93f 4 TTaskCritique::TTaskCritique(int priority):TTask(priority)
salco 3:e0d6e081a9d3 5 {
salco 28:ac5c6350ed9a 6 debug(DEBUG_INIT_TASKCRITT, "\n\r Debut init");
salco 19:0ac80045ba4c 7 //m_CtrlBridge = m_CtrlBridge->getInstance();
salco 28:ac5c6350ed9a 8 do{
salco 15:91b3c572d9df 9 m_CtrlBridge->initCom();
salco 15:91b3c572d9df 10 m_ListDesModules = m_CtrlBridge->findModule(0,0,0,0); //get all modules
salco 28:ac5c6350ed9a 11 if(m_ListDesModules.size() != 11)
salco 28:ac5c6350ed9a 12 {
salco 28:ac5c6350ed9a 13 debug(DEBUG_INIT_TASKCRITT, "\n\r Init Fail");
salco 28:ac5c6350ed9a 14 forceShutDown(false);
salco 28:ac5c6350ed9a 15 wait(1);
salco 28:ac5c6350ed9a 16 m_CtrlBridge->clearALL();
salco 28:ac5c6350ed9a 17 forceShutDown(true);
salco 28:ac5c6350ed9a 18 }
salco 28:ac5c6350ed9a 19 }while(m_ListDesModules.size() != 11);
salco 15:91b3c572d9df 20 tymy=true;
salco 28:ac5c6350ed9a 21 debug(DEBUG_INIT_TASKCRITT, "\n\r Init Reussi");
salco 3:e0d6e081a9d3 22 }
salco 3:e0d6e081a9d3 23
salco 7:dcfd81d7f93f 24 TTaskCritique::~TTaskCritique()
salco 3:e0d6e081a9d3 25 {
salco 15:91b3c572d9df 26
salco 15:91b3c572d9df 27 // return;
salco 3:e0d6e081a9d3 28 }
salco 15:91b3c572d9df 29
salco 15:91b3c572d9df 30 void TTaskCritique::forceShutDown(bool offON)
salco 15:91b3c572d9df 31 {
salco 28:ac5c6350ed9a 32 DigitalOut pinA(PB_8);
salco 28:ac5c6350ed9a 33 DigitalOut pinB(PB_9);
salco 15:91b3c572d9df 34
salco 15:91b3c572d9df 35 if(offON) {
salco 15:91b3c572d9df 36 pinA=1;
salco 28:ac5c6350ed9a 37 wait(1);
salco 15:91b3c572d9df 38 pinB=0;
salco 15:91b3c572d9df 39 } else {
salco 15:91b3c572d9df 40 pinA=0;
salco 28:ac5c6350ed9a 41 wait(1);
salco 15:91b3c572d9df 42 pinB=1;
salco 15:91b3c572d9df 43 }
salco 15:91b3c572d9df 44 }
salco 15:91b3c572d9df 45
salco 15:91b3c572d9df 46 void TTaskCritique::criticalTreatment(char adresse)
salco 15:91b3c572d9df 47 {
salco 15:91b3c572d9df 48 //ici on debug et on traite le problemme//
salco 15:91b3c572d9df 49 forceShutDown(tymy);
salco 15:91b3c572d9df 50 tymy = !tymy;
salco 15:91b3c572d9df 51 }
salco 15:91b3c572d9df 52
salco 7:dcfd81d7f93f 53 void TTaskCritique::task(void)
salco 3:e0d6e081a9d3 54 {
salco 28:ac5c6350ed9a 55 //debug("\n\rPeanut");
salco 15:91b3c572d9df 56 //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
salco 15:91b3c572d9df 57 string flag,data;
salco 11:496453b45e25 58
salco 16:5ea4337d785f 59 flag.append(1,0);//0x02);
salco 15:91b3c572d9df 60 for(int i=0; i<m_ListDesModules.length(); ++i)
salco 15:91b3c572d9df 61 {
salco 27:ea60d12dccdf 62 wait_us(300);
salco 18:3f113f8441b2 63 flag.clear();
salco 27:ea60d12dccdf 64 flag.append(1,7);
salco 18:3f113f8441b2 65 data.clear();
salco 28:ac5c6350ed9a 66 debug(DEBUG_TASKCRITT,"\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
salco 15:91b3c572d9df 67 if(flag[0]== 0x02)
salco 18:3f113f8441b2 68 criticalTreatment(m_ListDesModules.at(i));
salco 15:91b3c572d9df 69 }
salco 15:91b3c572d9df 70
salco 3:e0d6e081a9d3 71 }