From a611a91fe3fd5dc6a42b99093f272b9bb9ccdedb Mon Sep 17 00:00:00 2001 From: Sven Czarnian Date: Wed, 13 Oct 2021 16:17:10 +0200 Subject: [PATCH] merge the constraints and the arrival routes --- aman/sys/Worker.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/aman/sys/Worker.py b/aman/sys/Worker.py index 03ac7a1..a54f5a1 100644 --- a/aman/sys/Worker.py +++ b/aman/sys/Worker.py @@ -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):