Projet Drone de surveillance du labo TRSE (INGESUP)

Dependencies:   mbed PID ADXL345 Camera_LS_Y201 ITG3200 RangeFinder mbos xbee_lib Motor Servo

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?

UserRevisionLine numberNew 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