diff --git a/app/src/main/cpp/PhoneDevice.cpp b/app/src/main/cpp/PhoneDevice.cpp index dae8b5ba..8da9c21f 100644 --- a/app/src/main/cpp/PhoneDevice.cpp +++ b/app/src/main/cpp/PhoneDevice.cpp @@ -3104,13 +3104,17 @@ int CPhoneDevice::GetIceData(IDevice::ICE_INFO *iceInfo, IDevice::ICE_TAIL *iceT } GetWindSpeedData(&airt); - iceTail->instantaneous_windspeed = airt.EuValue; + if(airt.AiState == 2) + iceTail->instantaneous_windspeed = airt.EuValue; GetWindDirectionData(&airt); - iceTail->instantaneous_winddirection = airt.EuValue;//需求无符号整数给出浮点数 + if(airt.AiState == 2) + iceTail->instantaneous_winddirection = airt.EuValue;//需求无符号整数给出浮点数 GetAirTempData(&airt); - iceTail->air_temperature = airt.EuValue; + if(airt.AiState == 2) + iceTail->air_temperature = airt.EuValue; GetHumidityData(&airt); - iceTail->humidity = airt.EuValue;//需求无符号整数给出浮点数 + if(airt.AiState == 2) + iceTail->humidity = airt.EuValue;//需求无符号整数给出浮点数 return true; } @@ -3123,23 +3127,30 @@ int CPhoneDevice::GetWData(IDevice::WEATHER_INFO *weatherInfo) Data_DEF airt; GetWeatherData(&airt, 0); + if(airt.AiState == 2) weatherInfo->air_temperature = airt.EuValue; if (airt.AiState == -1) return false; GetWeatherData(&airt, 1); + if(airt.AiState == 2) weatherInfo->humidity = airt.EuValue; GetWeatherData(&airt, 2); + if(airt.AiState == 2) weatherInfo->avg_windspeed_10min = airt.EuValue; weatherInfo->extreme_windspeed = airt.EuValue; weatherInfo->standard_windspeed = airt.EuValue; GetWeatherData(&airt, 3); + if(airt.AiState == 2) weatherInfo->avg_winddirection_10min = airt.EuValue; GetWeatherData(&airt, 4); + if(airt.AiState == 2) weatherInfo->precipitation = airt.EuValue; GetWeatherData(&airt, 5); + if(airt.AiState == 2) weatherInfo->air_pressure = airt.EuValue; GetWeatherData(&airt, 6); + if(airt.AiState == 2) weatherInfo->radiation_intensity = airt.EuValue; return true;