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:
9:7295385f02b2
Parent:
7:dcfd81d7f93f
Child:
10:7e6aeaebe1a2
diff -r e017e3d527d7 -r 7295385f02b2 source/MemRegistre.h
--- a/source/MemRegistre.h	Thu Mar 19 14:53:25 2015 +0000
+++ b/source/MemRegistre.h	Thu Mar 19 19:14:31 2015 +0000
@@ -8,44 +8,91 @@
 #ifndef MEMREG_H
 #define MEMREG_H
 
+#include <list>
+#include "Module.h"
+//#include "ListChainer.h"
 
-#include "ListChainer.h"
+using namespace std;// Or using std::list;
 
 class MemRegistre
 {
-ListChainer m_moduleActioneur;
-int m_positionActioneur;
-ListChainer m_moduleCapteur;
-int m_positionCapteur;
-ListChainer m_moduleMemoire;
-int m_positionMemoire;
+    list<Module> m_moduleActioneur;//ListChainer m_moduleActioneur;
+    list<Module>::iterator m_positionActioneur;//int m_positionActioneur;
+    
+    list<Module> m_moduleCapteur;//ListChainer m_moduleCapteur;
+    list<Module>::iterator m_positionCapteur;//int m_positionCapteur;
+    
+    list<Module> m_moduleMemoire;//ListChainer m_moduleMemoire;
+    list<Module>::iterator m_positionMemoire;//int m_positionMemoire;
 
 
 public:
+// pt metre des inline  pour les fonction dans le h
 
-MemRegistre();
-virtual ~MemRegistre();
+    MemRegistre();
+    virtual ~MemRegistre();
+    unsigned char getAdressDispo();
+
 
-bool remAllActioneur(void){m_moduleActioneur.remAll();return 1;}
-bool remActioneur(int position){m_moduleActioneur.remAtPos(position);return 1;}
-bool addActioneur(Module module){m_moduleActioneur.addNode(module);return 1;}
-Module firstActioneur(void);
-Module nextActioneur(void);
-int getSizeActioneur(void){return m_moduleActioneur.getSize();}
+    bool remAllActioneur(void) {
+        m_moduleActioneur.clear();
+        return 1;
+    }
+    inline bool remActioneur(int position){
+    list<Module>::iterator it1=m_moduleActioneur.begin();
+    for(char i=position; i>1; i--) it1++;
+    m_moduleActioneur.erase(it1);
+    return 1;
+}
+    bool addActioneur(Module module) {
+        m_moduleActioneur.push_back(module);
+        return 1;
+    }
+    Module firstActioneur(void);
+    Module nextActioneur(void);
+    int getSizeActioneur(void) {
+        return m_moduleActioneur.size();
+    }
 
-bool remAllCapteur(void){m_moduleCapteur.remAll();return 1;}
-bool remCapteur(int position){m_moduleCapteur.remAtPos(position);return 1;}
-bool addCapteur(Module module){m_moduleCapteur.addNode(module);return 1;}
-Module firstCapteur(void);
-Module nextCapteur(void);
-int getSizeCapteur(void){return m_moduleCapteur.getSize();}
+    bool remAllCapteur(void) {
+        m_moduleCapteur.clear();
+        return 1;
+    }
+    bool remCapteur(int position) {
+            list<Module>::iterator it1=m_moduleCapteur.begin();
+    for(char i=position; i>1; i--) it1++;
+        m_moduleCapteur.erase(it1);
+        return 1;
+    }
+    bool addCapteur(Module module) {
+        m_moduleCapteur.push_back(module);
+        return 1;
+    }
+    Module firstCapteur(void);
+    Module nextCapteur(void);
+    int getSizeCapteur(void) {
+        return m_moduleCapteur.size();
+    }
 
-bool remAllMemoire(void){m_moduleMemoire.remAll();return 1;}
-bool remMemoire(int position){m_moduleMemoire.remAtPos(position);return 1;}
-bool addMemoire(Module module){m_moduleMemoire.addNode(module);return 1;}
-Module firstMemoire(void);
-Module nextMemoire(void);
-int getSizeMemoire(void){return m_moduleMemoire.getSize();}
+    bool remAllMemoire(void) {
+        m_moduleMemoire.clear();
+        return 1;
+    }
+    bool remMemoire(int position) {
+                    list<Module>::iterator it1=m_moduleMemoire.begin();
+    for(char i=position; i>1; i--) it1++;
+        m_moduleMemoire.erase(it1);
+        return 1;
+    }
+    bool addMemoire(Module module) {
+        m_moduleMemoire.push_back(module);
+        return 1;
+    }
+    Module firstMemoire(void);
+    Module nextMemoire(void);
+    int getSizeMemoire(void) {
+        return m_moduleMemoire.size();
+    }