codes in progress

Dependents:   RUCHE2-CODES_correctiondepoids RUCHE2-CODES_correction_de_poids

Committer:
Sidibe
Date:
Mon Feb 04 11:46:26 2019 +0000
Revision:
3:7542ed5cd721
Parent:
2:330f063d8cfa
Ruche

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Sidibe 0:db9f881dd501 1 #ifndef MESSAGE_H
Sidibe 0:db9f881dd501 2 #define MESSAGE_H
Sidibe 0:db9f881dd501 3
Sidibe 0:db9f881dd501 4 #include "mbed.h"
Sidibe 0:db9f881dd501 5
Sidibe 3:7542ed5cd721 6 #define PIN_RX PA_15 // PA_15 n'est pas present dans le nucleo STM32L432C..
Sidibe 3:7542ed5cd721 7 #define PIN_TX PA_2 // Pour l'envoie de donnee juste le TX (PA_2) est necessaire
Sidibe 0:db9f881dd501 8 class Message {
Sidibe 0:db9f881dd501 9 public:
Sidibe 0:db9f881dd501 10 //Methodes:
Sidibe 0:db9f881dd501 11
Sidibe 0:db9f881dd501 12 //constructeur
Sidibe 3:7542ed5cd721 13 Message():sigfox(PIN_TX, PIN_RX){};
Sidibe 0:db9f881dd501 14
Sidibe 3:7542ed5cd721 15 //Methode
Sidibe 3:7542ed5cd721 16 virtual void send() = 0;
Sidibe 0:db9f881dd501 17
Sidibe 3:7542ed5cd721 18
Sidibe 0:db9f881dd501 19
Sidibe 0:db9f881dd501 20 protected:
Sidibe 0:db9f881dd501 21
Sidibe 0:db9f881dd501 22 void writeInSendBuffer(int16_t var){
Sidibe 3:7542ed5cd721 23 if(var > 0 && var < 4096) this->sigfox.printf("0%hx", var); // 4095 donne en hexa 0x0FFF sur 16 bits, le printf ecris 0xFFF en omettant le 0 ce qui
Sidibe 3:7542ed5cd721 24 else this->sigfox.printf("%hx", var); // induit le parsing coté sigfox en erreur car le 0 ne sera pas pris en compte dans la
Sidibe 3:7542ed5cd721 25 }; // reconversion en int16. 4096 est dont le seuil.
Sidibe 0:db9f881dd501 26
Sidibe 0:db9f881dd501 27
Sidibe 3:7542ed5cd721 28 int16_t parseToInt16_t(int var){ // toutes nos données sont codées sur 16 bits. 2 chiffres sont gardés apres la virgule
Sidibe 0:db9f881dd501 29 int16_t temp = var * 100;
Sidibe 0:db9f881dd501 30 return temp;
Sidibe 0:db9f881dd501 31 };
Sidibe 0:db9f881dd501 32
Sidibe 3:7542ed5cd721 33 int16_t parseToInt16_t(float var){ // surcharge de fonction pour les floatants
Sidibe 0:db9f881dd501 34 int16_t temp = var * 100;
Sidibe 0:db9f881dd501 35 return temp;
Sidibe 0:db9f881dd501 36 };
Sidibe 3:7542ed5cd721 37 Serial sigfox; // declaration de la communication serie avec le module wisol
Sidibe 0:db9f881dd501 38
Sidibe 0:db9f881dd501 39
Sidibe 0:db9f881dd501 40 };
Sidibe 0:db9f881dd501 41
Sidibe 0:db9f881dd501 42
Sidibe 0:db9f881dd501 43 #endif