]> git.mxchange.org Git - flightgear.git/blobdiff - src/Environment/environment_ctrl.cxx
Harald JOHNSEN:
[flightgear.git] / src / Environment / environment_ctrl.cxx
index 21fb708e671a5315898b672ca1d380f6994150a1..9872c6d0c5f16d157c894961e26c27264eb7cddc 100644 (file)
@@ -324,6 +324,7 @@ FGMetarEnvironmentCtrl::FGMetarEnvironmentCtrl ()
       proxy_host( fgGetNode("/sim/presets/proxy/host", true) ),
       proxy_port( fgGetNode("/sim/presets/proxy/port", true) ),
       proxy_auth( fgGetNode("/sim/presets/proxy/authentication", true) ),
+      metar_max_age( fgGetNode("/environment/params/metar-max-age-min", true) ),
       _error_count( 0 ),
       _error_dt( 0.0 )
 {
@@ -493,6 +494,7 @@ FGMetarEnvironmentCtrl::update(double delta_time_sec)
         result_queue.pop();
         if ( result.m != NULL ) {
             update_metar_properties( result.m );
+            fgSetString("/environment/metar/last-metar", result.m->getData());
             delete result.m;
             update_env_config();
             env->reinit();
@@ -543,7 +545,8 @@ FGMetarEnvironmentCtrl::fetch_data( const string &icao )
         string port = proxy_port->getStringValue();
         result.m = new FGMetar( icao, host, port, auth);
 
-        if (result.m->getAge_min() > 4 * 60) {
+        long max_age = metar_max_age->getLongValue();
+        if (max_age && result.m->getAge_min() > max_age) {
             SG_LOG( SG_GENERAL, SG_WARN, "METAR data too old");
             delete result.m;
             result.m = NULL;