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 Jan 31 13:15:42 2017 +0000
Revision:
41:0b5c14dda54a
Parent:
39:34d7802e8d15
Tentative de modifier les commit inutile sur debug.h

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 36:474d4795aafa 1 /**
salco 0:e4151abdff23 2 * homemadeSequence.h
salco 0:e4151abdff23 3 *
salco 0:e4151abdff23 4 * Created on: Mar 03, 2015
salco 0:e4151abdff23 5 * Author: salco
salco 0:e4151abdff23 6 */
salco 0:e4151abdff23 7
salco 0:e4151abdff23 8 #ifndef HOMEMADESEQUENCE_H_
salco 0:e4151abdff23 9 #define HOMEMADESEQUENCE_H_
salco 19:0ac80045ba4c 10
salco 39:34d7802e8d15 11
salco 39:34d7802e8d15 12
salco 19:0ac80045ba4c 13
salco 19:0ac80045ba4c 14 #include "debug.h"
salco 21:5c17b7836733 15 #include "mbed.h"
salco 39:34d7802e8d15 16 #include "settingDebug.h"
salco 19:0ac80045ba4c 17
salco 0:e4151abdff23 18 class homemadeSequence
salco 0:e4151abdff23 19 {
salco 0:e4151abdff23 20 //////////////////////////////
salco 0:e4151abdff23 21 // 00 - Nothing //
salco 22:a2c875629f2d 22 //X01 - Calibration(milieu) //
salco 22:a2c875629f2d 23 //X02 - Debout //
salco 22:a2c875629f2d 24 //X03 - Coucher //
salco 22:a2c875629f2d 25 //X04 - Tourne Gauche //
salco 22:a2c875629f2d 26 //X05 - Tourne Droite //
salco 0:e4151abdff23 27 // 06 - Marche //
salco 0:e4151abdff23 28 // 07 - Recule //
salco 27:ea60d12dccdf 29 // 08 - Repositioner legs //
salco 27:ea60d12dccdf 30 // 09 - Crabe Gauche // Dont use Crabe because it's really anoying
salco 27:ea60d12dccdf 31 // 10 - Crabe Droite // Dont use Crabe because it's really anoying
salco 27:ea60d12dccdf 32 // 11 - Position naturel //
salco 0:e4151abdff23 33 //////////////////////////////
salco 0:e4151abdff23 34 char m_SequenceChosen;
salco 0:e4151abdff23 35 char m_idFrame;
salco 21:5c17b7836733 36
salco 27:ea60d12dccdf 37 //Timer delaisNextSeq;//move to movement.h
salco 21:5c17b7836733 38 int delaisNeed;
salco 0:e4151abdff23 39 unsigned char m_posLeg[4];
salco 22:a2c875629f2d 40 unsigned char timeSequence[8];
salco 22:a2c875629f2d 41 char m_idLegUse; // pour seqRepositioner
salco 0:e4151abdff23 42
salco 28:ac5c6350ed9a 43 /*
salco 28:ac5c6350ed9a 44 * Fonction contenant les sequences pour faire monter et decendre le robot
salco 28:ac5c6350ed9a 45 */
salco 0:e4151abdff23 46 void seqUpDown(bool downUP,char idOperation,char idLeg);
salco 28:ac5c6350ed9a 47 /*
salco 28:ac5c6350ed9a 48 * Fonction contenant les sequences pour faire tourner le robot
salco 28:ac5c6350ed9a 49 */
salco 0:e4151abdff23 50 void seqTurn(bool leftRIGHT,char idOperation,char idLeg);
salco 28:ac5c6350ed9a 51 /*
salco 28:ac5c6350ed9a 52 * Fonction contenant les sequences pour faire marcher et reculer le robot
salco 28:ac5c6350ed9a 53 */
salco 0:e4151abdff23 54 void seqWalk(bool backFRONT,char idOperation,char idLeg);
salco 28:ac5c6350ed9a 55 /*
salco 28:ac5c6350ed9a 56 * Fonction contenant les sequences pour faire Repositioner le robot
salco 28:ac5c6350ed9a 57 */
salco 0:e4151abdff23 58 void seqRepositioner(char idOperation,char idLeg);
salco 28:ac5c6350ed9a 59 /*
salco 28:ac5c6350ed9a 60 * Fonction contenant les sequences pour faire marcher en crabe le robot
salco 28:ac5c6350ed9a 61 */
salco 0:e4151abdff23 62 void seqCrabe(bool leftRIGHT,char idOperation,char idLeg);
salco 28:ac5c6350ed9a 63 /*
salco 28:ac5c6350ed9a 64 * Fonction contenant les sequences pour positioner en default le robot
salco 28:ac5c6350ed9a 65 */
salco 27:ea60d12dccdf 66 void defaultPosition(char idLeg);
salco 27:ea60d12dccdf 67
salco 28:ac5c6350ed9a 68 /*
salco 28:ac5c6350ed9a 69 * Fonction remise a la valeur par defaut le Délais entre les sequences
salco 28:ac5c6350ed9a 70 */
salco 27:ea60d12dccdf 71 int patchDelais(char idMode);
salco 27:ea60d12dccdf 72
salco 0:e4151abdff23 73 public:
salco 28:ac5c6350ed9a 74 /*
salco 28:ac5c6350ed9a 75 * Constructeur de la class
salco 28:ac5c6350ed9a 76 */
salco 0:e4151abdff23 77 homemadeSequence();
salco 28:ac5c6350ed9a 78 /*
salco 28:ac5c6350ed9a 79 * Destructeur de la class
salco 28:ac5c6350ed9a 80 */
salco 0:e4151abdff23 81 ~homemadeSequence();
salco 28:ac5c6350ed9a 82 /*
salco 28:ac5c6350ed9a 83 * set_Sequence
salco 28:ac5c6350ed9a 84 */
salco 0:e4151abdff23 85 void set_Sequence(char idSequence) {
salco 0:e4151abdff23 86 m_SequenceChosen = idSequence;
salco 0:e4151abdff23 87 m_idFrame = 1;
salco 27:ea60d12dccdf 88
salco 27:ea60d12dccdf 89 //delaisNeed=patchDelais(idSequence);
salco 0:e4151abdff23 90 }
salco 0:e4151abdff23 91 char get_Sequence(void) {
salco 0:e4151abdff23 92 return m_SequenceChosen;
salco 0:e4151abdff23 93 }
salco 22:a2c875629f2d 94 void set_leg(char idLeg){m_idLegUse = idLeg;}
salco 27:ea60d12dccdf 95 int get_msTime(char idLeg){
salco 27:ea60d12dccdf 96 int result = timeSequence[idLeg-1];
salco 27:ea60d12dccdf 97
salco 39:34d7802e8d15 98 debug(DEBUG_HOMEMADE_GETTIME,"\n\r idLeg:%i \n\r timeSequence:%i\n\r delais:%i\n\r delais plus define:%i",idLeg,result,delaisNeed,(((result==255)? DELAITESTE/2:result*10)*DEBUG_HOMEMADESEQ_PERCENT_DELAIS)/100);
salco 39:34d7802e8d15 99 return ((((result==255)? DELAITESTE/2:result*10)*DEBUG_HOMEMADESEQ_PERCENT_DELAIS)/100); //ici je crois quil faut metre le pourcentage vitesse setter avec un define
salco 22:a2c875629f2d 100 }
salco 39:34d7802e8d15 101 int get_delaisNeed_Ms(){return ((delaisNeed*DEBUG_HOMEMADESEQ_PERCENT_DELAIS_PAUSE)/100);}
salco 0:e4151abdff23 102 unsigned char* get_frame(/*char idSequence,*/char idOperation,char idLeg);
salco 0:e4151abdff23 103 unsigned char* get_frame(/*char idSequence,char idOperation,*/char idLeg);
salco 28:ac5c6350ed9a 104 unsigned char get_frame(){return m_idFrame;}
salco 20:c825e7b07af7 105 void set_frameID(char position) {m_idFrame = position;};
salco 0:e4151abdff23 106 bool next_frame(void); //return true if you are not at the end
salco 0:e4151abdff23 107 bool prev_frame(void); //return true if you are not at the begining
salco 0:e4151abdff23 108 };
salco 0:e4151abdff23 109 #endif /* HOMEMADESEQUENCE_H_ */