tiz

Dependencies:   TextLCD X_NUCLEO_IKS01A1 func mbed-src mbed

Fork of mas by esproj

Committer:
herenvarno
Date:
Tue Aug 23 15:59:59 2016 +0000
Revision:
5:100310ea8fba
Parent:
4:3fecfc9eeadd
final

Who changed what in which revision?

UserRevisionLine numberNew contents of line
herenvarno 3:4355890e55b4 1 #include "RawData.h"
herenvarno 3:4355890e55b4 2
herenvarno 3:4355890e55b4 3 char buffer2[32];
herenvarno 5:100310ea8fba 4 const uint32_t __pressure_table[16]={1013, 995, 976, 959, 942, 925, 908, 892, 875, 859, 843, 812, 782, 752, 724, 696};
herenvarno 5:100310ea8fba 5 const uint32_t __altitude_table[16]={0, 500, 1000, 1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000, 10000};
herenvarno 5:100310ea8fba 6 const uint8_t __dir_table[5] = {'E', 'N', 'W', 'S', 'E'};
herenvarno 5:100310ea8fba 7
herenvarno 5:100310ea8fba 8 RawData::RawData()
herenvarno 5:100310ea8fba 9 {
herenvarno 5:100310ea8fba 10 this->__temp_offset=0;
herenvarno 5:100310ea8fba 11 this->__humi_offset=0;
herenvarno 5:100310ea8fba 12 this->__pressure_offset=0;
herenvarno 5:100310ea8fba 13 this->__altitude_offset=0;
herenvarno 5:100310ea8fba 14 this->__acc_offset[0]=0;
herenvarno 5:100310ea8fba 15 this->__acc_offset[1]=0;
herenvarno 5:100310ea8fba 16 this->__acc_offset[2]=0;
herenvarno 5:100310ea8fba 17 this->__gyr_offset[0]=0;
herenvarno 5:100310ea8fba 18 this->__gyr_offset[1]=0;
herenvarno 5:100310ea8fba 19 this->__gyr_offset[2]=0;
herenvarno 5:100310ea8fba 20 this->__mag_offset[0]=0;
herenvarno 5:100310ea8fba 21 this->__mag_offset[1]=0;
herenvarno 5:100310ea8fba 22 this->__mag_offset[2]=0;
herenvarno 5:100310ea8fba 23 }
herenvarno 3:4355890e55b4 24
herenvarno 3:4355890e55b4 25 void RawData::str_date(char *buffer)
herenvarno 3:4355890e55b4 26 {
herenvarno 3:4355890e55b4 27 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 3:4355890e55b4 28 strftime (buffer, 16, "%y-%m-%d", timeinfo);
herenvarno 3:4355890e55b4 29 }
herenvarno 3:4355890e55b4 30 void RawData::str_time(char *buffer)
herenvarno 3:4355890e55b4 31 {
herenvarno 3:4355890e55b4 32 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 3:4355890e55b4 33 strftime (buffer, 16, "%T", timeinfo);
herenvarno 3:4355890e55b4 34 }
herenvarno 3:4355890e55b4 35 void RawData::str_temperature(char *buffer)
herenvarno 3:4355890e55b4 36 {
herenvarno 5:100310ea8fba 37 if(this->calc_temperature()>=0)
herenvarno 5:100310ea8fba 38 snprintf(buffer, 16, "T: %sC", this->printDouble(buffer2, (this->calc_temperature())));
herenvarno 4:3fecfc9eeadd 39 else
herenvarno 5:100310ea8fba 40 snprintf(buffer, 16, "T:-%sC", this->printDouble(buffer2, -1*(this->calc_temperature())));
herenvarno 3:4355890e55b4 41 }
herenvarno 3:4355890e55b4 42 void RawData::str_humidity(char *buffer)
herenvarno 3:4355890e55b4 43 {
herenvarno 5:100310ea8fba 44 if(this->calc_humidity()<100)
herenvarno 5:100310ea8fba 45 snprintf(buffer, 16, "H: %sPer", this->printDouble(buffer2, (this->calc_humidity())));
herenvarno 4:3fecfc9eeadd 46 else
herenvarno 5:100310ea8fba 47 snprintf(buffer, 16, "H: 00.0Per");
herenvarno 3:4355890e55b4 48 }
herenvarno 3:4355890e55b4 49 void RawData::str_altitude(char *buffer)
herenvarno 3:4355890e55b4 50 {
herenvarno 5:100310ea8fba 51 snprintf(buffer, 16, "A: %4uM", this->calc_altitude());
herenvarno 3:4355890e55b4 52 }
herenvarno 3:4355890e55b4 53 void RawData::str_direction(char *buffer)
herenvarno 3:4355890e55b4 54 {
herenvarno 5:100310ea8fba 55 uint32_t dir = this->calc_cpassdir();
herenvarno 5:100310ea8fba 56 snprintf(buffer, 16, "D: %c%3uDeg", __dir_table[(dir+45)/90], dir);
herenvarno 3:4355890e55b4 57 }
herenvarno 3:4355890e55b4 58
herenvarno 5:100310ea8fba 59 char* RawData::printDouble(char* str, double v, int integerDigits, int decimalDigits)
herenvarno 3:4355890e55b4 60 {
herenvarno 3:4355890e55b4 61 int i = 1;
herenvarno 3:4355890e55b4 62 int intPart, fractPart;
herenvarno 3:4355890e55b4 63 int len;
herenvarno 3:4355890e55b4 64 char *ptr;
herenvarno 3:4355890e55b4 65
herenvarno 3:4355890e55b4 66 /* prepare decimal digits multiplicator */
herenvarno 3:4355890e55b4 67 for (;decimalDigits!=0; i*=10, decimalDigits--);
herenvarno 3:4355890e55b4 68
herenvarno 3:4355890e55b4 69 /* calculate integer & fractinal parts */
herenvarno 5:100310ea8fba 70 int powval=1;
herenvarno 5:100310ea8fba 71 for(int xx=0; xx<integerDigits;xx++)
herenvarno 5:100310ea8fba 72 powval = powval*10;
herenvarno 5:100310ea8fba 73
herenvarno 5:100310ea8fba 74 if(integerDigits>0)
herenvarno 5:100310ea8fba 75 intPart = (int)(v) % powval;
herenvarno 5:100310ea8fba 76 else
herenvarno 5:100310ea8fba 77 intPart = (int)(v);
herenvarno 3:4355890e55b4 78 fractPart = (int)((v-(double)(int)v)*i);
herenvarno 3:4355890e55b4 79
herenvarno 3:4355890e55b4 80 /* fill in integer part */
herenvarno 3:4355890e55b4 81 sprintf(str, "%i.", intPart);
herenvarno 3:4355890e55b4 82
herenvarno 3:4355890e55b4 83 /* prepare fill in of fractional part */
herenvarno 3:4355890e55b4 84 len = strlen(str);
herenvarno 3:4355890e55b4 85 ptr = &str[len];
herenvarno 3:4355890e55b4 86
herenvarno 3:4355890e55b4 87 /* fill in leading fractional zeros */
herenvarno 3:4355890e55b4 88 for (i/=10;i>1; i/=10, ptr++) {
herenvarno 3:4355890e55b4 89 if(fractPart >= i) break;
herenvarno 3:4355890e55b4 90 *ptr = '0';
herenvarno 3:4355890e55b4 91 }
herenvarno 3:4355890e55b4 92
herenvarno 3:4355890e55b4 93 /* fill in (rest of) fractional part */
herenvarno 3:4355890e55b4 94 sprintf(ptr, "%i", fractPart);
herenvarno 3:4355890e55b4 95
herenvarno 3:4355890e55b4 96 return str;
herenvarno 3:4355890e55b4 97 }
herenvarno 3:4355890e55b4 98
herenvarno 5:100310ea8fba 99
herenvarno 5:100310ea8fba 100 float RawData::calc_temperature()
herenvarno 5:100310ea8fba 101 {
herenvarno 5:100310ea8fba 102 return this->__temp+this->__temp_offset;
herenvarno 5:100310ea8fba 103 }
herenvarno 5:100310ea8fba 104 float RawData::calc_humidity()
herenvarno 5:100310ea8fba 105 {
herenvarno 5:100310ea8fba 106 return this->__humi+this->__humi_offset;
herenvarno 5:100310ea8fba 107 }
herenvarno 5:100310ea8fba 108 int32_t RawData::calc_altitude()
herenvarno 5:100310ea8fba 109 {
herenvarno 5:100310ea8fba 110 uint32_t altitude=0;
herenvarno 5:100310ea8fba 111 uint32_t bound_h=0, bound_l=16;
herenvarno 5:100310ea8fba 112 float pressure = (this->__prss+this->__pressure_offset)/10;
herenvarno 5:100310ea8fba 113 for(uint32_t i=0; i<16; i++)
herenvarno 5:100310ea8fba 114 {
herenvarno 5:100310ea8fba 115 if(__pressure_table[i]<= pressure)
herenvarno 5:100310ea8fba 116 {
herenvarno 5:100310ea8fba 117 bound_h=i;
herenvarno 5:100310ea8fba 118 break;
herenvarno 5:100310ea8fba 119 }
herenvarno 5:100310ea8fba 120 bound_l=i;
herenvarno 5:100310ea8fba 121 }
herenvarno 5:100310ea8fba 122 if(bound_h==bound_l){
herenvarno 5:100310ea8fba 123 this->__pressure_offset = __pressure_table[bound_l]-this->__prss;
herenvarno 5:100310ea8fba 124 altitude = __altitude_table[bound_l];
herenvarno 5:100310ea8fba 125 }else{
herenvarno 5:100310ea8fba 126 altitude = __altitude_table[bound_l]+(__altitude_table[bound_h]-__altitude_table[bound_l])/double(__pressure_table[bound_l]-__pressure_table[bound_h])*(__pressure_table[bound_l]-pressure);
herenvarno 5:100310ea8fba 127 }
herenvarno 5:100310ea8fba 128 int32_t a=int32_t(altitude+__altitude_offset);
herenvarno 5:100310ea8fba 129 return a;
herenvarno 5:100310ea8fba 130 }
herenvarno 5:100310ea8fba 131 int32_t RawData::calc_cpassdir()
herenvarno 5:100310ea8fba 132 {
herenvarno 5:100310ea8fba 133 int32_t dir =0;
herenvarno 5:100310ea8fba 134 float x = this->__mag[0]+this->__mag_offset[0];
herenvarno 5:100310ea8fba 135 float y = this->__mag[1]+this->__mag_offset[1];
herenvarno 5:100310ea8fba 136 if(y==0){
herenvarno 5:100310ea8fba 137 if(x>=0)
herenvarno 5:100310ea8fba 138 dir = 0;
herenvarno 5:100310ea8fba 139 else
herenvarno 5:100310ea8fba 140 dir = 180;
herenvarno 5:100310ea8fba 141 }else if(y>0){
herenvarno 5:100310ea8fba 142 dir = uint32_t(90-(atan(x/y))*180/3.14);
herenvarno 5:100310ea8fba 143 }else{
herenvarno 5:100310ea8fba 144 dir = uint32_t(270-(atan(x/y))*180/3.14);
herenvarno 5:100310ea8fba 145 }
herenvarno 5:100310ea8fba 146 return dir;
herenvarno 5:100310ea8fba 147 }
herenvarno 5:100310ea8fba 148
herenvarno 5:100310ea8fba 149
herenvarno 5:100310ea8fba 150
herenvarno 5:100310ea8fba 151
herenvarno 5:100310ea8fba 152
herenvarno 5:100310ea8fba 153
herenvarno 5:100310ea8fba 154
herenvarno 3:4355890e55b4 155 void RawData::add_year_10()
herenvarno 3:4355890e55b4 156 {
herenvarno 3:4355890e55b4 157 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 158 int year= timeinfo->tm_year;
herenvarno 4:3fecfc9eeadd 159 year+=10;
herenvarno 4:3fecfc9eeadd 160 if(year>=(2100-1900))
herenvarno 4:3fecfc9eeadd 161 year=timeinfo->tm_year-90;
herenvarno 4:3fecfc9eeadd 162 timeinfo->tm_year=year;
herenvarno 3:4355890e55b4 163 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 164 set_time(this->__time);
herenvarno 3:4355890e55b4 165 }
herenvarno 3:4355890e55b4 166 void RawData::add_year_1()
herenvarno 3:4355890e55b4 167 {
herenvarno 3:4355890e55b4 168 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 3:4355890e55b4 169 timeinfo->tm_year+=1;
herenvarno 3:4355890e55b4 170 if(timeinfo->tm_year%10==0)
herenvarno 3:4355890e55b4 171 timeinfo->tm_year-=10;
herenvarno 3:4355890e55b4 172 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 173 set_time(this->__time);
herenvarno 3:4355890e55b4 174 }
herenvarno 3:4355890e55b4 175 void RawData::add_month()
herenvarno 3:4355890e55b4 176 {
herenvarno 3:4355890e55b4 177 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 3:4355890e55b4 178 int mon=timeinfo->tm_mon;
herenvarno 3:4355890e55b4 179 mon+=1;
herenvarno 3:4355890e55b4 180 if(mon>11)
herenvarno 3:4355890e55b4 181 mon=0;
herenvarno 3:4355890e55b4 182 timeinfo->tm_mon=mon;
herenvarno 3:4355890e55b4 183 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 184 set_time(this->__time);
herenvarno 3:4355890e55b4 185 }
herenvarno 3:4355890e55b4 186 void RawData::add_day()
herenvarno 3:4355890e55b4 187 {
herenvarno 3:4355890e55b4 188 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 3:4355890e55b4 189 timeinfo->tm_yday=0;
herenvarno 3:4355890e55b4 190 timeinfo->tm_wday=0;
herenvarno 3:4355890e55b4 191 int day=timeinfo->tm_mday;
herenvarno 3:4355890e55b4 192 day+=1;
herenvarno 3:4355890e55b4 193 if(timeinfo->tm_mon==0 || timeinfo->tm_mon==2 || timeinfo->tm_mon==4 || timeinfo->tm_mon==6 || timeinfo->tm_mon==7 || timeinfo->tm_mon==9 || timeinfo->tm_mon==11)
herenvarno 3:4355890e55b4 194 {
herenvarno 4:3fecfc9eeadd 195 if(day>31)
herenvarno 4:3fecfc9eeadd 196 day=1;
herenvarno 3:4355890e55b4 197 }
herenvarno 3:4355890e55b4 198 else if(timeinfo->tm_mon==1)
herenvarno 3:4355890e55b4 199 {
herenvarno 3:4355890e55b4 200 if((timeinfo->tm_year+1900)%400==0 || ((timeinfo->tm_year+1900)%100!=0 && (timeinfo->tm_year+1900)%4==0) )
herenvarno 3:4355890e55b4 201 {
herenvarno 4:3fecfc9eeadd 202 if(day>29)
herenvarno 4:3fecfc9eeadd 203 day=1;
herenvarno 3:4355890e55b4 204 }
herenvarno 3:4355890e55b4 205 else
herenvarno 3:4355890e55b4 206 {
herenvarno 4:3fecfc9eeadd 207 if(day>28)
herenvarno 4:3fecfc9eeadd 208 day=1;
herenvarno 3:4355890e55b4 209 }
herenvarno 3:4355890e55b4 210 }
herenvarno 3:4355890e55b4 211 else
herenvarno 3:4355890e55b4 212 {
herenvarno 4:3fecfc9eeadd 213 if(day>30)
herenvarno 4:3fecfc9eeadd 214 day=1;
herenvarno 3:4355890e55b4 215 }
herenvarno 3:4355890e55b4 216 timeinfo->tm_mday=day;
herenvarno 3:4355890e55b4 217 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 218 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 219 }
herenvarno 4:3fecfc9eeadd 220 void RawData::add_hour()
herenvarno 4:3fecfc9eeadd 221 {
herenvarno 4:3fecfc9eeadd 222 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 223 int hour=timeinfo->tm_hour;
herenvarno 4:3fecfc9eeadd 224 hour+=1;
herenvarno 4:3fecfc9eeadd 225 if(hour>23)
herenvarno 4:3fecfc9eeadd 226 hour=0;
herenvarno 4:3fecfc9eeadd 227 timeinfo->tm_hour=hour;
herenvarno 4:3fecfc9eeadd 228 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 229 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 230 }
herenvarno 4:3fecfc9eeadd 231 void RawData::add_min_10()
herenvarno 4:3fecfc9eeadd 232 {
herenvarno 4:3fecfc9eeadd 233 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 234 int min=timeinfo->tm_min;
herenvarno 4:3fecfc9eeadd 235 min+=10;
herenvarno 4:3fecfc9eeadd 236 if(min>=60)
herenvarno 4:3fecfc9eeadd 237 min-=60;
herenvarno 4:3fecfc9eeadd 238 timeinfo->tm_min=min;
herenvarno 4:3fecfc9eeadd 239 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 240 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 241 }
herenvarno 4:3fecfc9eeadd 242 void RawData::add_min_1()
herenvarno 4:3fecfc9eeadd 243 {
herenvarno 4:3fecfc9eeadd 244 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 245 int min=timeinfo->tm_min;
herenvarno 4:3fecfc9eeadd 246 min+=1;
herenvarno 4:3fecfc9eeadd 247 if(min%10==0)
herenvarno 4:3fecfc9eeadd 248 min-=10;
herenvarno 4:3fecfc9eeadd 249 timeinfo->tm_min=min;
herenvarno 4:3fecfc9eeadd 250 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 251 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 252 }
herenvarno 4:3fecfc9eeadd 253 void RawData::add_sec_10()
herenvarno 4:3fecfc9eeadd 254 {
herenvarno 4:3fecfc9eeadd 255 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 256 int sec=timeinfo->tm_sec;
herenvarno 4:3fecfc9eeadd 257 sec+=10;
herenvarno 4:3fecfc9eeadd 258 if(sec>=60)
herenvarno 4:3fecfc9eeadd 259 sec-=60;
herenvarno 4:3fecfc9eeadd 260 timeinfo->tm_sec=sec;
herenvarno 4:3fecfc9eeadd 261 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 262 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 263 }
herenvarno 4:3fecfc9eeadd 264 void RawData::add_sec_1()
herenvarno 4:3fecfc9eeadd 265 {
herenvarno 4:3fecfc9eeadd 266 struct tm *timeinfo = localtime (&(this->__time));
herenvarno 4:3fecfc9eeadd 267 int sec=timeinfo->tm_sec;
herenvarno 4:3fecfc9eeadd 268 sec+=1;
herenvarno 4:3fecfc9eeadd 269 if(sec%10==0)
herenvarno 4:3fecfc9eeadd 270 sec-=10;
herenvarno 4:3fecfc9eeadd 271 timeinfo->tm_sec=sec;
herenvarno 4:3fecfc9eeadd 272 this->__time=mktime(timeinfo);
herenvarno 5:100310ea8fba 273 set_time(this->__time);
herenvarno 4:3fecfc9eeadd 274 }
herenvarno 4:3fecfc9eeadd 275 void RawData::add_temp_sign()
herenvarno 4:3fecfc9eeadd 276 {
herenvarno 5:100310ea8fba 277 this->__temp_offset= -1*(this->calc_temperature())-this->__temp;
herenvarno 4:3fecfc9eeadd 278 }
herenvarno 4:3fecfc9eeadd 279 void RawData::add_temp_10()
herenvarno 4:3fecfc9eeadd 280 {
herenvarno 5:100310ea8fba 281 float val = this->__temp_offset;
herenvarno 5:100310ea8fba 282 if(this->__temp+val>=0)
herenvarno 4:3fecfc9eeadd 283 val+=10;
herenvarno 4:3fecfc9eeadd 284 else
herenvarno 4:3fecfc9eeadd 285 val-=10;
herenvarno 5:100310ea8fba 286 if(this->__temp+val>=100)
herenvarno 4:3fecfc9eeadd 287 val-=100;
herenvarno 5:100310ea8fba 288 else if(this->__temp+val<=-100)
herenvarno 4:3fecfc9eeadd 289 val+=100;
herenvarno 5:100310ea8fba 290 this->__temp_offset=val;
herenvarno 4:3fecfc9eeadd 291 }
herenvarno 4:3fecfc9eeadd 292 void RawData::add_temp_1()
herenvarno 4:3fecfc9eeadd 293 {
herenvarno 5:100310ea8fba 294 float val= this->__temp_offset;
herenvarno 5:100310ea8fba 295 if(this->__temp+val>=0)
herenvarno 4:3fecfc9eeadd 296 val+=1;
herenvarno 4:3fecfc9eeadd 297 else
herenvarno 4:3fecfc9eeadd 298 val-=1;
herenvarno 5:100310ea8fba 299 if((this->__temp+val)>=0 && (int)(this->__temp+val)%10==0)
herenvarno 4:3fecfc9eeadd 300 val-=10;
herenvarno 5:100310ea8fba 301 else if((this->__temp+val)<0 && (int)(this->__temp+val)%10==0)
herenvarno 4:3fecfc9eeadd 302 val+=10;
herenvarno 5:100310ea8fba 303 this->__temp_offset=val;
herenvarno 4:3fecfc9eeadd 304 }
herenvarno 4:3fecfc9eeadd 305 void RawData::add_temp_1_10()
herenvarno 4:3fecfc9eeadd 306 {
herenvarno 5:100310ea8fba 307 float val=(this->__temp_offset*10);
herenvarno 5:100310ea8fba 308 if(this->__temp*10+val>=0)
herenvarno 4:3fecfc9eeadd 309 val+=1;
herenvarno 4:3fecfc9eeadd 310 else
herenvarno 4:3fecfc9eeadd 311 val-=1;
herenvarno 5:100310ea8fba 312 if(this->__temp*10+val>=0 && (int)(this->__temp*10+val)%10==0)
herenvarno 4:3fecfc9eeadd 313 val-=10;
herenvarno 5:100310ea8fba 314 else if(this->__temp*10+val<0 && (int)(this->__temp*10+val)%10==0)
herenvarno 4:3fecfc9eeadd 315 val+=10;
herenvarno 5:100310ea8fba 316 this->__temp_offset=val/10.0;
herenvarno 4:3fecfc9eeadd 317 }
herenvarno 4:3fecfc9eeadd 318 void RawData::add_humi_10()
herenvarno 4:3fecfc9eeadd 319 {
herenvarno 5:100310ea8fba 320 float val=this->__humi_offset;
herenvarno 4:3fecfc9eeadd 321 val+=10;
herenvarno 5:100310ea8fba 322 if((int)(this->__humi+val)>=100)
herenvarno 4:3fecfc9eeadd 323 val-=100;
herenvarno 5:100310ea8fba 324 this->__humi_offset=val;
herenvarno 4:3fecfc9eeadd 325 }
herenvarno 4:3fecfc9eeadd 326 void RawData::add_humi_1()
herenvarno 4:3fecfc9eeadd 327 {
herenvarno 5:100310ea8fba 328 float val=this->__humi_offset;
herenvarno 5:100310ea8fba 329 int delta = (int)(this->__humi_offset);
herenvarno 5:100310ea8fba 330 val = val-delta;
herenvarno 5:100310ea8fba 331 delta+=1;
herenvarno 5:100310ea8fba 332 if((int)(this->__humi+delta)%10==0)
herenvarno 5:100310ea8fba 333 delta-=10;
herenvarno 5:100310ea8fba 334 this->__humi_offset=val+delta;
herenvarno 4:3fecfc9eeadd 335 }
herenvarno 4:3fecfc9eeadd 336 void RawData::add_humi_1_10()
herenvarno 4:3fecfc9eeadd 337 {
herenvarno 5:100310ea8fba 338 int delta=(int)(this->__humi_offset*10);
herenvarno 5:100310ea8fba 339 delta+=1;
herenvarno 5:100310ea8fba 340 if((int)(this->__humi*10+delta)%10==0)
herenvarno 5:100310ea8fba 341 delta-=10;
herenvarno 5:100310ea8fba 342 this->__humi_offset=delta/10.0;
herenvarno 5:100310ea8fba 343 }
herenvarno 5:100310ea8fba 344
herenvarno 5:100310ea8fba 345 // ALTITUDE
herenvarno 5:100310ea8fba 346 void RawData::add_altitude_1000()
herenvarno 5:100310ea8fba 347 {
herenvarno 5:100310ea8fba 348 this->__altitude_offset+=1000;
herenvarno 5:100310ea8fba 349 if(this->calc_altitude()>=10000)
herenvarno 5:100310ea8fba 350 this->__altitude_offset-=10000;
herenvarno 4:3fecfc9eeadd 351 }
herenvarno 5:100310ea8fba 352 void RawData::add_altitude_100()
herenvarno 5:100310ea8fba 353 {
herenvarno 5:100310ea8fba 354 this->__altitude_offset+=100;
herenvarno 5:100310ea8fba 355 if((this->calc_altitude()/100)%10==0)
herenvarno 5:100310ea8fba 356 this->__altitude_offset-=1000;
herenvarno 5:100310ea8fba 357 }
herenvarno 5:100310ea8fba 358 void RawData::add_altitude_10()
herenvarno 4:3fecfc9eeadd 359 {
herenvarno 5:100310ea8fba 360 this->__altitude_offset+=10;
herenvarno 5:100310ea8fba 361 if((this->calc_altitude()/10)%10==0)
herenvarno 5:100310ea8fba 362 this->__altitude_offset-=100;
herenvarno 5:100310ea8fba 363 }
herenvarno 5:100310ea8fba 364 void RawData::add_altitude_1()
herenvarno 5:100310ea8fba 365 {
herenvarno 5:100310ea8fba 366 this->__altitude_offset+=1;
herenvarno 5:100310ea8fba 367 if(this->calc_altitude()%10==0)
herenvarno 5:100310ea8fba 368 this->__altitude_offset-=10;
herenvarno 3:4355890e55b4 369 }