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