diff --git a/tangostationcontrol/integration_test/default/devices/base_device_classes/test_power_hierarchy.py b/tangostationcontrol/integration_test/default/devices/base_device_classes/test_power_hierarchy.py index d311d8da88729e4ba335741dbf3f806f0ce9b182..b8330acf06c20d324a03dd773e514f22eebd510a 100644 --- a/tangostationcontrol/integration_test/default/devices/base_device_classes/test_power_hierarchy.py +++ b/tangostationcontrol/integration_test/default/devices/base_device_classes/test_power_hierarchy.py @@ -9,6 +9,7 @@ from integration_test import base from integration_test.device_proxy import TestDeviceProxy from tango import DevState, DeviceProxy +from tangostationcontrol.common.constants import N_rcu, N_rcu_inp from tangostationcontrol.common.case_insensitive_string import CaseInsensitiveString from tangostationcontrol.devices.base_device_classes.hierarchy_device import ( NotFoundException, @@ -160,7 +161,8 @@ class TestPowerHierarchyDevice(base.IntegrationTestCase): self.assertEqual(self.ccd_proxy.state(), DevState.ON) logger.info( - f"Exceptions suppressed in test_off_to_hibernate: {self.stationmanager_proxy.last_requested_transition_exceptions_R}" + "Exceptions suppressed in test_off_to_hibernate: %s", + self.stationmanager_proxy.last_requested_transition_exceptions_R, ) self.assertListEqual([], self._unacceptable_exceptions()) @@ -204,7 +206,8 @@ class TestPowerHierarchyDevice(base.IntegrationTestCase): ) logger.info( - f"Exceptions suppressed: {self.stationmanager_proxy.last_requested_transition_exceptions_R}" + "Exceptions suppressed: %s", + self.stationmanager_proxy.last_requested_transition_exceptions_R, ) self.assertListEqual([], self._unacceptable_exceptions()) @@ -227,8 +230,19 @@ class TestPowerHierarchyDevice(base.IntegrationTestCase): self.assertEqual(self.sdp_proxy.state(), DevState.ON) self.assertEqual(self.antennafield_proxy.state(), DevState.ON) + # Test if DTH and DAB are disabled + self.assertListEqual( + self.recvh_proxy.RCU_DTH_on_R.tolist(), + [[False] * N_rcu_inp] * N_rcu, + ) + self.assertListEqual( + self.antennafield_proxy.RCU_DAB_filter_on_RW.tolist(), + [False] * self.antennafield_proxy.nr_antennas_R, + ) + logger.info( - f"Exceptions suppressed: {self.stationmanager_proxy.last_requested_transition_exceptions_R}" + "Exceptions suppressed: %s", + self.stationmanager_proxy.last_requested_transition_exceptions_R, ) self.assertListEqual([], self._unacceptable_exceptions()) @@ -252,7 +266,8 @@ class TestPowerHierarchyDevice(base.IntegrationTestCase): self.assertEqual(self.antennafield_proxy.state(), DevState.OFF) logger.info( - f"Exceptions suppressed: {self.stationmanager_proxy.last_requested_transition_exceptions_R}" + "Exceptions suppressed: %s", + self.stationmanager_proxy.last_requested_transition_exceptions_R, ) self.assertListEqual([], self._unacceptable_exceptions()) @@ -281,7 +296,8 @@ class TestPowerHierarchyDevice(base.IntegrationTestCase): self.assertEqual(self.sdpfirmware_proxy.state(), DevState.OFF) logger.info( - f"Exceptions suppressed: {self.stationmanager_proxy.last_requested_transition_exceptions_R}" + "Exceptions suppressed: %s", + self.stationmanager_proxy.last_requested_transition_exceptions_R, ) self.assertListEqual([], self._unacceptable_exceptions()) diff --git a/tangostationcontrol/tangostationcontrol/devices/antennafield.py b/tangostationcontrol/tangostationcontrol/devices/antennafield.py index 4c1cb078051576c7de02b1ea0b8e32e37ae17d51..91be09afc8c28103c17614b7a2669a0f4b4d39f7 100644 --- a/tangostationcontrol/tangostationcontrol/devices/antennafield.py +++ b/tangostationcontrol/tangostationcontrol/devices/antennafield.py @@ -1075,6 +1075,12 @@ class AntennaField(LOFARDevice): # Configure the devices that process our antennas self.configure_recv() self.configure_sdp() + # Disable DAB filters for HBAs + if self.Antenna_Type == "HBA": + self.proxy.write_attribute( + "RCU_DAB_filter_on_RW", + [False] * self.read_nr_antennas_R(), + ) def _power_hardware_off(self): # Save actual mask values diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py index 1b8a8c5cb60e14ac50f9a7566870861e0b2119ad..b8e6ad462ad19ce2db7af798bf0af2fa682b317e 100644 --- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py +++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py @@ -388,6 +388,10 @@ class RECVDevice(OPCUADevice): self.RCU_on() self.wait_attribute("RECVTR_translator_busy_R", False, self.RCU_On_Off_timeout) + self.RCU_DTH_off() + self.wait_attribute( + "RECVTR_translator_busy_R", False, self.RCU_DTH_On_Off_timeout + ) def _power_hardware_off(self): """Turns off the RCUs."""