Alexandre Salconi-Denis
/
ProjetOctopode
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/CtrlBridge.h@15:91b3c572d9df, 2015-04-22 (annotated)
- 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?
User | Revision | Line number | New 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 |