add the WebUI to the system
This commit is contained in:
@@ -73,7 +73,7 @@ class AMAN:
|
|||||||
|
|
||||||
# initialize the worker thread
|
# initialize the worker thread
|
||||||
worker = Worker()
|
worker = Worker()
|
||||||
worker.acquire(icao, airportConfig, self.Weather, self.AircraftPerformance)
|
worker.acquire(icao, airportConfig, self.Weather, self.AircraftPerformance, self.WebUi)
|
||||||
self.Workers.append(worker)
|
self.Workers.append(worker)
|
||||||
print('Started worker for ' + icao)
|
print('Started worker for ' + icao)
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import sys
|
|||||||
import time
|
import time
|
||||||
|
|
||||||
from aman.com import Weather
|
from aman.com import Weather
|
||||||
|
from aman.com.WebUI import WebUI
|
||||||
from aman.config.Airport import Airport
|
from aman.config.Airport import Airport
|
||||||
from aman.sys.aco.Colony import Colony
|
from aman.sys.aco.Colony import Colony
|
||||||
from aman.sys.aco.Configuration import Configuration
|
from aman.sys.aco.Configuration import Configuration
|
||||||
@@ -24,11 +25,12 @@ class Worker(Thread):
|
|||||||
self.ReportQueue = {}
|
self.ReportQueue = {}
|
||||||
self.WeatherModel = None
|
self.WeatherModel = None
|
||||||
self.RecedingHorizonControl = None
|
self.RecedingHorizonControl = None
|
||||||
|
self.WebUi = None
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
self.release()
|
self.release()
|
||||||
|
|
||||||
def acquire(self, icao : str, configuration : Airport, weather : Weather, performance : PerformanceData):
|
def acquire(self, icao : str, configuration : Airport, weather : Weather, performance : PerformanceData, webui : WebUI):
|
||||||
self.StopThread = None
|
self.StopThread = None
|
||||||
self.Icao = icao
|
self.Icao = icao
|
||||||
self.Configuration = configuration
|
self.Configuration = configuration
|
||||||
@@ -38,6 +40,7 @@ class Worker(Thread):
|
|||||||
self.ReportQueue = {}
|
self.ReportQueue = {}
|
||||||
self.WeatherModel = WeatherModel(configuration.GaforId, weather)
|
self.WeatherModel = WeatherModel(configuration.GaforId, weather)
|
||||||
self.RecedingHorizonControl = RecedingHorizonControl(configuration.RecedingHorizonControl)
|
self.RecedingHorizonControl = RecedingHorizonControl(configuration.RecedingHorizonControl)
|
||||||
|
self.WebUi = webui
|
||||||
|
|
||||||
# merge the constraint information with the GNG information
|
# merge the constraint information with the GNG information
|
||||||
for runway in self.Configuration.GngData.ArrivalRoutes:
|
for runway in self.Configuration.GngData.ArrivalRoutes:
|
||||||
@@ -81,7 +84,7 @@ class Worker(Thread):
|
|||||||
while None == self.StopThread:
|
while None == self.StopThread:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
counter += 1
|
counter += 1
|
||||||
if 0 != (counter % 60):
|
if 0 != (counter % 10):
|
||||||
continue
|
continue
|
||||||
|
|
||||||
self.acquireLock()
|
self.acquireLock()
|
||||||
@@ -135,4 +138,9 @@ class Worker(Thread):
|
|||||||
else:
|
else:
|
||||||
print('No relevant inbounds found for the optimization in ' + self.Icao)
|
print('No relevant inbounds found for the optimization in ' + self.Icao)
|
||||||
|
|
||||||
|
# send the sequence to the GUI
|
||||||
|
self.WebUi.sendSequence(self.Icao, self.RecedingHorizonControl.sequence())
|
||||||
|
|
||||||
|
# TODO send the sequence to EuroScope
|
||||||
|
|
||||||
self.releaseLock()
|
self.releaseLock()
|
||||||
|
|||||||
Reference in New Issue
Block a user