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:
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?

UserRevisionLine numberNew 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 }