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:
Mon Apr 27 20:41:21 2015 +0000
Revision:
19:0ac80045ba4c
Parent:
11:496453b45e25
Child:
21:5c17b7836733
modification de homemade s?quence pour simplifier le codage et la modification future des s?quence si besoin est.

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