Skip to content
Snippets Groups Projects
Commit d66d8498 authored by Jan David Mol's avatar Jan David Mol
Browse files

L2SS-470: Do not initialise hardware when booting simulators.

parent 9f49efa8
No related branches found
No related tags found
1 merge request!176L2SS-470: Fix boot
{
"servers": {
"boot": {
"STAT": {
"Boot": {
"STAT/Boot/1": {
"properties": {
"Initialise_Hardware": [
"True"
]
}
}
}
}
},
"APSCT": {
"STAT": {
"APSCT": {
......
{
"servers": {
"boot": {
"STAT": {
"Boot": {
"STAT/Boot/1": {
"properties": {
"Initialise_Hardware": [
"True"
]
}
}
}
}
},
"RECV": {
"STAT": {
"RECV": {
......
{
"servers": {
"boot": {
"STAT": {
"Boot": {
"STAT/Boot/1": {
"properties": {
"Initialise_Hardware": [
"False"
]
}
}
}
}
},
"APSCT": {
"STAT": {
"APSCT": {
......
......@@ -49,8 +49,9 @@ class DevicesInitialiser(object):
the start() method, and progress can be followed by inspecting the
members progress (0-100), status (string), and is_running() (bool).
"""
def __init__(self, device_names, ignore_unavailable_devices=True, proxy_timeout=10.0):
def __init__(self, device_names, ignore_unavailable_devices=True, initialise_hardware=True, proxy_timeout=10.0):
self.ignore_unavailable_devices = ignore_unavailable_devices
self.initialise_hardware = initialise_hardware
self.device_names = device_names
self.proxy_timeout = proxy_timeout
......@@ -207,8 +208,9 @@ class DevicesInitialiser(object):
self.set_status(f"[restarting {device_name}] Setting defaults.")
proxy.set_defaults()
self.set_status(f"[restarting {device_name}] Initialising hardware.")
proxy.initialise_hardware()
if self.initialise_hardware:
self.set_status(f"[restarting {device_name}] Initialising hardware.")
proxy.initialise_hardware()
# mark as ready for service
self.set_status(f"[restarting {device_name}] Turning on device.")
......@@ -230,6 +232,13 @@ class Boot(lofar_device):
default_value=10.0,
)
# Initialise the hardware when initialising a station. Can end badly when using simulators.
Initialise_Hardware = device_property(
dtype='DevBoolean',
mandatory=False,
default_value=True,
)
# Which devices to initialise, and in which order
Device_Names = device_property(
dtype='DevVarStringArray',
......@@ -291,7 +300,7 @@ class Boot(lofar_device):
@log_exceptions()
def configure_for_initialise(self):
# create an initialiser object so we can query it even before starting the (first) initialisation
self.initialiser = DevicesInitialiser(self.Device_Names, self.Ignore_Unavailable_Devices, self.DeviceProxy_Time_Out)
self.initialiser = DevicesInitialiser(self.Device_Names, self.Ignore_Unavailable_Devices, self.Initialise_Hardware, self.DeviceProxy_Time_Out)
@command()
@DebugIt()
......@@ -322,7 +331,7 @@ class Boot(lofar_device):
pass
# start new initialisation attempt
self.initialiser = DevicesInitialiser(self.Device_Names, self.Ignore_Unavailable_Devices, self.DeviceProxy_Time_Out)
self.initialiser = DevicesInitialiser(self.Device_Names, self.Ignore_Unavailable_Devices, self.Initialise_Hardware, self.DeviceProxy_Time_Out)
self.initialiser.start()
@command()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment