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:
Fri May 08 20:58:21 2015 +0000
Revision:
23:7b296b6d8285
Parent:
22:a2c875629f2d
Child:
27:ea60d12dccdf
foward and backward is add but not the fonction.

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 21:5c17b7836733 7 ssc32 = new /*Serial*/RawSerial(PA_9, PA_10);
salco 21:5c17b7836733 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 21:5c17b7836733 11
salco 21:5c17b7836733 12 // Serial pc(USBTX, USBRX);
salco 21:5c17b7836733 13
salco 21:5c17b7836733 14 //ssc32->set_flow_control(0);
salco 21:5c17b7836733 15 ssc32->putc('G');//printf("Hello World\n");
salco 2:4c5b0f6d0a6b 16 }
salco 2:4c5b0f6d0a6b 17 Directive::~Directive()
salco 2:4c5b0f6d0a6b 18 {
salco 11:496453b45e25 19
salco 3:e0d6e081a9d3 20 if(ctrDesPattes)
salco 3:e0d6e081a9d3 21 delete ctrDesPattes;
salco 19:0ac80045ba4c 22 if(ssc32)
salco 19:0ac80045ba4c 23 delete ssc32;
salco 2:4c5b0f6d0a6b 24 }
salco 3:e0d6e081a9d3 25 void Directive::task(void)//ALL CODE HERE//
salco 2:4c5b0f6d0a6b 26 {
salco 19:0ac80045ba4c 27 debug(DEBUG_DIRECTIVE_TEST,"\n\rIn task directive");
salco 19:0ac80045ba4c 28 //pas sur que c'Est tout ce qui doit etre ici mais je vois pas quoi d'autre pour le moment.
salco 19:0ac80045ba4c 29 string flag,data,savedData;
salco 19:0ac80045ba4c 30 DigitalOut myled(LED1);
salco 19:0ac80045ba4c 31 DigitalIn mybutton(USER_BUTTON);
salco 3:e0d6e081a9d3 32
salco 19:0ac80045ba4c 33
salco 19:0ac80045ba4c 34 //wait(1);// a enlever plus tard pour gain de vitesse//
salco 3:e0d6e081a9d3 35 ////////////////
salco 3:e0d6e081a9d3 36 // Inspection //
salco 3:e0d6e081a9d3 37 ////////////////
salco 3:e0d6e081a9d3 38
salco 19:0ac80045ba4c 39 savedData.clear();
salco 19:0ac80045ba4c 40
salco 19:0ac80045ba4c 41 /* for(int i=0; i<m_ListDesModules.length(); ++i) {
salco 19:0ac80045ba4c 42 flag.clear();
salco 19:0ac80045ba4c 43 data.clear();
salco 19:0ac80045ba4c 44 debug("\n\r result: %d",m_CtrlBridge->send(m_ListDesModules.at(i),flag,data));
salco 19:0ac80045ba4c 45 if(data[0]!= 0x00)
salco 19:0ac80045ba4c 46 savedData.append(data);
salco 11:496453b45e25 47 }*/
salco 19:0ac80045ba4c 48 int buttonCount;
salco 19:0ac80045ba4c 49 for(buttonCount =0; mybutton == 0; buttonCount++){
salco 19:0ac80045ba4c 50 debug(DEBUG_DIRECTIVE_TEST,"\n\r %02i",buttonCount+1);
salco 19:0ac80045ba4c 51 wait(1);
salco 19:0ac80045ba4c 52 myled = 1;
salco 19:0ac80045ba4c 53 wait_ms(500);
salco 19:0ac80045ba4c 54 myled = 0;
salco 19:0ac80045ba4c 55 }
salco 19:0ac80045ba4c 56 debug(DEBUG_DIRECTIVE_TEST,"\n\rResult : %02i",buttonCount);
salco 3:e0d6e081a9d3 57
salco 3:e0d6e081a9d3 58 //////////////////////////////
salco 3:e0d6e081a9d3 59 // Traitement du Labyrinthe //
salco 3:e0d6e081a9d3 60 //////////////////////////////
salco 19:0ac80045ba4c 61
salco 19:0ac80045ba4c 62 switch(buttonCount){
salco 19:0ac80045ba4c 63 case 2:
salco 22:a2c875629f2d 64 ctrDesPattes->calibre(1);
salco 23:7b296b6d8285 65 ctrDesPattes->calibre(2);
salco 19:0ac80045ba4c 66 ctrDesPattes->exec();
salco 19:0ac80045ba4c 67 break;
salco 19:0ac80045ba4c 68
salco 19:0ac80045ba4c 69 case 6:
salco 19:0ac80045ba4c 70 ctrDesPattes->stop();
salco 19:0ac80045ba4c 71 ctrDesPattes->exec();
salco 19:0ac80045ba4c 72 ctrDesPattes->resume();
salco 19:0ac80045ba4c 73 break;
salco 19:0ac80045ba4c 74
salco 19:0ac80045ba4c 75 case 3:
salco 19:0ac80045ba4c 76 ctrDesPattes->moveUp();
salco 19:0ac80045ba4c 77 ctrDesPattes->exec();
salco 19:0ac80045ba4c 78 break;
salco 19:0ac80045ba4c 79
salco 19:0ac80045ba4c 80 case 4:
salco 19:0ac80045ba4c 81 ctrDesPattes->moveDown();
salco 19:0ac80045ba4c 82 ctrDesPattes->exec();
salco 19:0ac80045ba4c 83 break;
salco 19:0ac80045ba4c 84
salco 19:0ac80045ba4c 85 case 5:
salco 19:0ac80045ba4c 86 //ctrDesPattes->stop();
salco 19:0ac80045ba4c 87 //ctrDesPattes->exec();
salco 19:0ac80045ba4c 88 ctrDesPattes->resume();
salco 19:0ac80045ba4c 89 break;
salco 19:0ac80045ba4c 90
salco 19:0ac80045ba4c 91 case 1:
salco 19:0ac80045ba4c 92 //ctrDesPattes->stop();
salco 19:0ac80045ba4c 93 ctrDesPattes->exec();
salco 19:0ac80045ba4c 94 //ctrDesPattes->resume();
salco 19:0ac80045ba4c 95 break;
salco 21:5c17b7836733 96
salco 21:5c17b7836733 97 case 7:
salco 21:5c17b7836733 98 ctrDesPattes->moveLeft();
salco 21:5c17b7836733 99 ctrDesPattes->exec();
salco 19:0ac80045ba4c 100 default:
salco 19:0ac80045ba4c 101 break;
salco 19:0ac80045ba4c 102 }
salco 19:0ac80045ba4c 103
salco 19:0ac80045ba4c 104 /* if(savedData.size() != 0)
salco 19:0ac80045ba4c 105 {
salco 19:0ac80045ba4c 106 ctrDesPattes->exec();
salco 11:496453b45e25 107 }*/
salco 19:0ac80045ba4c 108 /* if (c == 'g') {
salco 19:0ac80045ba4c 109 ctrDesPattes->calibre();
salco 19:0ac80045ba4c 110 c=0;
salco 19:0ac80045ba4c 111 }
salco 19:0ac80045ba4c 112 if(c == 'h') {
salco 19:0ac80045ba4c 113 pc->printf(" ID seq: %i \n\r",ctrDesPattes->get_idSeq());
salco 19:0ac80045ba4c 114 c=0;
salco 19:0ac80045ba4c 115 }*/
salco 3:e0d6e081a9d3 116 ///////////////
salco 3:e0d6e081a9d3 117 // Mouvement //
salco 3:e0d6e081a9d3 118 ///////////////
salco 3:e0d6e081a9d3 119 // ctrDesPattes.exec();
salco 3:e0d6e081a9d3 120 ////////////////////
salco 3:e0d6e081a9d3 121 // Update memoire //
salco 3:e0d6e081a9d3 122 ////////////////////
salco 3:e0d6e081a9d3 123
salco 3:e0d6e081a9d3 124 ////////////
salco 3:e0d6e081a9d3 125 // Autre? //
salco 3:e0d6e081a9d3 126 ////////////
salco 3:e0d6e081a9d3 127
salco 19:0ac80045ba4c 128 debug(DEBUG_DIRECTIVE_TEST,"\n\rOut task directive");
salco 3:e0d6e081a9d3 129
salco 2:4c5b0f6d0a6b 130 }