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,10 +198,12 @@ 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:
DBG("wind direction"); DBG("wind direction");
@ -211,19 +213,23 @@ 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:
DBG("dewpoint"); DBG("dewpoint");
@ -233,10 +239,12 @@ 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:
prval = 0; prval = 0;