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 May 14 21:40:23 2015 +0000
Revision:
27:ea60d12dccdf
Parent:
22:a2c875629f2d
Child:
28:ac5c6350ed9a
Toute fonctione reste plus qua integrer les donner au projet.

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 0:e4151abdff23 45 void seqUpDown(bool downUP,char idOperation,char idLeg);
salco 0:e4151abdff23 46 void seqTurn(bool leftRIGHT,char idOperation,char idLeg);
salco 0:e4151abdff23 47 void seqWalk(bool backFRONT,char idOperation,char idLeg);
salco 0:e4151abdff23 48 void seqRepositioner(char idOperation,char idLeg);
salco 0:e4151abdff23 49 void seqCrabe(bool leftRIGHT,char idOperation,char idLeg);
salco 27:ea60d12dccdf 50 void defaultPosition(char idLeg);
salco 27:ea60d12dccdf 51
salco 27:ea60d12dccdf 52 int patchDelais(char idMode);
salco 27:ea60d12dccdf 53
salco 0:e4151abdff23 54 public:
salco 0:e4151abdff23 55 homemadeSequence();
salco 0:e4151abdff23 56 ~homemadeSequence();
salco 0:e4151abdff23 57 void set_Sequence(char idSequence) {
salco 0:e4151abdff23 58 m_SequenceChosen = idSequence;
salco 0:e4151abdff23 59 m_idFrame = 1;
salco 27:ea60d12dccdf 60
salco 27:ea60d12dccdf 61 //delaisNeed=patchDelais(idSequence);
salco 0:e4151abdff23 62 }
salco 0:e4151abdff23 63 char get_Sequence(void) {
salco 0:e4151abdff23 64 return m_SequenceChosen;
salco 0:e4151abdff23 65 }
salco 22:a2c875629f2d 66 void set_leg(char idLeg){m_idLegUse = idLeg;}
salco 27:ea60d12dccdf 67 int get_msTime(char idLeg){
salco 27:ea60d12dccdf 68 int result = timeSequence[idLeg-1];
salco 27:ea60d12dccdf 69
salco 27:ea60d12dccdf 70 debug(DEBUG_HOMEMADE_GETTIME,"\n\r idLeg:%i \n\r timeSequence:%i\n\r delais:%i",idLeg,result,delaisNeed);
salco 27:ea60d12dccdf 71 return (result==255)? DELAITESTE/2:result*10;
salco 22:a2c875629f2d 72 }
salco 27:ea60d12dccdf 73 int get_delaisNeed_Ms(){return delaisNeed;}
salco 0:e4151abdff23 74 unsigned char* get_frame(/*char idSequence,*/char idOperation,char idLeg);
salco 0:e4151abdff23 75 unsigned char* get_frame(/*char idSequence,char idOperation,*/char idLeg);
salco 20:c825e7b07af7 76 void set_frameID(char position) {m_idFrame = position;};
salco 0:e4151abdff23 77 bool next_frame(void); //return true if you are not at the end
salco 0:e4151abdff23 78 bool prev_frame(void); //return true if you are not at the begining
salco 0:e4151abdff23 79 };
salco 0:e4151abdff23 80 #endif /* HOMEMADESEQUENCE_H_ */