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:
2:4c5b0f6d0a6b
Child:
20:c825e7b07af7
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 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 0:e4151abdff23 77
salco 0:e4151abdff23 78 void exec(void);
salco 0:e4151abdff23 79 void stop(void) {
salco 0:e4151abdff23 80 m_ForceStop= true;
salco 0:e4151abdff23 81 }
salco 0:e4151abdff23 82 void resume(void) {
salco 0:e4151abdff23 83 m_ForceStop=false;
salco 0:e4151abdff23 84 m_CriticalStop=false;
salco 0:e4151abdff23 85 }
salco 0:e4151abdff23 86 void crit_stop(void);
salco 0:e4151abdff23 87
salco 0:e4151abdff23 88 void moveLeft (void) {
salco 19:0ac80045ba4c 89 m_ForceStop=false;
salco 0:e4151abdff23 90 m_seq->set_Sequence(9);
salco 0:e4151abdff23 91 }
salco 0:e4151abdff23 92 void moveRight(void){
salco 19:0ac80045ba4c 93 m_ForceStop=false;
salco 0:e4151abdff23 94 m_seq->set_Sequence(10);
salco 0:e4151abdff23 95 }
salco 0:e4151abdff23 96 void moveUp (void){
salco 19:0ac80045ba4c 97 m_ForceStop=false;
salco 0:e4151abdff23 98 m_seq->set_Sequence(2);
salco 0:e4151abdff23 99 }
salco 0:e4151abdff23 100 void moveDown (void){
salco 19:0ac80045ba4c 101 m_ForceStop=false;
salco 0:e4151abdff23 102 m_seq->set_Sequence(3);
salco 0:e4151abdff23 103 }
salco 0:e4151abdff23 104 void moveFront(void){
salco 19:0ac80045ba4c 105 m_ForceStop=false;
salco 0:e4151abdff23 106 m_seq->set_Sequence(6);
salco 0:e4151abdff23 107 }
salco 0:e4151abdff23 108 void moveBack (void){
salco 19:0ac80045ba4c 109 m_ForceStop=false;
salco 0:e4151abdff23 110 m_seq->set_Sequence(7);
salco 0:e4151abdff23 111 }
salco 0:e4151abdff23 112 void turnLeft (void){
salco 19:0ac80045ba4c 113 m_ForceStop=false;
salco 0:e4151abdff23 114 m_seq->set_Sequence(4);
salco 0:e4151abdff23 115 }
salco 0:e4151abdff23 116 void trunRight(void){
salco 19:0ac80045ba4c 117 m_ForceStop=false;
salco 0:e4151abdff23 118 m_seq->set_Sequence(5);
salco 0:e4151abdff23 119 }
salco 0:e4151abdff23 120 void calibre (void){
salco 19:0ac80045ba4c 121 m_ForceStop=false;
salco 0:e4151abdff23 122 m_seq->set_Sequence(1);
salco 0:e4151abdff23 123 }
salco 0:e4151abdff23 124 //void repositioner(char idLeg);
salco 0:e4151abdff23 125
salco 0:e4151abdff23 126
salco 0:e4151abdff23 127
salco 0:e4151abdff23 128 };
salco 2:4c5b0f6d0a6b 129 extern Faculter_motrice *ptrFaculterMotrice;
salco 0:e4151abdff23 130 #endif /* MOUVEMENT_H_ */