![](/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@28:ac5c6350ed9a, 2015-07-28 (annotated)
- 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?
User | Revision | Line number | New 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 | } |