codes in progress
Dependents: RUCHE2-CODES_correctiondepoids RUCHE2-CODES_correction_de_poids
Revision 3:7542ed5cd721, committed 2019-02-04
- Comitter:
- Sidibe
- Date:
- Mon Feb 04 11:46:26 2019 +0000
- Parent:
- 2:330f063d8cfa
- Commit message:
- Ruche
Changed in this revision
diff -r 330f063d8cfa -r 7542ed5cd721 message.h --- a/message.h Wed Jan 23 14:27:12 2019 +0000 +++ b/message.h Mon Feb 04 11:46:26 2019 +0000 @@ -3,53 +3,38 @@ #include "mbed.h" -#define PIN_RX PA_15 -#define PIN_TX PA_2 +#define PIN_RX PA_15 // PA_15 n'est pas present dans le nucleo STM32L432C.. +#define PIN_TX PA_2 // Pour l'envoie de donnee juste le TX (PA_2) est necessaire class Message { public: //Methodes: //constructeur - Message(int messageType):m_messageType(messageType), sigfox(PIN_TX, PIN_RX){}; - - virtual void send() = 0; + Message():sigfox(PIN_TX, PIN_RX){}; - //Accesseurs - int getMessageType(){ - return m_messageType; - }; + //Methode + virtual void send() = 0; + protected: - - int floatToHex(float a) const{ - int q = *(int*)&a; - return q; - }; void writeInSendBuffer(int16_t var){ - if(var > 0 && var < 4096) this->sigfox.printf("0%hx", var); - else this->sigfox.printf("%hx", var); - }; + 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 + else this->sigfox.printf("%hx", var); // induit le parsing coté sigfox en erreur car le 0 ne sera pas pris en compte dans la + }; // reconversion en int16. 4096 est dont le seuil. - /*void writeInSendBuffer(float var){ - - if(var > 0 && var < 4096) this->sigfox.printf("0%x", var); - else this->sigfox.printf("%x", var); - };*/ - int16_t parseToInt16_t(int var){ + int16_t parseToInt16_t(int var){ // toutes nos données sont codées sur 16 bits. 2 chiffres sont gardés apres la virgule int16_t temp = var * 100; return temp; }; - int16_t parseToInt16_t(float var){ + int16_t parseToInt16_t(float var){ // surcharge de fonction pour les floatants int16_t temp = var * 100; return temp; }; - - int m_messageType; - Serial sigfox; + Serial sigfox; // declaration de la communication serie avec le module wisol };
diff -r 330f063d8cfa -r 7542ed5cd721 message_1.h --- a/message_1.h Wed Jan 23 14:27:12 2019 +0000 +++ b/message_1.h Mon Feb 04 11:46:26 2019 +0000 @@ -9,14 +9,14 @@ //Methodes: //constructeur - Message_1(int messageType, float tempExt, float tempInt, int humidite, float masse):Message(messageType){ + Message_1(float tempExt, float tempInt, int humidite, float masse):Message(){ this->m_tempExt = this->parseToInt16_t(tempExt); this->m_tempInt = this->parseToInt16_t(tempInt); this->m_humidite = this->parseToInt16_t(humidite); this->m_masse = this->parseToInt16_t(masse); }; - - void send(){ + + void send(){ //envoie de donnee a sigfox char donnee[] = "AT$SF="; this->sigfox.printf(donnee); this->writeInSendBuffer(this->m_tempExt); @@ -48,6 +48,7 @@ int16_t m_tempInt; int16_t m_humidite; int16_t m_masse; + };
diff -r 330f063d8cfa -r 7542ed5cd721 message_2.h --- a/message_2.h Wed Jan 23 14:27:12 2019 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -#ifndef MESSAGE_2_H -#define MESSAGE_2_H - -#include "mbed.h" -#include "message.h" - -class Message_2 : public Message { - public: - //Methodes: - - //constructeur - Message_2(int messageType, float longit, float lat, int luminosite):Message(messageType){ - m_longit = longit; - m_lat =lat; - m_luminosite = luminosite; - }; - - //Accesseurs - float getLongit() const{ - return m_longit; - }; - - float getLat() const{ - return m_lat; - }; - - int getLuminosite() const{ - return m_luminosite; - }; - - private: - float m_longit; - float m_lat; - int m_luminosite; -}; - - -#endif \ No newline at end of file