diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/mapper.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/mapper.py index 9e3bd89d0431a118416866d2ca014c4284008469..56d91572f08b150d66e46f9d5d5582af402885ac 100644 --- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/mapper.py +++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/mapper.py @@ -260,7 +260,10 @@ class AntennaMapper: ) in enumerate(zip(power_mapping, control_mapping)): if antenna_type == "LBA" and pwr_attribute: if dev_power > 0 and dev_control > 0: - mapped_values[dev_power] = set_values[idx] + mapped_values[dev_power - 1, dev_input_power] = set_values[idx] + mapped_values[dev_control - 1, dev_input_control] = set_values[ + idx + ] else: if dev_power > 0: mapped_values[dev_power - 1, dev_input_power] = set_values[idx][ diff --git a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py index b8e6ad462ad19ce2db7af798bf0af2fa682b317e..1860aea67773fbd446cd11dc4ec2b44d6085521f 100644 --- a/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py +++ b/tangostationcontrol/tangostationcontrol/devices/base_device_classes/recv_device.py @@ -100,7 +100,7 @@ class RECVDevice(OPCUADevice): doc="Maximum amount of time to wait after turning RCU(s) on or off", dtype="DevFloat", mandatory=False, - default_value=30.0, + default_value=60.0, ) RCU_DTH_On_Off_timeout = device_property( @@ -388,10 +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 - ) + + # NB: Powering on RCUs causes DTH to be turned off, which is what we want + # to create a steady baseline after powerup. This is done by RECVTR + # even if the RCUs are already powered on. def _power_hardware_off(self): """Turns off the RCUs.""" diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/bst.py b/tangostationcontrol/tangostationcontrol/devices/sdp/bst.py index 0614ceabf03f768f2dd5d46fcdf987c9869337d4..621c3ef6e4a74128b4112f863e54bbe0d67e5ad5 100644 --- a/tangostationcontrol/tangostationcontrol/devices/sdp/bst.py +++ b/tangostationcontrol/tangostationcontrol/devices/sdp/bst.py @@ -162,7 +162,7 @@ class BST(Statistics): comms_id=StatisticsClient, comms_annotation={"type": "statistics", "parameter": "bst_timestamps"}, dims=(N_pn,), - datatype=numpy.float32, + datatype=numpy.uint64, ) # reported integration interval # from each FPGA in the latest BSTs diff --git a/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py b/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py index 866529f4851d940ef1578d60d5eaceede4015ecd..37c87ccf3abda72d329ca956b974b46f93c090e5 100644 --- a/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py +++ b/tangostationcontrol/tangostationcontrol/devices/sdp/firmware.py @@ -296,12 +296,12 @@ class SDPFirmware(OPCUADevice): def _power_hardware_on(self): """Boot the SDP Firmware user image""" - self._boot_to_image(0) + self._boot_to_image(1) def _power_hardware_off(self): """Use the SDP Firmware factory image""" - self._boot_to_image(1) + self._boot_to_image(0) # -------- # Commands