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:
8:e017e3d527d7
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 8:e017e3d527d7 1
salco 8:e017e3d527d7 2 #include "CtrlBridge.h"
salco 8:e017e3d527d7 3
salco 8:e017e3d527d7 4 CtrlBridge *CtrlBridge::uniqueInstance;
salco 8:e017e3d527d7 5
salco 8:e017e3d527d7 6 /**
salco 8:e017e3d527d7 7 * @brief Constructeur priver appler par la fonction getInstance()
salco 8:e017e3d527d7 8 */
salco 9:7295385f02b2 9 CtrlBridge::CtrlBridge()
salco 9:7295385f02b2 10 : m_Memory(), pc(SERIAL_TX, SERIAL_RX), ssc32(PA_9, PA_10),
salco 9:7295385f02b2 11 spiLowSpeed (SPI_LOW_MOSI, SPI_LOW_MISO, SPI_LOW_SCK, SPI_LOW_DEMUXA, SPI_LOW_DEMUXB, SPI_LOW_DEMUXC, SPI_LOW_DEMUXD, SPI_LOW_CS),
salco 9:7295385f02b2 12 spiHighSpeed(SPI_HIGH_MOSI, SPI_HIGH_MISO, SPI_HIGH_SCK, SPI_HIGH_DEMUXA, SPI_HIGH_DEMUXB, SPI_HIGH_DEMUXC, SPI_HIGH_DEMUXD, SPI_HIGH_CS)
salco 8:e017e3d527d7 13 {
salco 9:7295385f02b2 14 //faire en sorte d'init SPI speed ici
salco 9:7295385f02b2 15 m_regPortUse=0;
salco 9:7295385f02b2 16 m_regPortLost=0;
salco 8:e017e3d527d7 17 }
salco 8:e017e3d527d7 18
salco 8:e017e3d527d7 19 CtrlBridge::~CtrlBridge()
salco 8:e017e3d527d7 20 {
salco 9:7295385f02b2 21 }
salco 9:7295385f02b2 22
salco 8:e017e3d527d7 23 /**
salco 8:e017e3d527d7 24 * @brief Methode permetant une seul instance de la classe
salco 8:e017e3d527d7 25 * @return Retourne l'unique instance de la classe
salco 8:e017e3d527d7 26 */
salco 8:e017e3d527d7 27 CtrlBridge *CtrlBridge::getInstance()
salco 8:e017e3d527d7 28 {
salco 9:7295385f02b2 29 if(!uniqueInstance) {
salco 8:e017e3d527d7 30 uniqueInstance = new CtrlBridge();
salco 8:e017e3d527d7 31 }
salco 8:e017e3d527d7 32 return uniqueInstance;
salco 8:e017e3d527d7 33 }
salco 8:e017e3d527d7 34
salco 8:e017e3d527d7 35 bool CtrlBridge::initCom(void)
salco 8:e017e3d527d7 36 {
salco 9:7295385f02b2 37 //char positionInitial;
salco 9:7295385f02b2 38 bool portUse;
salco 9:7295385f02b2 39 char flag = Request_Init_Info;
salco 9:7295385f02b2 40 char data = 0;
salco 9:7295385f02b2 41 Module templateModule;
salco 9:7295385f02b2 42
salco 9:7295385f02b2 43 //positionInitial = spiLowSpeed.next_demux();
salco 9:7295385f02b2 44 for(char i=0; i != 15; i++) {
salco 9:7295385f02b2 45 portUse = spiLowSpeed.send(i,0,&flag,&data);
salco 9:7295385f02b2 46
salco 9:7295385f02b2 47 if( portUse )
salco 9:7295385f02b2 48 {
salco 9:7295385f02b2 49 m_regPortUse|=(1<< i);
salco 9:7295385f02b2 50 /* do{
salco 9:7295385f02b2 51 templateModule.regA = ;
salco 9:7295385f02b2 52 }while();
salco 9:7295385f02b2 53 */
salco 9:7295385f02b2 54 }
salco 9:7295385f02b2 55 }
salco 9:7295385f02b2 56
salco 9:7295385f02b2 57
salco 8:e017e3d527d7 58 return true;
salco 9:7295385f02b2 59 }