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 Jan 31 13:15:42 2017 +0000
Revision:
41:0b5c14dda54a
Parent:
39:34d7802e8d15
Tentative de modifier les commit inutile sur debug.h

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 31:ed23647fd16e 8
salco 31:ed23647fd16e 9
salco 29:51308764fdd0 10 m_CtrlBridge->initCom();
salco 31:ed23647fd16e 11 /*#ifdef*/#ifndef DGB_FORCE_INIT
salco 31:ed23647fd16e 12 //m_CtrlBridge->initCom();
salco 31:ed23647fd16e 13 //#else
salco 28:ac5c6350ed9a 14 do{
salco 31:ed23647fd16e 15 //m_CtrlBridge->initCom();
salco 15:91b3c572d9df 16 m_ListDesModules = m_CtrlBridge->findModule(0,0,0,0); //get all modules
salco 29:51308764fdd0 17
salco 29:51308764fdd0 18 if(m_ListDesModules.size() != 11) //its a patch we need to delete it.
salco 29:51308764fdd0 19 {
salco 29:51308764fdd0 20 debug(DEBUG_INIT_TASKCRITT, "\n\r Init Fail");
salco 29:51308764fdd0 21 forceShutDown(false);
salco 39:34d7802e8d15 22 m_CtrlBridge->clearALL();
salco 29:51308764fdd0 23 wait(1);
salco 39:34d7802e8d15 24
salco 39:34d7802e8d15 25
salco 29:51308764fdd0 26 forceShutDown(true);
salco 39:34d7802e8d15 27 m_CtrlBridge->initCom();
salco 28:ac5c6350ed9a 28 }
salco 28:ac5c6350ed9a 29 }while(m_ListDesModules.size() != 11);
salco 29:51308764fdd0 30 #endif
salco 15:91b3c572d9df 31 tymy=true;
salco 28:ac5c6350ed9a 32 debug(DEBUG_INIT_TASKCRITT, "\n\r Init Reussi");
salco 3:e0d6e081a9d3 33 }
salco 3:e0d6e081a9d3 34
salco 7:dcfd81d7f93f 35 TTaskCritique::~TTaskCritique()
salco 3:e0d6e081a9d3 36 {
salco 15:91b3c572d9df 37
salco 15:91b3c572d9df 38 // return;
salco 3:e0d6e081a9d3 39 }
salco 15:91b3c572d9df 40
salco 15:91b3c572d9df 41 void TTaskCritique::forceShutDown(bool offON)
salco 15:91b3c572d9df 42 {
salco 28:ac5c6350ed9a 43 DigitalOut pinA(PB_8);
salco 28:ac5c6350ed9a 44 DigitalOut pinB(PB_9);
salco 15:91b3c572d9df 45
salco 15:91b3c572d9df 46 if(offON) {
salco 15:91b3c572d9df 47 pinA=1;
salco 28:ac5c6350ed9a 48 wait(1);
salco 15:91b3c572d9df 49 pinB=0;
salco 15:91b3c572d9df 50 } else {
salco 15:91b3c572d9df 51 pinA=0;
salco 28:ac5c6350ed9a 52 wait(1);
salco 15:91b3c572d9df 53 pinB=1;
salco 15:91b3c572d9df 54 }
salco 15:91b3c572d9df 55 }
salco 15:91b3c572d9df 56
salco 15:91b3c572d9df 57 void TTaskCritique::criticalTreatment(char adresse)
salco 15:91b3c572d9df 58 {
salco 31:ed23647fd16e 59 debug("jello");
salco 15:91b3c572d9df 60 //ici on debug et on traite le problemme//
salco 15:91b3c572d9df 61 forceShutDown(tymy);
salco 15:91b3c572d9df 62 tymy = !tymy;
salco 15:91b3c572d9df 63 }
salco 15:91b3c572d9df 64
salco 7:dcfd81d7f93f 65 void TTaskCritique::task(void)
salco 3:e0d6e081a9d3 66 {
salco 31:ed23647fd16e 67
salco 31:ed23647fd16e 68
salco 15:91b3c572d9df 69 //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
salco 15:91b3c572d9df 70 string flag,data;
salco 11:496453b45e25 71
salco 16:5ea4337d785f 72 flag.append(1,0);//0x02);
salco 15:91b3c572d9df 73 for(int i=0; i<m_ListDesModules.length(); ++i)
salco 15:91b3c572d9df 74 {
salco 27:ea60d12dccdf 75 wait_us(300);
salco 18:3f113f8441b2 76 flag.clear();
salco 27:ea60d12dccdf 77 flag.append(1,7);
salco 18:3f113f8441b2 78 data.clear();
salco 28:ac5c6350ed9a 79 debug(DEBUG_TASKCRITT,"\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
salco 15:91b3c572d9df 80 if(flag[0]== 0x02)
salco 18:3f113f8441b2 81 criticalTreatment(m_ListDesModules.at(i));
salco 15:91b3c572d9df 82 }
salco 15:91b3c572d9df 83
salco 3:e0d6e081a9d3 84 }