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
source/MemRegistre.h@27:ea60d12dccdf, 2015-05-14 (annotated)
- Committer:
- salco
- Date:
- Thu May 14 21:40:23 2015 +0000
- Revision:
- 27:ea60d12dccdf
- Parent:
- 18:3f113f8441b2
- Child:
- 28:ac5c6350ed9a
Toute fonctione reste plus qua integrer les donner au projet.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
salco | 6:a7777c2a7e1e | 1 | /** |
salco | 7:dcfd81d7f93f | 2 | * @file MemRegistre.h |
salco | 6:a7777c2a7e1e | 3 | * @brief Cette classe est le modele des 3 taches de controle. |
salco | 6:a7777c2a7e1e | 4 | * @author Salco |
salco | 6:a7777c2a7e1e | 5 | * @version 2.00 |
salco | 6:a7777c2a7e1e | 6 | * @date 11 mars 2015 |
salco | 6:a7777c2a7e1e | 7 | */ |
salco | 6:a7777c2a7e1e | 8 | #ifndef MEMREG_H |
salco | 6:a7777c2a7e1e | 9 | #define MEMREG_H |
salco | 6:a7777c2a7e1e | 10 | |
salco | 18:3f113f8441b2 | 11 | #define DEBUG_GETADDR 1 |
salco | 27:ea60d12dccdf | 12 | #define DEBUG_ISVALIDE 0 |
salco | 18:3f113f8441b2 | 13 | |
salco | 9:7295385f02b2 | 14 | #include <list> |
salco | 9:7295385f02b2 | 15 | #include "Module.h" |
salco | 18:3f113f8441b2 | 16 | #include "debug.h" |
salco | 9:7295385f02b2 | 17 | //#include "ListChainer.h" |
salco | 6:a7777c2a7e1e | 18 | |
salco | 9:7295385f02b2 | 19 | using namespace std;// Or using std::list; |
salco | 6:a7777c2a7e1e | 20 | |
salco | 7:dcfd81d7f93f | 21 | class MemRegistre |
salco | 6:a7777c2a7e1e | 22 | { |
salco | 9:7295385f02b2 | 23 | list<Module> m_moduleActioneur;//ListChainer m_moduleActioneur; |
salco | 9:7295385f02b2 | 24 | list<Module>::iterator m_positionActioneur;//int m_positionActioneur; |
salco | 10:7e6aeaebe1a2 | 25 | |
salco | 9:7295385f02b2 | 26 | list<Module> m_moduleCapteur;//ListChainer m_moduleCapteur; |
salco | 9:7295385f02b2 | 27 | list<Module>::iterator m_positionCapteur;//int m_positionCapteur; |
salco | 10:7e6aeaebe1a2 | 28 | |
salco | 9:7295385f02b2 | 29 | list<Module> m_moduleMemoire;//ListChainer m_moduleMemoire; |
salco | 9:7295385f02b2 | 30 | list<Module>::iterator m_positionMemoire;//int m_positionMemoire; |
salco | 6:a7777c2a7e1e | 31 | |
salco | 6:a7777c2a7e1e | 32 | |
salco | 6:a7777c2a7e1e | 33 | public: |
salco | 9:7295385f02b2 | 34 | // pt metre des inline pour les fonction dans le h |
salco | 6:a7777c2a7e1e | 35 | |
salco | 9:7295385f02b2 | 36 | MemRegistre(); |
salco | 9:7295385f02b2 | 37 | virtual ~MemRegistre(); |
salco | 14:ca1a9230ba7f | 38 | unsigned char getAdressDispo(const unsigned char &startValue); |
salco | 14:ca1a9230ba7f | 39 | bool isAdresseValide(const char &adresse); |
salco | 14:ca1a9230ba7f | 40 | bool isAdresseValide(const char &adresse, Module &m ); |
salco | 9:7295385f02b2 | 41 | |
salco | 6:a7777c2a7e1e | 42 | |
salco | 14:ca1a9230ba7f | 43 | //actioneur// |
salco | 9:7295385f02b2 | 44 | bool remAllActioneur(void) { |
salco | 9:7295385f02b2 | 45 | m_moduleActioneur.clear(); |
salco | 9:7295385f02b2 | 46 | return 1; |
salco | 9:7295385f02b2 | 47 | } |
salco | 10:7e6aeaebe1a2 | 48 | inline bool remActioneur(int position) { |
salco | 10:7e6aeaebe1a2 | 49 | list<Module>::iterator it1=m_moduleActioneur.begin(); |
salco | 10:7e6aeaebe1a2 | 50 | for(char i=position; i>1; i--) it1++; |
salco | 10:7e6aeaebe1a2 | 51 | m_moduleActioneur.erase(it1); |
salco | 10:7e6aeaebe1a2 | 52 | return 1; |
salco | 10:7e6aeaebe1a2 | 53 | } |
salco | 9:7295385f02b2 | 54 | bool addActioneur(Module module) { |
salco | 9:7295385f02b2 | 55 | m_moduleActioneur.push_back(module); |
salco | 9:7295385f02b2 | 56 | return 1; |
salco | 9:7295385f02b2 | 57 | } |
salco | 9:7295385f02b2 | 58 | Module firstActioneur(void); |
salco | 9:7295385f02b2 | 59 | Module nextActioneur(void); |
salco | 9:7295385f02b2 | 60 | int getSizeActioneur(void) { |
salco | 9:7295385f02b2 | 61 | return m_moduleActioneur.size(); |
salco | 9:7295385f02b2 | 62 | } |
salco | 14:ca1a9230ba7f | 63 | //capteur// |
salco | 9:7295385f02b2 | 64 | bool remAllCapteur(void) { |
salco | 9:7295385f02b2 | 65 | m_moduleCapteur.clear(); |
salco | 9:7295385f02b2 | 66 | return 1; |
salco | 9:7295385f02b2 | 67 | } |
salco | 9:7295385f02b2 | 68 | bool remCapteur(int position) { |
salco | 10:7e6aeaebe1a2 | 69 | list<Module>::iterator it1=m_moduleCapteur.begin(); |
salco | 10:7e6aeaebe1a2 | 70 | for(char i=position; i>1; i--) it1++; |
salco | 9:7295385f02b2 | 71 | m_moduleCapteur.erase(it1); |
salco | 9:7295385f02b2 | 72 | return 1; |
salco | 9:7295385f02b2 | 73 | } |
salco | 9:7295385f02b2 | 74 | bool addCapteur(Module module) { |
salco | 9:7295385f02b2 | 75 | m_moduleCapteur.push_back(module); |
salco | 9:7295385f02b2 | 76 | return 1; |
salco | 9:7295385f02b2 | 77 | } |
salco | 9:7295385f02b2 | 78 | Module firstCapteur(void); |
salco | 9:7295385f02b2 | 79 | Module nextCapteur(void); |
salco | 9:7295385f02b2 | 80 | int getSizeCapteur(void) { |
salco | 9:7295385f02b2 | 81 | return m_moduleCapteur.size(); |
salco | 9:7295385f02b2 | 82 | } |
salco | 14:ca1a9230ba7f | 83 | //memoire// |
salco | 9:7295385f02b2 | 84 | bool remAllMemoire(void) { |
salco | 9:7295385f02b2 | 85 | m_moduleMemoire.clear(); |
salco | 9:7295385f02b2 | 86 | return 1; |
salco | 9:7295385f02b2 | 87 | } |
salco | 9:7295385f02b2 | 88 | bool remMemoire(int position) { |
salco | 10:7e6aeaebe1a2 | 89 | list<Module>::iterator it1=m_moduleMemoire.begin(); |
salco | 10:7e6aeaebe1a2 | 90 | for(char i=position; i>1; i--) it1++; |
salco | 9:7295385f02b2 | 91 | m_moduleMemoire.erase(it1); |
salco | 9:7295385f02b2 | 92 | return 1; |
salco | 9:7295385f02b2 | 93 | } |
salco | 9:7295385f02b2 | 94 | bool addMemoire(Module module) { |
salco | 9:7295385f02b2 | 95 | m_moduleMemoire.push_back(module); |
salco | 9:7295385f02b2 | 96 | return 1; |
salco | 9:7295385f02b2 | 97 | } |
salco | 9:7295385f02b2 | 98 | Module firstMemoire(void); |
salco | 9:7295385f02b2 | 99 | Module nextMemoire(void); |
salco | 9:7295385f02b2 | 100 | int getSizeMemoire(void) { |
salco | 9:7295385f02b2 | 101 | return m_moduleMemoire.size(); |
salco | 9:7295385f02b2 | 102 | } |
salco | 6:a7777c2a7e1e | 103 | |
salco | 6:a7777c2a7e1e | 104 | }; |
salco | 6:a7777c2a7e1e | 105 | #endif // MEMREG_H // |
salco | 6:a7777c2a7e1e | 106 | |
salco | 6:a7777c2a7e1e | 107 | |
salco | 6:a7777c2a7e1e | 108 |