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:
Tue Apr 28 01:57:07 2015 +0000
Revision:
20:c825e7b07af7
Parent:
19:0ac80045ba4c
Child:
22:a2c875629f2d
walkingcrab is add but we need to compleet the fonction;

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 19:0ac80045ba4c 27 #define DEBUG_MOUVEMENT 1
salco 19:0ac80045ba4c 28 #define DEBUG_EXEC 1
salco 19:0ac80045ba4c 29 #define DEBUG_SENDSEQ 1
salco 0:e4151abdff23 30
salco 0:e4151abdff23 31 #include "mbed.h"
salco 0:e4151abdff23 32 //#include <string>
salco 19:0ac80045ba4c 33 #include "debug.h"
salco 0:e4151abdff23 34 //#include <stdio.h>
salco 0:e4151abdff23 35 #include "Patte.h"
salco 0:e4151abdff23 36 #include "homemadeSequence.h"
salco 0:e4151abdff23 37
salco 0:e4151abdff23 38
salco 0:e4151abdff23 39 class Faculter_motrice
salco 0:e4151abdff23 40 {
salco 0:e4151abdff23 41 Serial* m_com;
salco 0:e4151abdff23 42 homemadeSequence* m_seq;
salco 0:e4151abdff23 43
salco 0:e4151abdff23 44 Patte *m_arr_D;
salco 0:e4151abdff23 45 char m_SequenceID_arr_D;
salco 0:e4151abdff23 46 Patte *m_arr_mil_D;
salco 0:e4151abdff23 47 char m_SequenceID_arr_mil_D;
salco 0:e4151abdff23 48 Patte *m_arr_G;
salco 0:e4151abdff23 49 char m_SequenceID_arr_G;
salco 0:e4151abdff23 50 Patte *m_arr_mil_G;
salco 0:e4151abdff23 51 char m_SequenceID_arr_mil_G;
salco 0:e4151abdff23 52 Patte *m_avv_D;
salco 0:e4151abdff23 53 char m_SequenceID_avv_D;
salco 0:e4151abdff23 54 Patte *m_avv_mil_D;
salco 0:e4151abdff23 55 char m_SequenceID_avv_mil_D;
salco 0:e4151abdff23 56 Patte *m_avv_G;
salco 0:e4151abdff23 57 char m_SequenceID_avv_G;
salco 0:e4151abdff23 58 Patte *m_avv_mil_G;
salco 0:e4151abdff23 59 char m_SequenceID_avv_mil_G;
salco 0:e4151abdff23 60
salco 0:e4151abdff23 61 // Flag //
salco 0:e4151abdff23 62 bool m_ForceStop; // use when you want pause the motion
salco 0:e4151abdff23 63 bool m_CriticalStop; // use to turn off all legs
salco 0:e4151abdff23 64 bool m_SeqChange;
salco 0:e4151abdff23 65
salco 0:e4151abdff23 66 // //
salco 0:e4151abdff23 67 // char m_SequenceChosen;
salco 0:e4151abdff23 68 // A enlever au plus vite car sa prend beaucoup d'espace //
salco 0:e4151abdff23 69
salco 19:0ac80045ba4c 70 void sendSequence(void);
salco 0:e4151abdff23 71 public:
salco 0:e4151abdff23 72 #ifdef DEBUG
salco 0:e4151abdff23 73 char get_idSeq(void){return m_seq->get_Sequence();}
salco 0:e4151abdff23 74 #endif
salco 0:e4151abdff23 75 Faculter_motrice(Serial* com);
salco 0:e4151abdff23 76 virtual ~Faculter_motrice();
salco 20:c825e7b07af7 77
salco 20:c825e7b07af7 78
salco 0:e4151abdff23 79 void exec(void);
salco 0:e4151abdff23 80 void stop(void) {
salco 0:e4151abdff23 81 m_ForceStop= true;
salco 0:e4151abdff23 82 }
salco 0:e4151abdff23 83 void resume(void) {
salco 0:e4151abdff23 84 m_ForceStop=false;
salco 0:e4151abdff23 85 m_CriticalStop=false;
salco 0:e4151abdff23 86 }
salco 0:e4151abdff23 87 void crit_stop(void);
salco 0:e4151abdff23 88
salco 0:e4151abdff23 89 void moveLeft (void) {
salco 19:0ac80045ba4c 90 m_ForceStop=false;
salco 0:e4151abdff23 91 m_seq->set_Sequence(9);
salco 0:e4151abdff23 92 }
salco 0:e4151abdff23 93 void moveRight(void){
salco 19:0ac80045ba4c 94 m_ForceStop=false;
salco 0:e4151abdff23 95 m_seq->set_Sequence(10);
salco 0:e4151abdff23 96 }
salco 0:e4151abdff23 97 void moveUp (void){
salco 19:0ac80045ba4c 98 m_ForceStop=false;
salco 0:e4151abdff23 99 m_seq->set_Sequence(2);
salco 0:e4151abdff23 100 }
salco 0:e4151abdff23 101 void moveDown (void){
salco 19:0ac80045ba4c 102 m_ForceStop=false;
salco 0:e4151abdff23 103 m_seq->set_Sequence(3);
salco 0:e4151abdff23 104 }
salco 0:e4151abdff23 105 void moveFront(void){
salco 19:0ac80045ba4c 106 m_ForceStop=false;
salco 0:e4151abdff23 107 m_seq->set_Sequence(6);
salco 0:e4151abdff23 108 }
salco 0:e4151abdff23 109 void moveBack (void){
salco 19:0ac80045ba4c 110 m_ForceStop=false;
salco 0:e4151abdff23 111 m_seq->set_Sequence(7);
salco 0:e4151abdff23 112 }
salco 0:e4151abdff23 113 void turnLeft (void){
salco 19:0ac80045ba4c 114 m_ForceStop=false;
salco 0:e4151abdff23 115 m_seq->set_Sequence(4);
salco 0:e4151abdff23 116 }
salco 0:e4151abdff23 117 void trunRight(void){
salco 19:0ac80045ba4c 118 m_ForceStop=false;
salco 0:e4151abdff23 119 m_seq->set_Sequence(5);
salco 0:e4151abdff23 120 }
salco 0:e4151abdff23 121 void calibre (void){
salco 19:0ac80045ba4c 122 m_ForceStop=false;
salco 0:e4151abdff23 123 m_seq->set_Sequence(1);
salco 0:e4151abdff23 124 }
salco 0:e4151abdff23 125 //void repositioner(char idLeg);
salco 0:e4151abdff23 126
salco 0:e4151abdff23 127
salco 0:e4151abdff23 128
salco 0:e4151abdff23 129 };
salco 2:4c5b0f6d0a6b 130 extern Faculter_motrice *ptrFaculterMotrice;
salco 0:e4151abdff23 131 #endif /* MOUVEMENT_H_ */