codes in progress
Dependents: RUCHE2-CODES_correctiondepoids RUCHE2-CODES_correction_de_poids
message.h@3:7542ed5cd721, 2019-02-04 (annotated)
- Committer:
- Sidibe
- Date:
- Mon Feb 04 11:46:26 2019 +0000
- Revision:
- 3:7542ed5cd721
- Parent:
- 2:330f063d8cfa
Ruche
Who changed what in which revision?
User | Revision | Line number | New 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 |