![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
Programme de contrôle de l'octopode 4DOF, Theraphosa-Salconi.
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
source/Motrice/homemadeSequence.h@28:ac5c6350ed9a, 2015-07-28 (annotated)
- 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?
User | Revision | Line number | New 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_ */ |