![](/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
directive.cpp@27:ea60d12dccdf, 2015-05-14 (annotated)
- Committer:
- salco
- Date:
- Thu May 14 21:40:23 2015 +0000
- Revision:
- 27:ea60d12dccdf
- Parent:
- 23:7b296b6d8285
- Child:
- 28:ac5c6350ed9a
Toute fonctione reste plus qua integrer les donner au projet.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
salco | 2:4c5b0f6d0a6b | 1 | |
salco | 2:4c5b0f6d0a6b | 2 | #include "directive.h" |
salco | 2:4c5b0f6d0a6b | 3 | |
salco | 2:4c5b0f6d0a6b | 4 | Directive::Directive():TTask(0)//on veux que cette tache sois exec toute les fois que TTaskGen sexecute. |
salco | 2:4c5b0f6d0a6b | 5 | { |
salco | 3:e0d6e081a9d3 | 6 | c=0; |
salco | 27:ea60d12dccdf | 7 | ssc32 = new /*Serial*//*Raw*/Serial/*(USBTX, USBRX);*/(PB_6, PB_7);//(PA_9, PA_10); |
salco | 27:ea60d12dccdf | 8 | ctrDesPattes = new Faculter_motrice(ssc32/*pc*/); |
salco | 19:0ac80045ba4c | 9 | //m_CtrlBridge = m_CtrlBridge->getInstance(); |
salco | 19:0ac80045ba4c | 10 | //a enlever de commentaire//m_ListDesModules = m_CtrlBridge->findModule(0,1,0,0); |
salco | 27:ea60d12dccdf | 11 | |
salco | 27:ea60d12dccdf | 12 | //Serial pc(USBTX, USBRX); |
salco | 27:ea60d12dccdf | 13 | |
salco | 27:ea60d12dccdf | 14 | //ssc32->set_flow_control(0); |
salco | 27:ea60d12dccdf | 15 | debug("\n\r directive Init");//printf("Hello World\n"); |
salco | 27:ea60d12dccdf | 16 | m_ListDesModules = m_CtrlBridge->findModule(0,CAPTEUR,DISTANCE,0); |
salco | 27:ea60d12dccdf | 17 | m_ListDesModules.append(m_CtrlBridge->findModule(0,CAPTEUR,PROXIMITEE,0)); |
salco | 21:5c17b7836733 | 18 | |
salco | 27:ea60d12dccdf | 19 | m_capteurUltrasonic= m_CtrlBridge->findModule(0,CAPTEUR,ULTRASONIQUE,0x27/*0b100111*/); |
salco | 27:ea60d12dccdf | 20 | m_capteurIR= m_CtrlBridge->findModule(0,CAPTEUR,DISTANCE,0x27/*0b100111*/); |
salco | 27:ea60d12dccdf | 21 | m_capteurProximiter= m_CtrlBridge->findModule(0,CAPTEUR,PROXIMITEE,0x0E/*0b001110*/); |
salco | 2:4c5b0f6d0a6b | 22 | } |
salco | 2:4c5b0f6d0a6b | 23 | Directive::~Directive() |
salco | 2:4c5b0f6d0a6b | 24 | { |
salco | 11:496453b45e25 | 25 | |
salco | 3:e0d6e081a9d3 | 26 | if(ctrDesPattes) |
salco | 3:e0d6e081a9d3 | 27 | delete ctrDesPattes; |
salco | 19:0ac80045ba4c | 28 | if(ssc32) |
salco | 19:0ac80045ba4c | 29 | delete ssc32; |
salco | 2:4c5b0f6d0a6b | 30 | } |
salco | 3:e0d6e081a9d3 | 31 | void Directive::task(void)//ALL CODE HERE// |
salco | 2:4c5b0f6d0a6b | 32 | { |
salco | 19:0ac80045ba4c | 33 | debug(DEBUG_DIRECTIVE_TEST,"\n\rIn task directive"); |
salco | 19:0ac80045ba4c | 34 | //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment. |
salco | 27:ea60d12dccdf | 35 | string flag,data; |
salco | 19:0ac80045ba4c | 36 | |
salco | 27:ea60d12dccdf | 37 | //////////////// |
salco | 27:ea60d12dccdf | 38 | // Inspection // |
salco | 27:ea60d12dccdf | 39 | //////////////// |
salco | 27:ea60d12dccdf | 40 | flag.append(1,0);//0x02); |
salco | 27:ea60d12dccdf | 41 | for(int i=0; i<m_ListDesModules.length(); ++i) |
salco | 19:0ac80045ba4c | 42 | { |
salco | 27:ea60d12dccdf | 43 | wait_us(300); |
salco | 27:ea60d12dccdf | 44 | flag.clear(); |
salco | 27:ea60d12dccdf | 45 | flag.append(1,7); |
salco | 27:ea60d12dccdf | 46 | data.clear(); |
salco | 27:ea60d12dccdf | 47 | debug("\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data)); |
salco | 27:ea60d12dccdf | 48 | |
salco | 27:ea60d12dccdf | 49 | debug("\n\r flag: %d",flag[0]); |
salco | 27:ea60d12dccdf | 50 | debug("\n\r data: %x",data[0]); |
salco | 27:ea60d12dccdf | 51 | |
salco | 27:ea60d12dccdf | 52 | } |
salco | 27:ea60d12dccdf | 53 | ////////////////////////////// |
salco | 27:ea60d12dccdf | 54 | // Traitement du Labyrinthe // |
salco | 27:ea60d12dccdf | 55 | ////////////////////////////// |
salco | 27:ea60d12dccdf | 56 | |
salco | 27:ea60d12dccdf | 57 | /////////////// |
salco | 3:e0d6e081a9d3 | 58 | // Mouvement // |
salco | 3:e0d6e081a9d3 | 59 | /////////////// |
salco | 3:e0d6e081a9d3 | 60 | // ctrDesPattes.exec(); |
salco | 3:e0d6e081a9d3 | 61 | //////////////////// |
salco | 3:e0d6e081a9d3 | 62 | // Update memoire // |
salco | 3:e0d6e081a9d3 | 63 | //////////////////// |
salco | 3:e0d6e081a9d3 | 64 | |
salco | 3:e0d6e081a9d3 | 65 | //////////// |
salco | 3:e0d6e081a9d3 | 66 | // Autre? // |
salco | 3:e0d6e081a9d3 | 67 | //////////// |
salco | 27:ea60d12dccdf | 68 | debug(DEBUG_DIRECTIVE_TEST,"\n\rOut task directive"); |
salco | 2:4c5b0f6d0a6b | 69 | } |