Alexandre Salconi-Denis
/
ProjetOctopode
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
Diff: source/MemRegistre.h
- Revision:
- 9:7295385f02b2
- Parent:
- 7:dcfd81d7f93f
- Child:
- 10:7e6aeaebe1a2
--- 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(); + }