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 19:14:31 2015 +0000
Revision:
9:7295385f02b2
Parent:
7:dcfd81d7f93f
Child:
10:7e6aeaebe1a2
Grosse renovation, jai enlever la liste chainer faire home made et j'ai utiliser std::list qui est deja cr?er et va me simplifier un peut les chose. J'ai ajuster les fonction de MemRegistre pour le rende compatible.

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 9:7295385f02b2 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 9:7295385f02b2 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 }