Projet Drone de surveillance du labo TRSE (INGESUP)
Dependencies: mbed PID ADXL345 Camera_LS_Y201 ITG3200 RangeFinder mbos xbee_lib Motor Servo
Module_Communication/Module_Communication.h@36:1bbd2fb7d2c8, 2014-03-19 (annotated)
- Committer:
- Gaetan
- Date:
- Wed Mar 19 11:01:10 2014 +0000
- Revision:
- 36:1bbd2fb7d2c8
- Parent:
- 34:4466839f5bb7
Checksum correct pour l'envoi de n'importe quel message Mavlink. Reste ? g?rer la reception de messages
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
IngesupMbed01 | 18:0bfd3ad421e5 | 1 | /* Copyright (c) 2012 - 2013 Yang Shi |
IngesupMbed01 | 18:0bfd3ad421e5 | 2 | * |
IngesupMbed01 | 18:0bfd3ad421e5 | 3 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED |
IngesupMbed01 | 18:0bfd3ad421e5 | 4 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
IngesupMbed01 | 18:0bfd3ad421e5 | 5 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT |
IngesupMbed01 | 18:0bfd3ad421e5 | 6 | * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
IngesupMbed01 | 18:0bfd3ad421e5 | 7 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT |
IngesupMbed01 | 18:0bfd3ad421e5 | 8 | * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
IngesupMbed01 | 18:0bfd3ad421e5 | 9 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
IngesupMbed01 | 18:0bfd3ad421e5 | 10 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
IngesupMbed01 | 18:0bfd3ad421e5 | 11 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
IngesupMbed01 | 18:0bfd3ad421e5 | 12 | */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 13 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 14 | /* |
IngesupMbed01 | 18:0bfd3ad421e5 | 15 | * Description : Cette classe contient les fonctionnalités du module communication. |
IngesupMbed01 | 18:0bfd3ad421e5 | 16 | Le module communication gère la communication entre les modules présents sur le drône et le PC. |
IngesupMbed01 | 18:0bfd3ad421e5 | 17 | * Input : |
IngesupMbed01 | 18:0bfd3ad421e5 | 18 | * Output |
IngesupMbed01 | 18:0bfd3ad421e5 | 19 | */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 20 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 21 | #ifndef MODULE_COMMUNICATION_H |
IngesupMbed01 | 18:0bfd3ad421e5 | 22 | #define MODULE_COMMUNICATION_H |
IngesupMbed01 | 18:0bfd3ad421e5 | 23 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 24 | #include "mbos.h" |
IngesupMbed01 | 18:0bfd3ad421e5 | 25 | #include "xbee.h" |
IngesupMbed01 | 24:3462a304f9a0 | 26 | #include "Buffer_Trame.h" |
IngesupMbed01 | 31:ec7d635636bf | 27 | #include "Service.h" |
IngesupMbed01 | 24:3462a304f9a0 | 28 | |
Gaetan | 34:4466839f5bb7 | 29 | #define PINTX p13 |
Gaetan | 34:4466839f5bb7 | 30 | #define PINRX p14 |
Gaetan | 34:4466839f5bb7 | 31 | #define PINRES p15 |
Gaetan | 34:4466839f5bb7 | 32 | |
Gaetan | 34:4466839f5bb7 | 33 | |
Gaetan | 34:4466839f5bb7 | 34 | void moduleCommunicationReception(void); |
Gaetan | 34:4466839f5bb7 | 35 | void moduleCommunicationEnvoi(void); |
Gaetan | 34:4466839f5bb7 | 36 | char *getEnvoi(); |
Gaetan | 34:4466839f5bb7 | 37 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 38 | class C_ModuleCommunication |
IngesupMbed01 | 18:0bfd3ad421e5 | 39 | { |
IngesupMbed01 | 18:0bfd3ad421e5 | 40 | private : |
IngesupMbed01 | 18:0bfd3ad421e5 | 41 | /* ATTRIBUTS */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 42 | xbee * m_xbee; |
IngesupMbed01 | 24:3462a304f9a0 | 43 | C_FrameBuffer m_trameRxBuffer; |
IngesupMbed01 | 24:3462a304f9a0 | 44 | C_FrameBuffer m_trameTxBuffer; |
IngesupMbed01 | 24:3462a304f9a0 | 45 | char * m_charRxBuffer; |
IngesupMbed01 | 24:3462a304f9a0 | 46 | char * m_charTxBuffer; |
IngesupMbed01 | 18:0bfd3ad421e5 | 47 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 48 | public : |
IngesupMbed01 | 18:0bfd3ad421e5 | 49 | /* CONSTRUCTEUR(S) */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 50 | C_ModuleCommunication(); |
IngesupMbed01 | 18:0bfd3ad421e5 | 51 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 52 | /* DESTRUCTEUR */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 53 | ~C_ModuleCommunication(); |
IngesupMbed01 | 18:0bfd3ad421e5 | 54 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 55 | /* METHODES */ |
IngesupMbed01 | 19:a05cd42f8e91 | 56 | void moduleCommunicationTask(void); |
IngesupMbed01 | 28:8b5ccd2f837e | 57 | void traitementTrame(void); |
IngesupMbed01 | 19:a05cd42f8e91 | 58 | void envoiDeTrame(void); |
IngesupMbed01 | 19:a05cd42f8e91 | 59 | void receptionDeTrame(void); |
IngesupMbed01 | 31:ec7d635636bf | 60 | void creerTrameModuleTrajectoire(unsigned char idMessage); |
IngesupMbed01 | 31:ec7d635636bf | 61 | void creerTrameSpeciale(unsigned char idMessage); |
IngesupMbed01 | 31:ec7d635636bf | 62 | void consigneModuleTrajectoire(frame newFrame); |
IngesupMbed01 | 31:ec7d635636bf | 63 | void consigneModuleVideo(frame newFrame); |
IngesupMbed01 | 18:0bfd3ad421e5 | 64 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 65 | /* FONCTIONS */ |
IngesupMbed01 | 18:0bfd3ad421e5 | 66 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 67 | }; |
IngesupMbed01 | 18:0bfd3ad421e5 | 68 | |
IngesupMbed01 | 18:0bfd3ad421e5 | 69 | #endif |