diff --git a/README.md b/README.md index b3c2deb1c9244ebf6e01cd1e745852ce6fcab415..4ce91b47b883ced09e836672ab6487c8efa7c142 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ Next change the version in the following places: # Release Notes +* 0.28.2 Bugfixes / rollout fixes * 0.28.1 Bugfixes / rollout fixes * 0.28.0 Make `StationManager` device asynchronous * 0.27.2 Add new attributes in OPCUA devices diff --git a/tangostationcontrol/VERSION b/tangostationcontrol/VERSION index 48f7a71df4beb09d86a9e249e41dfff11d606e40..a37255a85b9f006788bc34d9f098a5235c3e36a2 100644 --- a/tangostationcontrol/VERSION +++ b/tangostationcontrol/VERSION @@ -1 +1 @@ -0.28.1 +0.28.2 diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py index 8de3c9f59f47071943de252d333b5b046ceaac50..5dd30f9cf1406de59cb89c2a580c2543553cf565 100644 --- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py +++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/power_hierarchy.py @@ -32,7 +32,7 @@ class PowerHierarchyDevice(AbstractHierarchyDevice): HIBERNATE_TIMEOUT = 60.0 STANDBY_TIMEOUT = 300.0 - ON_TIMEOUT = 300.0 + ON_TIMEOUT = 600.0 def init( self, diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py index 5f2fb24a6b3a2a06a3082fbd6c38f17308a5d2ee..4e8c5d781a5938362b4f52353311f0f622f97691 100644 --- a/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py +++ b/tangostationcontrol/tangostationcontrol/devices/sdp/beamlet.py @@ -34,6 +34,7 @@ from tangostationcontrol.common.constants import ( ) # Additional import +from tangostationcontrol.common.device_decorators import debugit from tangostationcontrol.common.lofar_logging import log_exceptions from tangostationcontrol.common.proxy import create_device_proxy from tangostationcontrol.common.sdp import phases_to_weights @@ -650,12 +651,17 @@ class Beamlet(OPCUADevice): "FPGA_beamlet_output_nof_destinations_RW_default_shorthand" ] - default_settings = [] + default_settings = [ + ("FPGA_beamlet_output_nof_destinations_RW", [nof_destinations] * N_pn), + ] # Set MAC, IP, port for setting, value_if_undefined in [ - ("FPGA_beamlet_output_multiple_hdr_eth_destination_mac_RW", ""), - ("FPGA_beamlet_output_multiple_hdr_ip_destination_address_RW", ""), + ( + "FPGA_beamlet_output_multiple_hdr_eth_destination_mac_RW", + "00:00:00:00:00:00", + ), + ("FPGA_beamlet_output_multiple_hdr_ip_destination_address_RW", "0.0.0.0"), ("FPGA_beamlet_output_multiple_hdr_udp_destination_port_RW", 0), ]: # obtain shorthand description (first values per fpga) @@ -680,6 +686,7 @@ class Beamlet(OPCUADevice): # report effective number of output destinations return self.read_attribute("FPGA_beamlet_output_nof_destinations_act_R") + @debugit() def write_FPGA_beamlet_output_nof_destinations_RW(self, value): old_FPGA_processing_enable = self.sdp_proxy.FPGA_processing_enable_RW try: diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py b/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py index f024dab2618a6005ffdd8fd3fc205e8ecf3260a4..8fa13ef5cd6550cc33146beab9cc160b7759ebb4 100644 --- a/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py +++ b/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py @@ -359,6 +359,13 @@ class SDPFirmware(OPCUADevice): self.Firmware_Boot_timeout, ) + # Wait for the new image to be booted + self.wait_attribute( + "TR_fpga_communication_error_R", + lambda attr: (~attr | ~wait_for).all(), + self.Firmware_Boot_timeout, + ) + def _power_hardware_on(self): """Boot the SDP Firmware user image""" diff --git a/tangostationcontrol/test/devices/sdp/test_beamlet_device.py b/tangostationcontrol/test/devices/sdp/test_beamlet_device.py index f8b1c74ed9180168e0c7f4bbafba870931f6cb02..062113ed123d3e044a0bb115a6824d233d89b43d 100644 --- a/tangostationcontrol/test/devices/sdp/test_beamlet_device.py +++ b/tangostationcontrol/test/devices/sdp/test_beamlet_device.py @@ -135,11 +135,11 @@ class TestBeamletDevice(base.TestCase): self.assertListEqual( defaults["FPGA_beamlet_output_multiple_hdr_eth_destination_mac_RW"], - [MACs + [""] * (N_bdo_destinations_mm - 4)] * N_pn, + [MACs + ["00:00:00:00:00:00"] * (N_bdo_destinations_mm - 4)] * N_pn, ) self.assertListEqual( defaults["FPGA_beamlet_output_multiple_hdr_ip_destination_address_RW"], - [IPs + [""] * (N_bdo_destinations_mm - 4)] * N_pn, + [IPs + ["0.0.0.0"] * (N_bdo_destinations_mm - 4)] * N_pn, ) self.assertListEqual( defaults["FPGA_beamlet_output_multiple_hdr_udp_destination_port_RW"],