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 Mar 12 00:40:43 2015 +0000
Revision:
2:4c5b0f6d0a6b
Parent:
source/motrice/mouvement.h@1:25ea21da4542
Child:
19:0ac80045ba4c
Ebauche qui compile reste a bien structurer. Jai fini leritage des tache reste la creation dans le main.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 0:e4151abdff23 1 /*
salco 0:e4151abdff23 2 * mouvement.h
salco 0:e4151abdff23 3 *
salco 0:e4151abdff23 4 * Created on: Mar 02, 2015
salco 0:e4151abdff23 5 * Author: salco
salco 0:e4151abdff23 6 */
salco 0:e4151abdff23 7
salco 0:e4151abdff23 8 /*
salco 0:e4151abdff23 9 * Theraphosa Salconi
salco 0:e4151abdff23 10 *
salco 0:e4151abdff23 11 * Jambes[coxa/fermur/tibia/tars]+numeroMoteur:
salco 0:e4151abdff23 12 *
salco 0:e4151abdff23 13 * Arr-D: [0,1,2,3]
salco 0:e4151abdff23 14 * Arr-G: [16,17,18,19]
salco 0:e4151abdff23 15 * Arr-Mil-D: [4,5,6,7]
salco 0:e4151abdff23 16 * Arr-Mil-G: [20,21,22,23]
salco 0:e4151abdff23 17 * Avv-Mil-D: [8,9,10,11]
salco 0:e4151abdff23 18 * Avv-Mil-G: [24,25,26,27]
salco 0:e4151abdff23 19 * Avv-D: [12,13,14,15]
salco 0:e4151abdff23 20 * Avv-G: [28,29,30,31]
salco 0:e4151abdff23 21 *
salco 0:e4151abdff23 22 */
salco 0:e4151abdff23 23 #ifndef MOUVEMENT_H_
salco 0:e4151abdff23 24 #define MOUVEMENT_H_
salco 0:e4151abdff23 25
salco 0:e4151abdff23 26 #define DELAITESTE 1000
salco 0:e4151abdff23 27 #define DEBUG
salco 0:e4151abdff23 28
salco 0:e4151abdff23 29 #include "mbed.h"
salco 0:e4151abdff23 30 //#include <string>
salco 0:e4151abdff23 31 //#include <stdio.h>
salco 0:e4151abdff23 32 #include "Patte.h"
salco 0:e4151abdff23 33 #include "homemadeSequence.h"
salco 0:e4151abdff23 34
salco 0:e4151abdff23 35
salco 0:e4151abdff23 36 class Faculter_motrice
salco 0:e4151abdff23 37 {
salco 0:e4151abdff23 38 Serial* m_com;
salco 0:e4151abdff23 39 homemadeSequence* m_seq;
salco 0:e4151abdff23 40
salco 0:e4151abdff23 41 Patte *m_arr_D;
salco 0:e4151abdff23 42 char m_SequenceID_arr_D;
salco 0:e4151abdff23 43 Patte *m_arr_mil_D;
salco 0:e4151abdff23 44 char m_SequenceID_arr_mil_D;
salco 0:e4151abdff23 45 Patte *m_arr_G;
salco 0:e4151abdff23 46 char m_SequenceID_arr_G;
salco 0:e4151abdff23 47 Patte *m_arr_mil_G;
salco 0:e4151abdff23 48 char m_SequenceID_arr_mil_G;
salco 0:e4151abdff23 49 Patte *m_avv_D;
salco 0:e4151abdff23 50 char m_SequenceID_avv_D;
salco 0:e4151abdff23 51 Patte *m_avv_mil_D;
salco 0:e4151abdff23 52 char m_SequenceID_avv_mil_D;
salco 0:e4151abdff23 53 Patte *m_avv_G;
salco 0:e4151abdff23 54 char m_SequenceID_avv_G;
salco 0:e4151abdff23 55 Patte *m_avv_mil_G;
salco 0:e4151abdff23 56 char m_SequenceID_avv_mil_G;
salco 0:e4151abdff23 57
salco 0:e4151abdff23 58 // Flag //
salco 0:e4151abdff23 59 bool m_ForceStop; // use when you want pause the motion
salco 0:e4151abdff23 60 bool m_CriticalStop; // use to turn off all legs
salco 0:e4151abdff23 61 bool m_SeqChange;
salco 0:e4151abdff23 62
salco 0:e4151abdff23 63 // //
salco 0:e4151abdff23 64 // char m_SequenceChosen;
salco 0:e4151abdff23 65 // A enlever au plus vite car sa prend beaucoup d'espace //
salco 0:e4151abdff23 66
salco 0:e4151abdff23 67
salco 0:e4151abdff23 68 public:
salco 0:e4151abdff23 69 #ifdef DEBUG
salco 0:e4151abdff23 70 char get_idSeq(void){return m_seq->get_Sequence();}
salco 0:e4151abdff23 71 #endif
salco 0:e4151abdff23 72 Faculter_motrice(Serial* com);
salco 0:e4151abdff23 73 virtual ~Faculter_motrice();
salco 0:e4151abdff23 74
salco 0:e4151abdff23 75 void exec(void);
salco 0:e4151abdff23 76 void stop(void) {
salco 0:e4151abdff23 77 m_ForceStop= true;
salco 0:e4151abdff23 78 }
salco 0:e4151abdff23 79 void resume(void) {
salco 0:e4151abdff23 80 m_ForceStop=false;
salco 0:e4151abdff23 81 m_CriticalStop=false;
salco 0:e4151abdff23 82 }
salco 0:e4151abdff23 83 void crit_stop(void);
salco 0:e4151abdff23 84
salco 0:e4151abdff23 85 void moveLeft (void) {
salco 0:e4151abdff23 86 m_seq->set_Sequence(9);
salco 0:e4151abdff23 87 }
salco 0:e4151abdff23 88 void moveRight(void){
salco 0:e4151abdff23 89 m_seq->set_Sequence(10);
salco 0:e4151abdff23 90 }
salco 0:e4151abdff23 91 void moveUp (void){
salco 0:e4151abdff23 92 m_seq->set_Sequence(2);
salco 0:e4151abdff23 93 }
salco 0:e4151abdff23 94 void moveDown (void){
salco 0:e4151abdff23 95 m_seq->set_Sequence(3);
salco 0:e4151abdff23 96 }
salco 0:e4151abdff23 97 void moveFront(void){
salco 0:e4151abdff23 98 m_seq->set_Sequence(6);
salco 0:e4151abdff23 99 }
salco 0:e4151abdff23 100 void moveBack (void){
salco 0:e4151abdff23 101 m_seq->set_Sequence(7);
salco 0:e4151abdff23 102 }
salco 0:e4151abdff23 103 void turnLeft (void){
salco 0:e4151abdff23 104 m_seq->set_Sequence(4);
salco 0:e4151abdff23 105 }
salco 0:e4151abdff23 106 void trunRight(void){
salco 0:e4151abdff23 107 m_seq->set_Sequence(5);
salco 0:e4151abdff23 108 }
salco 0:e4151abdff23 109 void calibre (void){
salco 0:e4151abdff23 110 m_seq->set_Sequence(1);
salco 0:e4151abdff23 111 }
salco 0:e4151abdff23 112 //void repositioner(char idLeg);
salco 0:e4151abdff23 113
salco 0:e4151abdff23 114
salco 0:e4151abdff23 115
salco 0:e4151abdff23 116 };
salco 2:4c5b0f6d0a6b 117 extern Faculter_motrice *ptrFaculterMotrice;
salco 0:e4151abdff23 118 #endif /* MOUVEMENT_H_ */