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