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
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?

UserRevisionLine numberNew 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