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
Revision:
27:ea60d12dccdf
Parent:
22:a2c875629f2d
Child:
28:ac5c6350ed9a
diff -r 15cb45d56c28 -r ea60d12dccdf source/Motrice/homemadeSequence.h
--- a/source/Motrice/homemadeSequence.h	Mon May 11 13:48:38 2015 +0000
+++ b/source/Motrice/homemadeSequence.h	Thu May 14 21:40:23 2015 +0000
@@ -8,7 +8,8 @@
 #ifndef HOMEMADESEQUENCE_H_
 #define HOMEMADESEQUENCE_H_
 
-#define DEBUG_HOMEMADE_GETFRAME 1
+#define DEBUG_HOMEMADE_GETFRAME 0
+#define DEBUG_HOMEMADE_GETTIME 0
 #define DEBUG_HOMEMADE_NEXTFRAME 0
 #define DEBUG_HOMEMADE_PREVFRAME 0
 #define DELAITESTE 1000
@@ -27,15 +28,15 @@
     //X05 - Tourne Droite       //
     // 06 - Marche              //
     // 07 - Recule              //
-    // 08 - Repositioner        //
-    // 09 - Crabe  Gauche       //
-    // 10 - Crabe  Droite       //
-    // 11 - recalibration legs  //
+    // 08 - Repositioner  legs  //
+    // 09 - Crabe  Gauche       // Dont use Crabe because it's really anoying
+    // 10 - Crabe  Droite       // Dont use Crabe because it's really anoying
+    // 11 - Position naturel    //
     //////////////////////////////
     char m_SequenceChosen;
     char m_idFrame;
     
-    Timer delaisNextSeq;
+    //Timer delaisNextSeq;//move to movement.h
     int delaisNeed;
     unsigned char m_posLeg[4];
     unsigned char timeSequence[8];
@@ -46,24 +47,30 @@
     void seqWalk(bool backFRONT,char idOperation,char idLeg);
     void seqRepositioner(char idOperation,char idLeg);
     void seqCrabe(bool leftRIGHT,char idOperation,char idLeg);
-
+    void defaultPosition(char idLeg);
+    
+    int patchDelais(char idMode);
+    
 public:
     homemadeSequence();
     ~homemadeSequence();
     void set_Sequence(char idSequence) {
         m_SequenceChosen = idSequence;
         m_idFrame = 1;
-        delaisNextSeq.reset();
-        delaisNeed=-1;
+        
+        //delaisNeed=patchDelais(idSequence);
     }
     char get_Sequence(void) {
         return m_SequenceChosen;
     }
     void set_leg(char idLeg){m_idLegUse = idLeg;}
-   unsigned char get_Time(char idLeg){
-        unsigned char result = timeSequence[idLeg-1];
-        return (result==255)? DELAITESTE:result;
+    int get_msTime(char idLeg){
+        int result = timeSequence[idLeg-1];
+        
+        debug(DEBUG_HOMEMADE_GETTIME,"\n\r idLeg:%i \n\r timeSequence:%i\n\r delais:%i",idLeg,result,delaisNeed);
+        return (result==255)? DELAITESTE/2:result*10;
         }
+    int get_delaisNeed_Ms(){return delaisNeed;}
     unsigned char* get_frame(/*char idSequence,*/char idOperation,char idLeg);
     unsigned char* get_frame(/*char idSequence,char idOperation,*/char idLeg);
     void set_frameID(char position) {m_idFrame = position;};