guiguitant théo / lorawan-master

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers str_to_num.cpp Source File

str_to_num.cpp

00001 #include "str_to_num.h"
00002 
00003 uint8_t str_to_num::PH_uint(const char mesure[5])
00004 {
00005     double reso=0.1;
00006     double num;
00007     uint8_t res;
00008     num=atof(mesure);
00009     if(fmod((double)num,(double)reso)>=reso*0.5) num=num-fmod(num,reso)+reso;
00010     else num=num-(fmod(num,reso));
00011     num=num*10;
00012     res=(uint8_t)num;
00013     return res;
00014 }
00015 int16_t str_to_num::Temp_int(const char mesure[8])
00016 {
00017     double reso=0.1;
00018     double num;
00019     int16_t res;
00020     num=atof(mesure);
00021     if(fmod(num,reso)>=reso*0.5 && num>0) num=num-fmod(num,reso)+reso;
00022     else if(fmod(num,reso)>=reso*0.5 && num<0) num=num+fmod(num,reso)-reso;
00023     else if(num>0) num=num-(fmod(num,reso));
00024     else if(num<0) num=num+(fmod(num,reso));
00025     num=num*(1/reso);
00026     res=(int16_t)num;
00027     return res;
00028 }
00029 uint16_t str_to_num::Oxy_int(const char mesure[6]){
00030     double reso=0.1;
00031     double num;
00032     uint16_t res;
00033     num=atof(mesure);
00034     if(fmod(num,reso)>=reso*0.5) num=num-fmod(num,reso)+reso;
00035     else num=num-(fmod(num,reso));
00036     num=num*(1/reso);
00037     res=(uint16_t)num;
00038     return res;
00039 }
00040 uint16_t str_to_num::Cond_int(const char mesure[6]){
00041     double reso=0.1;
00042     double num;
00043     uint16_t res;
00044     num=atof(mesure);
00045     if(fmod(num,reso)>=reso*0.5) num=num-fmod(num,reso)+reso;
00046     else num=num-(fmod(num,reso));
00047     num=num*(1/reso);
00048     res=(uint16_t)num;
00049     return res;
00050 }