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 Mar 19 21:49:20 2015 +0000
Revision:
10:7e6aeaebe1a2
Parent:
9:7295385f02b2
Child:
14:ca1a9230ba7f
l'init de Ctrl Bridge est faite reste a tester et a inclure les debug.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 6:a7777c2a7e1e 1 /*
salco 6:a7777c2a7e1e 2 * memoireRegistre.cpp
salco 6:a7777c2a7e1e 3 *
salco 6:a7777c2a7e1e 4 * Created on: Mar 10, 2015
salco 6:a7777c2a7e1e 5 * Author: salco
salco 6:a7777c2a7e1e 6 */
salco 6:a7777c2a7e1e 7 /**
salco 6:a7777c2a7e1e 8 * @file llistcontact.cpp
salco 6:a7777c2a7e1e 9 * @brief Formulaire de la class LList et node_t
salco 6:a7777c2a7e1e 10 * @author Alexandre Salconi-Denis
salco 6:a7777c2a7e1e 11 * @version 3.01
salco 6:a7777c2a7e1e 12 * @date 06 mars 2014
salco 6:a7777c2a7e1e 13 */
salco 7:dcfd81d7f93f 14 #include "MemRegistre.h"
salco 6:a7777c2a7e1e 15
salco 9:7295385f02b2 16
salco 9:7295385f02b2 17
salco 7:dcfd81d7f93f 18 MemRegistre::MemRegistre()
salco 6:a7777c2a7e1e 19 {
salco 9:7295385f02b2 20 m_positionActioneur = m_moduleActioneur.begin();
salco 9:7295385f02b2 21 m_positionCapteur = m_moduleCapteur.begin();
salco 9:7295385f02b2 22 m_positionMemoire = m_moduleMemoire.begin();
salco 6:a7777c2a7e1e 23 }
salco 7:dcfd81d7f93f 24 MemRegistre::~MemRegistre()
salco 6:a7777c2a7e1e 25 {
salco 6:a7777c2a7e1e 26 }
salco 9:7295385f02b2 27
salco 9:7295385f02b2 28 unsigned char MemRegistre::getAdressDispo()
salco 9:7295385f02b2 29 {
salco 9:7295385f02b2 30 list<Module>::iterator it1;
salco 9:7295385f02b2 31 unsigned char addrDispo=1;
salco 9:7295385f02b2 32
salco 9:7295385f02b2 33 //Module templateModule;
salco 9:7295385f02b2 34 for(bool addrFind=true; (addrDispo!=0)&&(!addrFind); addrDispo++) {
salco 9:7295385f02b2 35
salco 9:7295385f02b2 36 for (list<Module>::iterator it=m_moduleActioneur.begin(); it != m_moduleActioneur.end(); ++it)
salco 9:7295385f02b2 37 if(it->regA == addrDispo) addrFind = false;
salco 9:7295385f02b2 38
salco 9:7295385f02b2 39 for (std::list<Module>::iterator it=m_moduleCapteur.begin(); it != m_moduleCapteur.end(); ++it)
salco 9:7295385f02b2 40 if(it->regA == addrDispo) addrFind = false;
salco 10:7e6aeaebe1a2 41
salco 9:7295385f02b2 42 for (std::list<Module>::iterator it=m_moduleMemoire.begin(); it != m_moduleMemoire.end(); ++it)
salco 9:7295385f02b2 43 if(it->regA == addrDispo) addrFind = false;
salco 10:7e6aeaebe1a2 44
salco 9:7295385f02b2 45 if((addrDispo==255) && (!addrFind))addrDispo=0; //les 255 adresses son utiliser // bravo le robot doit etre under heavy load.
salco 9:7295385f02b2 46 }
salco 9:7295385f02b2 47 return addrDispo;
salco 9:7295385f02b2 48 }
salco 7:dcfd81d7f93f 49 Module MemRegistre::firstActioneur(void)
salco 6:a7777c2a7e1e 50 {
salco 9:7295385f02b2 51 m_positionActioneur =m_moduleActioneur.begin();
salco 9:7295385f02b2 52 return *m_positionActioneur;//m_moduleActioneur.begin();
salco 6:a7777c2a7e1e 53 }
salco 7:dcfd81d7f93f 54 Module MemRegistre::nextActioneur(void)
salco 6:a7777c2a7e1e 55 {
salco 9:7295385f02b2 56 if(m_moduleActioneur.end()!= m_positionActioneur)
salco 6:a7777c2a7e1e 57 m_positionActioneur++;
salco 6:a7777c2a7e1e 58
salco 9:7295385f02b2 59 return *m_positionActioneur;//return m_moduleActioneur[m_positionActioneur];
salco 6:a7777c2a7e1e 60 }
salco 6:a7777c2a7e1e 61
salco 7:dcfd81d7f93f 62 Module MemRegistre::firstCapteur(void)
salco 6:a7777c2a7e1e 63 {
salco 9:7295385f02b2 64 m_positionCapteur =m_moduleCapteur.begin();
salco 9:7295385f02b2 65 return *m_positionCapteur;//return m_moduleCapteur[m_positionCapteur];
salco 6:a7777c2a7e1e 66 }
salco 7:dcfd81d7f93f 67 Module MemRegistre::nextCapteur(void)
salco 6:a7777c2a7e1e 68 {
salco 9:7295385f02b2 69 if(m_moduleCapteur.end()!= m_positionCapteur)
salco 6:a7777c2a7e1e 70 m_positionCapteur++;
salco 6:a7777c2a7e1e 71
salco 9:7295385f02b2 72 return *m_positionCapteur;//return m_moduleActioneur[m_positionCapteur];
salco 6:a7777c2a7e1e 73 }
salco 7:dcfd81d7f93f 74 Module MemRegistre::firstMemoire(void)
salco 6:a7777c2a7e1e 75 {
salco 9:7295385f02b2 76 m_positionMemoire =m_moduleMemoire.begin();
salco 9:7295385f02b2 77 return *m_positionMemoire;//return m_moduleMemoire[m_positionMemoire];
salco 6:a7777c2a7e1e 78 }
salco 7:dcfd81d7f93f 79 Module MemRegistre::nextMemoire(void)
salco 6:a7777c2a7e1e 80 {
salco 9:7295385f02b2 81 if(m_moduleMemoire.end()!= m_positionMemoire)
salco 6:a7777c2a7e1e 82 m_positionMemoire++;
salco 6:a7777c2a7e1e 83
salco 9:7295385f02b2 84 return *m_positionMemoire;//return m_moduleActioneur[m_positionMemoire];
salco 6:a7777c2a7e1e 85 }