Alexandre Salconi-Denis
/
ProjetOctopode
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@23:7b296b6d8285, 2015-05-08 (annotated)
- 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?
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 | 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 | } |