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 Jul 28 01:22:16 2015 +0000
Revision:
28:ac5c6350ed9a
Parent:
27:ea60d12dccdf
Child:
36:474d4795aafa
tsest

Who changed what in which revision?

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