![](/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@41:0b5c14dda54a, 2017-01-31 (annotated)
- 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?
User | Revision | Line number | New 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_ */ |