check meteo paremeters before write them into system data

This commit is contained in:
Edward Emelianov 2022-10-21 12:38:32 +03:00
parent 32114c0a77
commit 47b1e8465f

View File

@ -198,9 +198,11 @@ params_ans check_meteo_params(){
DBG("wind speed"); DBG("wind speed");
meteoflags |= WSFLAG; meteoflags |= WSFLAG;
if(gotsegm && !(MeteoMode & INPUT_WND)){ // not entered by hands if(gotsegm && !(MeteoMode & INPUT_WND)){ // not entered by hands
if(f >= 0.f && f < 200.f){
val_Wnd = f; val_Wnd = f;
MeteoMode &= ~NET_WND; MeteoMode &= ~NET_WND;
MeteoMode |= SENSOR_WND; MeteoMode |= SENSOR_WND;
}
} }
break; break;
case REG_WDIR: case REG_WDIR:
@ -211,18 +213,22 @@ params_ans check_meteo_params(){
DBG("air temperature"); DBG("air temperature");
meteoflags |= TFLAG; meteoflags |= TFLAG;
if(gotsegm && !(MeteoMode & INPUT_T1)){ if(gotsegm && !(MeteoMode & INPUT_T1)){
if(f > -40.f && f < 40.f){
val_T1 = f; val_T1 = f;
MeteoMode &= ~NET_T1; MeteoMode &= ~NET_T1;
MeteoMode |= SENSOR_T1; MeteoMode |= SENSOR_T1;
}
} }
break; break;
case REG_HUM: case REG_HUM:
DBG("humidity"); DBG("humidity");
meteoflags |= HFLAG; meteoflags |= HFLAG;
if(gotsegm && !(MeteoMode & INPUT_HMD)){ if(gotsegm && !(MeteoMode & INPUT_HMD)){
if(f >= 0.f && f <= 100.f){
val_Hmd = f; val_Hmd = f;
MeteoMode &= ~NET_HMD; MeteoMode &= ~NET_HMD;
MeteoMode |= SENSOR_HMD; MeteoMode |= SENSOR_HMD;
}
} }
break; break;
case REG_DEW: case REG_DEW:
@ -233,9 +239,11 @@ params_ans check_meteo_params(){
f *= 760.f/1013.f; // convert hPa->mmHg f *= 760.f/1013.f; // convert hPa->mmHg
meteoflags |= PFLAG; meteoflags |= PFLAG;
if(gotsegm && !(MeteoMode & INPUT_B)){ if(gotsegm && !(MeteoMode & INPUT_B)){
if(f > 500.f && f < 700.f){
val_B = f; val_B = f;
MeteoMode &= ~NET_B; MeteoMode &= ~NET_B;
MeteoMode |= SENSOR_B; MeteoMode |= SENSOR_B;
}
} }
break; break;
default: default: