HAHA

Dependencies:   WebSocketClient mbed

Committer:
RufflesAllD
Date:
Mon Apr 07 15:43:16 2014 +0000
Revision:
6:f1e9dc6b24c7
Parent:
5:daf08fff7abb
mn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joGenie 0:71df0feee697 1 #ifndef ROUTEUR_HPP
joGenie 0:71df0feee697 2 #define ROUTEUR_HPP
joGenie 0:71df0feee697 3
joGenie 0:71df0feee697 4 #include <string>
joGenie 2:7515831bb5f5 5 #include "trame.hpp"
joGenie 0:71df0feee697 6
joGenie 0:71df0feee697 7 using namespace std;
joGenie 0:71df0feee697 8
RufflesAllD 5:daf08fff7abb 9 /* Description de la classe Routeur
RufflesAllD 5:daf08fff7abb 10 *
RufflesAllD 5:daf08fff7abb 11 * La classe Routeur configure le routeur, reçoit les valeurs des capteurs et les envoie sur le réseau zigBee
RufflesAllD 5:daf08fff7abb 12 *
RufflesAllD 6:f1e9dc6b24c7 13 */
joGenie 0:71df0feee697 14 class Routeur
joGenie 0:71df0feee697 15 {
joGenie 0:71df0feee697 16 public:
RufflesAllD 5:daf08fff7abb 17 // Enum pour le type de capteur utilisé par le routeur (selon le fichier de config)
RufflesAllD 5:daf08fff7abb 18 enum Type { Accelerometer, Switch };
joGenie 0:71df0feee697 19 // Constructeur
joGenie 2:7515831bb5f5 20 Routeur(PinName _tx, PinName _rx);
joGenie 0:71df0feee697 21
RufflesAllD 5:daf08fff7abb 22 // Prend les données du capteur à chaque période définie par le fichier de config
RufflesAllD 5:daf08fff7abb 23 void getValues();
RufflesAllD 5:daf08fff7abb 24
RufflesAllD 5:daf08fff7abb 25 // Initialise acceleromètre
joGenie 4:56b1ca37a175 26 void initAccel();
joGenie 4:56b1ca37a175 27
RufflesAllD 5:daf08fff7abb 28 // Envoie les valeurs de acceleromètre
joGenie 4:56b1ca37a175 29 void sendAccelValues();
joGenie 4:56b1ca37a175 30
joGenie 4:56b1ca37a175 31 // Envoie la valeur d'un capteur sec
joGenie 4:56b1ca37a175 32 void sendSwitchValue();
joGenie 4:56b1ca37a175 33
RufflesAllD 5:daf08fff7abb 34 // Set le réseau du routeur
RufflesAllD 5:daf08fff7abb 35 void setPanID(string _pan);
RufflesAllD 5:daf08fff7abb 36 // Définie quel capteur le routeur va utiliser
RufflesAllD 5:daf08fff7abb 37 void setType(int t);
RufflesAllD 5:daf08fff7abb 38 // Définie la période entre chaque prise de données
RufflesAllD 5:daf08fff7abb 39 void setPeriod(int t);
joGenie 4:56b1ca37a175 40
joGenie 0:71df0feee697 41 private:
RufflesAllD 5:daf08fff7abb 42 int readRegister(char reg, char* data); //
RufflesAllD 5:daf08fff7abb 43 int readRegisters(char reg, int range, char* dest); // Fonctions nécessaire à l'initialisation et la lecture des valeurs de l'accéléromètre
RufflesAllD 5:daf08fff7abb 44 int writeRegister(char reg, char data); //
joGenie 4:56b1ca37a175 45
joGenie 2:7515831bb5f5 46 Trame trame;
joGenie 4:56b1ca37a175 47
joGenie 4:56b1ca37a175 48 string pan;
RufflesAllD 5:daf08fff7abb 49 int period;
joGenie 4:56b1ca37a175 50 Type type;
joGenie 4:56b1ca37a175 51
joGenie 4:56b1ca37a175 52 I2C accel;
joGenie 4:56b1ca37a175 53 DigitalIn piton;
joGenie 4:56b1ca37a175 54
joGenie 4:56b1ca37a175 55 char switchValue[1];
joGenie 4:56b1ca37a175 56 char accelValues[6];
joGenie 0:71df0feee697 57 };
joGenie 0:71df0feee697 58
joGenie 0:71df0feee697 59 #endif