![](/media/cache/profiles/4b0986230d9d7aded7f0c24033d221d4.jpg.50x50_q85.jpg)
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.cpp@9:7295385f02b2, 2015-03-19 (annotated)
- 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?
User | Revision | Line number | New 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 | } |