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:
Wed Apr 22 19:27:44 2015 +0000
Revision:
15:91b3c572d9df
Parent:
14:ca1a9230ba7f
Child:
16:5ea4337d785f
Voila la communication est authentifier des deux coter. Reste plus qu'a utiliser les bytes transporter dans cette communication.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
salco 2:4c5b0f6d0a6b 1 /**
salco 2:4c5b0f6d0a6b 2 * @file TTask.h
salco 2:4c5b0f6d0a6b 3 * @brief Cette classe est le modele des 3 taches de controle.
salco 2:4c5b0f6d0a6b 4 * @author Salco
salco 2:4c5b0f6d0a6b 5 * @version 2.00
salco 2:4c5b0f6d0a6b 6 * @date 11 mars 2015
salco 2:4c5b0f6d0a6b 7 */
salco 2:4c5b0f6d0a6b 8 #ifndef CTRLBRIDGE_H
salco 2:4c5b0f6d0a6b 9 #define CTRLBRIDGE_H
salco 7:dcfd81d7f93f 10
salco 11:496453b45e25 11 #define DEBUG_INITMODULE 1
salco 14:ca1a9230ba7f 12 #define DEBUF_FINDMODULE 1
salco 14:ca1a9230ba7f 13
salco 8:e017e3d527d7 14 #define SPI_HIGH_MISO PB_14
salco 8:e017e3d527d7 15 #define SPI_HIGH_MOSI PB_15
salco 11:496453b45e25 16 #define SPI_HIGH_SCK PB_13
salco 15:91b3c572d9df 17 #define SPI_HIGH_CS A1
salco 8:e017e3d527d7 18 #define SPI_HIGH_DEMUXA PC_0
salco 8:e017e3d527d7 19 #define SPI_HIGH_DEMUXB PC_1
salco 8:e017e3d527d7 20 #define SPI_HIGH_DEMUXC PC_2
salco 8:e017e3d527d7 21 #define SPI_HIGH_DEMUXD PC_3
salco 8:e017e3d527d7 22
salco 8:e017e3d527d7 23 #define SPI_LOW_MISO PA_6
salco 8:e017e3d527d7 24 #define SPI_LOW_MOSI PA_7
salco 8:e017e3d527d7 25 #define SPI_LOW_SCK PA_5
salco 15:91b3c572d9df 26 #define SPI_LOW_CS A0
salco 8:e017e3d527d7 27 #define SPI_LOW_DEMUXA PC_4
salco 8:e017e3d527d7 28 #define SPI_LOW_DEMUXB PC_5
salco 8:e017e3d527d7 29 #define SPI_LOW_DEMUXC PC_6
salco 8:e017e3d527d7 30 #define SPI_LOW_DEMUXD PC_7
salco 8:e017e3d527d7 31
salco 8:e017e3d527d7 32 #include "mbed.h"
salco 10:7e6aeaebe1a2 33 #include <string>
salco 14:ca1a9230ba7f 34 #include "OSNAPprotocoleDefine.h"
salco 14:ca1a9230ba7f 35 //#include <algorithm> // std::for_each
salco 11:496453b45e25 36 #include "debug.h"
salco 7:dcfd81d7f93f 37 #include "ComSpi.h" //utiliser pour comuniquer avec les module
salco 7:dcfd81d7f93f 38 #include "MemRegistre.h" //enregistrer les info
salco 10:7e6aeaebe1a2 39 #include "Module.h"
salco 2:4c5b0f6d0a6b 40 class CtrlBridge
salco 2:4c5b0f6d0a6b 41 {
salco 8:e017e3d527d7 42 static CtrlBridge *uniqueInstance;
salco 8:e017e3d527d7 43 //pc = new Serial(SERIAL_TX, SERIAL_RX);
salco 8:e017e3d527d7 44 //ssc32= new Serial(PA_9, PA_10);
salco 7:dcfd81d7f93f 45 int m_regPortUse; // set in the init
salco 7:dcfd81d7f93f 46 int m_regPortLost;// flag 1 si lost
salco 9:7295385f02b2 47 MemRegistre m_Memory;
salco 11:496453b45e25 48
salco 8:e017e3d527d7 49 /**
salco 8:e017e3d527d7 50 * @brief Constructeur priver appler par la fonction getInstance()
salco 8:e017e3d527d7 51 */
salco 8:e017e3d527d7 52 CtrlBridge();
salco 8:e017e3d527d7 53 ~CtrlBridge();
salco 11:496453b45e25 54
salco 8:e017e3d527d7 55 private:
salco 11:496453b45e25 56 Serial ssc32;
salco 11:496453b45e25 57 ComSpi spiLowSpeed, spiHighSpeed;
salco 9:7295385f02b2 58
salco 8:e017e3d527d7 59 public:
salco 11:496453b45e25 60 Serial pc;
salco 11:496453b45e25 61
salco 15:91b3c572d9df 62 bool send( const unsigned char &adresse, string &flag, string &data);
salco 11:496453b45e25 63
salco 14:ca1a9230ba7f 64 /*string findModule(const typeModue &t);
salco 14:ca1a9230ba7f 65 string findModule(const sousType_Actionneur &st);
salco 14:ca1a9230ba7f 66 string findModule(const sousType_Memoire &st);
salco 14:ca1a9230ba7f 67 string findModule(const sousType_Capteur &st);
salco 14:ca1a9230ba7f 68 string findModule(const positionSpatial &p);
salco 14:ca1a9230ba7f 69
salco 14:ca1a9230ba7f 70 string findModule(const typeModue &t, const sousType_Actionneur &st);
salco 14:ca1a9230ba7f 71 string findModule(const typeModue &t, const sousType_Memoire &st);
salco 14:ca1a9230ba7f 72 string findModule(const typeModue &t, const sousType_Capteur &st);
salco 14:ca1a9230ba7f 73 string findModule(const typeModue &t, const positionSpatial &p);*/ //complex pour le moment on le fera en temps voulue
salco 14:ca1a9230ba7f 74
salco 14:ca1a9230ba7f 75 string findModule(const char &peripheriqueID, const char &type, const char &sousType, const char &posSpatial);
salco 14:ca1a9230ba7f 76
salco 14:ca1a9230ba7f 77 int size(const char &peripheriqueID, const char &type, const char &sousType, const char &posSpatial);
salco 8:e017e3d527d7 78 /**
salco 8:e017e3d527d7 79 * @brief Methode permetant une seul instance de la classe
salco 8:e017e3d527d7 80 * @return Retourne l'unique instance de la classe
salco 8:e017e3d527d7 81 */
salco 8:e017e3d527d7 82 static CtrlBridge *getInstance();
salco 11:496453b45e25 83
salco 14:ca1a9230ba7f 84 bool initCom(void);
salco 14:ca1a9230ba7f 85
salco 14:ca1a9230ba7f 86 bool isValide(char portID) {
salco 14:ca1a9230ba7f 87 return (m_regPortUse & (1<<portID))?true:false;
salco 14:ca1a9230ba7f 88 };
salco 11:496453b45e25 89 bool tryComPort(char portID);//just faire le sync et crc pour voire si lautre est la
salco 11:496453b45e25 90
salco 14:ca1a9230ba7f 91 //fonction quelquonque pour communiquer avec les module
salco 14:ca1a9230ba7f 92 //fonction quelquonque pour faire des recherche dans les module dispo
salco 14:ca1a9230ba7f 93 //autre fonction pour jouer avec MemRegistre
salco 11:496453b45e25 94
salco 2:4c5b0f6d0a6b 95 };
salco 2:4c5b0f6d0a6b 96 #endif // CTRLBRIDGE_H