projet capteur connecté ST/SE
Dependencies: HP206C mbed HMC5883L DHT DS1820
communication.cpp
- Committer:
- MathieuM
- Date:
- 2018-10-09
- Revision:
- 68:26938422fa0c
- Parent:
- 45:60f602ecd59b
- Child:
- 76:04941d128fff
File content as of revision 68:26938422fa0c:
#include "mbed.h" #include "communication.h" char *genMessage(float h_sol, float h_air, float t_sol, float t_air, long pression, int16_t *chMag) { char *m; m = (char*)malloc(12*sizeof(char)); m[0] = ((char)h_sol) << 1; // b0 --- b6 m[0] = m[0] + (((char)h_air) >> 6); // b7 m[1] = ((char)h_air) << 2; // b8 --- b13 m[1] = m[1] + (((int)(t_sol * 10) + 200) & 0x300); // b14 --- b15 m[2] = ((int)(t_sol * 10) + 200) & 0x0ff; // b16 --- b23 m[3] = (((int)(t_sol * 10) + 200) >> 2) & 0xff; // b24 --- b31 m[4] = (((int)(t_sol * 10) + 200) & 0x03) << 10; // b32 --- b33 m[4] = m[4] + ((chMag[0] & 0x3ff) >> 4); // b34 --- b39 m[5] = chMag[0] & 0xf; // b40 --- b43 m[5] = m[5] + ((chMag[1] & 0x3ff) >> 6); // b44 --- b47 m[6] = (chMag[1] & 0x3f) << 2; // b48 --- b53 m[6] = m[6] + (chMag[2] & 0x3ff) >> 8; // b54 --- b55 m[7] = chMag[2] & 0xff; // b56 --- b63 m[8] = (char)((pression & 0xff0000) >> 16); // b64 --- b71 m[9] = (char)((pression & 0x00ff00) >> 8); // b72 --- b79 m[10] = (char)(pression & 0x0000ff); // b80 --- b87 return m; }