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

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