|
@@ -1,9 +1,10 @@
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
from threading import Thread, Lock
|
|
|
+import sys
|
|
|
import time
|
|
|
-from aman.com import Weather
|
|
|
|
|
|
+from aman.com import Weather
|
|
|
from aman.config.Airport import Airport
|
|
|
from aman.sys.aco.Configuration import Configuration
|
|
|
from aman.sys.WeatherModel import WeatherModel
|
|
@@ -36,6 +37,29 @@ class Worker(Thread):
|
|
|
self.ReportQueue = {}
|
|
|
self.WeatherModel = WeatherModel(configuration.GaforId, weather)
|
|
|
self.RecedingHorizonControl = RecedingHorizonControl(configuration.RecedingHorizonControl)
|
|
|
+
|
|
|
+ # merge the constraint information with the GNG information
|
|
|
+ for runway in self.Configuration.GngData.ArrivalRoutes:
|
|
|
+ for star in self.Configuration.GngData.ArrivalRoutes[runway]:
|
|
|
+ for name in self.Configuration.ArrivalRouteConstraints:
|
|
|
+ if name == star.Name:
|
|
|
+ for constraint in self.Configuration.ArrivalRouteConstraints[name]:
|
|
|
+ foundWaypoint = False
|
|
|
+
|
|
|
+ for waypoint in star.Route:
|
|
|
+ if constraint.Name == waypoint.Name:
|
|
|
+ waypoint.Altitude = constraint.Altitude
|
|
|
+ waypoint.Speed = constraint.Speed
|
|
|
+ waypoint.BaseTurn = constraint.BaseTurn
|
|
|
+ waypoint.FinalTurn = constraint.FinalTurn
|
|
|
+ foundWaypoint = True
|
|
|
+ break
|
|
|
+
|
|
|
+ if False == foundWaypoint:
|
|
|
+ sys.stderr.write('Unable to find ' + constraint.Name + ' in ' + name)
|
|
|
+ sys.exit(-1)
|
|
|
+ break
|
|
|
+
|
|
|
self.start()
|
|
|
|
|
|
def acquireLock(self):
|