1
0
Fork 0
Commit graph

38 commits

Author SHA1 Message Date
Alessandro Menti
2d86fc11ad Replace the NOAA METAR URL with the new, updated one 2016-08-04 20:34:34 +02:00
James Turner
733e3b3f0c HTTP subsystem has a default name.
Switch to using type-safe accessors now.
2016-03-24 15:08:38 +00:00
Rebecca N. Palmer
9745a6fce3 remove obsolete comments
see 1cd070de8c
2015-04-09 19:05:22 +01:00
Torsten Dreyer
7b62f6ce2f Catch exception by reference, not by value 2015-04-07 12:11:15 +02:00
Torsten Dreyer
1cd070de8c Better fix for NoaaMetarGetRequest::onDone
Keep a reference to the LiveMetarProperties while the HTTP request is active
Also, drop the MetarDataHandler which was unneeded overhead
2015-04-07 11:59:07 +02:00
Rebecca N. Palmer
235693c1c4 Don't free METAR objects, it makes NoaaMetarGetRequest::onDone crash 2015-04-04 14:32:58 +01:00
Torsten Dreyer
a56694f962 Make command "request-metar" also work
same problem as previous commit :-/
2015-03-30 17:11:47 +02:00
Torsten Dreyer
8baf72aabd Make command "clear-metar" work
Didn't work if the client used a non-expanded property path
(like the airport dialog)
2015-03-30 16:13:01 +02:00
Torsten Dreyer
4564dbd95e Live weather: ensure valid flag is set correctly 2015-03-09 12:24:36 +01:00
James Turner
99fd9513d9 Metar: finalise-position fast if Metar fails
- when METAR lookup fails (as opposed to timing out), report
this immediately so finalise-position doesn't wait.
2014-02-24 19:43:21 +00:00
James Turner
4dcd96c4af Remove dependency on command-mgr singleton
Use explicit instance (from globals)
2013-11-25 09:14:46 +00:00
James Turner
0751556aab Reset: remove commands 2013-11-12 22:47:46 +00:00
James Turner
75a01aa588 Reset: ensure Wx controller destroys cleanly. 2013-10-29 23:01:29 +00:00
Thomas Geymayer
8a582e6376 Update/refactor for simgear HTTP changes. 2013-10-27 19:39:22 +01:00
James Turner
c6221b2c84 Fix max-metar-age, bug #1076.
Will merge to 2.10 branch once verified.
2013-03-17 13:14:08 +00:00
James Turner
2905c96f47 METAR selection of runway works for reset.
Explicitly reinit the realwx subsystem on sim-reset, so METAR is updated within the 10-second finalizePosition window.
2012-12-16 15:05:21 +00:00
James Turner
dc132ab475 Issue #809, restructure position init code.
Modify startup sequence, so position can be modified late in the startup process, right before the scenery load starts. This allows two ugly hacks to move to a permanent, less hacky location. If other position init modes required similar late evaluation in the future, this can be accommodated now.

This is a somewhat high-risk change - I've tested both carrier starts and runway-selection based on realwx METAR, but please look out for other position-init issues and test before / after this patch.
2012-12-09 19:41:31 +00:00
James Turner
379e7a2fd5 Make HTTPClient a proper subsystem.
Avoid some statics, and incidentally make the proxy host/port settings dynamic (re-init the subsystem to update proxy settings, woo).
2012-11-19 11:30:12 +00:00
James Turner
01be5529ba Commands to bind metar to the property tree.
New commands request-metar and clear-metar will bind metar reports to an arbitrary property tree path. E.g:

fgcommand("request-metar", var n = props.Node.new({ "path": "/foo/mymetar", "station":"LOWI"}));
2012-09-23 16:55:29 +01:00
James Turner
2218a44ed7 Support loading PropertyList data remotely, as part of #450. Along the way, centralise the HTTPClient object so it can be used beyond the METAR download engine. 2012-04-18 10:25:27 +01:00
Torsten Dreyer
644bb8c4f4 Spring-cleaning: some minor optimization
- initialize uninitialized properties
- use prefix instead of postfix increments
- reduce visibility of variables
- use empty() instead of size() == 0 for vector and string
- pass string by reference, not by value
2012-03-06 22:28:18 +01:00
Torsten Dreyer
de7debe253 simplify the METAR string, remove newline etc. 2011-12-31 17:31:13 +01:00
Torsten Dreyer
520c002058 Fix #535: METAR from command line ignored 2011-12-22 22:11:37 +01:00
James Turner
d75c0878fe Switch the realWx controller to use the event-manager, and be slightly quieter. 2011-11-01 22:40:31 +00:00
James Turner
b1b4b7ecf4 Fix (nearly) all the std:: namespace violations in headers, in preparation for fixing SGsmplstat.hxx to *not* do a 'using namespace std'. 2011-10-17 17:41:59 +01:00
Torsten Dreyer
54f1b83f98 refactor the realwx-controller
clean up the code and prepare for new real-weather sources
2011-08-26 09:01:31 +02:00
ThorstenB
e9a9f8c96d Use some more logging class variety.
Stop using SG_GENERAL and SG_ALL everywhere. Using different
classes makes switching the classes really useful...
2011-08-12 00:09:26 +02:00
James Turner
3c9f4ad73e Switch RealWx to use simgear::HTTP class. Also tweak metar-proxy to send a HTTP status response. 2011-08-08 18:16:49 +01:00
ThorstenB
189457f2af Minor namespace issue
using "using" in the .cxx now :)
2011-03-23 22:49:18 +01:00
ThorstenB
f6fde388a2 Untie all TiedPropertyLists before destruction.
Untieing needs to be done prior to the destruction of the object which
aggregated the TiedPropertyList. So the TiedPropertyLists destructor can't
untie the properties automatically (and it doesn't). So, do some manual
clean-up.
2011-03-07 19:38:48 +01:00
ThorstenB
ae320ca46c Avoid crash and/or long delay on shutdown in METAR loader.
Catching loader thread on subsystem destruction is too late, since it
depends on other subsystems (which are destroyed earlier).
=> Need to stop & join thread during subsystem shutdown.
Also changed loader sleep logic - to avoid excessive delays (up to
30 seconds) on shutdown.
(Issues mostly happened when running offline with realwx enabled.)
2011-02-13 16:54:08 +01:00
Torsten Dreyer
d1b35578c8 Move tiedpropertylist from flightgear to simgear 2011-02-06 15:44:09 +01:00
Torsten Dreyer
b085649f20 Code cleanup, no functional change 2011-01-23 21:51:07 +01:00
Torsten Dreyer
9337584df0 METAR: enable reports from multiple stations
This patch enables multiple MetarProperties instances tied to the
property tree. For each node's value of /environment/realwx/metar
one MetarProperties instance is created and tied to the property
tree named there. (See FGDATA/Environment/environment.xml for details)

At least one instance will be created to provice backward compatibility
to the existing live-data weather system. This instance (tied to
/environment/metar) fetches a METAR for the nearest airport at a regular
schedule. All other instances fetch a report for airports named in the
property station-id. It re-reads the report every 15 minutes, the
remaining time until the next fetch will be scheduled is in the property
time-to-live. This property can be written to, to extend the live of
this report or schedule an immediate reload by setting it's value to zero.

This patch also provides magnetic variation for the station's location.
2011-01-07 13:11:06 +01:00
Torsten Dreyer
6db56e8f27 Bugfix: Immediately fetch METAR on reenabling of "Live data"
If "Live data" was disabled in any way in the global-weather dialog
and reenabled later, the next metar fetch occoured only after up
to 15 minutes after the report expired. This patch triggers triggers
an immediate fetch of a metar after enabling live data.
2010-12-22 08:34:44 +01:00
Torsten Dreyer
06fb956f2c Fix timing issue on startup for auto runway selection
The automatic runway selection code in startup.nas depends
on a valid metar before /sim/signals/nasal-dir-initialized
is fired. If the METAR arrives after that signal, no automatic
runway selection is performed. This patch waits for a METAR
on the first update() loop of the subsystem.
2010-10-11 21:21:53 +02:00
Torsten Dreyer
5ed04a6227 Ignore outdated METAR for realwx 2010-09-27 18:59:26 +02:00
Torsten Dreyer
5c6fe95259 Environment controller overhaul
This is the initial commit for a reworked environment controller.
The main intention is to decouple the individual modules like
metar fetch, metar properties, environment interpolation etc.
to make it easier for other weather module developers to modify
environment settings.
As a side effect, the dialogs for weather-scenario, weather-conditions,
clouds and precipitations have been merged into a single dialog
2010-09-11 16:11:35 +02:00