From c4d52d7125ece480acb1492a5fc0ba7fc60f9ea1 Mon Sep 17 00:00:00 2001 From: Annyas <annyas@astron.nl> Date: Wed, 22 Sep 2021 13:57:43 +0200 Subject: [PATCH] L2SS-357:Renamed PCC to RECV --- CDB/LOFAR_ConfigDb.json | 6 +- CDB/integration_ConfigDb.json | 8 +- CDB/jasper_ConfigDb.json | 6 +- CDB/pypcc-sim-config.json | 8 +- CDB/test_ConfigDb.json | 6 +- CDB/thijs_ConfigDb.json | 6 +- CDB/thomas_ConfigDb.json | 6 +- CDB/thomas_arm64_ConfigDb.json | 6 +- CDB/windows_ConfigDb.json | 6 +- devices/devices/hardware_device.py | 4 +- devices/devices/{pcc.py => recv.py} | 78 ++++---- devices/devices/unb2.py | 138 +++++++------- devices/examples/load_from_disk/ini_device.py | 2 +- devices/examples/snmp/snmp.py | 4 +- devices/integration_test/README.md | 2 +- .../{test_apsct_sim.py => test_unb2_sim.py} | 9 +- ...test_device_pcc.py => test_device_recv.py} | 18 +- devices/setup.cfg | 2 +- devices/toolkit/archiver.py | 2 +- devices/toolkit/lts_cold_start.py | 56 +++--- devices/toolkit/startup.py | 2 +- .../{device-pcc.yml => device-recv.yml} | 8 +- .../grafana/dashboards/lofar2.0-station.json | 16 +- .../dashboards/version-information.json | 4 +- .../startup/01-devices.py | 4 +- .../{pypcc-sim.yml => recv-sim.yml} | 10 +- .../{pypcc-sim => recv-sim}/Dockerfile | 2 +- .../{pypcc-sim => recv-sim}/requirements.txt | 0 jupyter-notebooks/PCC_notebook.ipynb | 177 ------------------ ...pynb => RECV_archive_all_attributes.ipynb} | 146 +++++++-------- ...ute.ipynb => RECV_archive_attribute.ipynb} | 2 +- ...SDP_notebook.ipynb => RECV_notebook.ipynb} | 0 jupyter-notebooks/Start All Devices.ipynb | 2 +- jupyter-notebooks/archiving_demo.ipynb | 6 +- sbin/run_integration_test.sh | 2 +- 35 files changed, 288 insertions(+), 466 deletions(-) rename devices/devices/{pcc.py => recv.py} (58%) rename devices/integration_test/client/{test_apsct_sim.py => test_unb2_sim.py} (65%) rename devices/integration_test/devices/{test_device_pcc.py => test_device_recv.py} (73%) rename docker-compose/{device-pcc.yml => device-recv.yml} (86%) rename docker-compose/{pypcc-sim.yml => recv-sim.yml} (52%) rename docker-compose/{pypcc-sim => recv-sim}/Dockerfile (95%) rename docker-compose/{pypcc-sim => recv-sim}/requirements.txt (100%) delete mode 100644 jupyter-notebooks/PCC_notebook.ipynb rename jupyter-notebooks/{PCC_archive_all_attributes.ipynb => RECV_archive_all_attributes.ipynb} (51%) rename jupyter-notebooks/{PCC_archive_attribute.ipynb => RECV_archive_attribute.ipynb} (99%) rename jupyter-notebooks/{SDP_notebook.ipynb => RECV_notebook.ipynb} (100%) diff --git a/CDB/LOFAR_ConfigDb.json b/CDB/LOFAR_ConfigDb.json index 8f50e8807..9fcc8cf35 100644 --- a/CDB/LOFAR_ConfigDb.json +++ b/CDB/LOFAR_ConfigDb.json @@ -14,10 +14,10 @@ } } }, - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "attribute_properties": { "Ant_mask_RW": { "archive_period": [ diff --git a/CDB/integration_ConfigDb.json b/CDB/integration_ConfigDb.json index b2f9cca6d..0b643c219 100644 --- a/CDB/integration_ConfigDb.json +++ b/CDB/integration_ConfigDb.json @@ -1,12 +1,12 @@ { "servers": { - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ - "pypcc-sim" + "pyrecv-sim" ], "OPC_Server_Port": [ "4842" diff --git a/CDB/jasper_ConfigDb.json b/CDB/jasper_ConfigDb.json index d31074cc3..b8ce969d8 100644 --- a/CDB/jasper_ConfigDb.json +++ b/CDB/jasper_ConfigDb.json @@ -14,10 +14,10 @@ } } }, - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "attribute_properties": { "Ant_mask_RW": { "archive_period": [ diff --git a/CDB/pypcc-sim-config.json b/CDB/pypcc-sim-config.json index c5288f56b..aaa09bc66 100644 --- a/CDB/pypcc-sim-config.json +++ b/CDB/pypcc-sim-config.json @@ -1,12 +1,12 @@ { "servers": { - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ - "pypcc-sim" + "pyrecv-sim" ], "OPC_Server_Port": [ "4842" diff --git a/CDB/test_ConfigDb.json b/CDB/test_ConfigDb.json index 879d73f27..b73683f9f 100644 --- a/CDB/test_ConfigDb.json +++ b/CDB/test_ConfigDb.json @@ -1,9 +1,9 @@ { "servers": { - "PCC": { + "RECV": { "1": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ "ltspi.astron.nl" diff --git a/CDB/thijs_ConfigDb.json b/CDB/thijs_ConfigDb.json index 37ae6d7b6..35c644789 100644 --- a/CDB/thijs_ConfigDb.json +++ b/CDB/thijs_ConfigDb.json @@ -1,9 +1,9 @@ { "servers": { - "PCC": { + "RECV": { "1": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ "host.docker.internal" diff --git a/CDB/thomas_ConfigDb.json b/CDB/thomas_ConfigDb.json index 33c19e162..93256085f 100644 --- a/CDB/thomas_ConfigDb.json +++ b/CDB/thomas_ConfigDb.json @@ -1,9 +1,9 @@ { "servers": { - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ "okeanos" diff --git a/CDB/thomas_arm64_ConfigDb.json b/CDB/thomas_arm64_ConfigDb.json index 4d010b690..298794f42 100644 --- a/CDB/thomas_arm64_ConfigDb.json +++ b/CDB/thomas_arm64_ConfigDb.json @@ -1,9 +1,9 @@ { "servers": { - "PCC": { + "RECV": { "LTS": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ "arm2" diff --git a/CDB/windows_ConfigDb.json b/CDB/windows_ConfigDb.json index c84fb3855..ac8b7ef7f 100644 --- a/CDB/windows_ConfigDb.json +++ b/CDB/windows_ConfigDb.json @@ -1,9 +1,9 @@ { "servers": { - "PCC": { + "RECV": { "1": { - "PCC": { - "LTS/PCC/1": { + "RECV": { + "LTS/RECV/1": { "properties": { "OPC_Server_Name": [ "host.docker.internal" diff --git a/devices/devices/hardware_device.py b/devices/devices/hardware_device.py index c0e7df614..986d0b0df 100644 --- a/devices/devices/hardware_device.py +++ b/devices/devices/hardware_device.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- # -# This file is part of the PCC project +# This file is part of the XXX project # # # # Distributed under the terms of the APACHE license. # See LICENSE.txt for more info. -""" PCC Device Server for LOFAR2.0 +"""Hardware Device Server for LOFAR2.0 """ diff --git a/devices/devices/pcc.py b/devices/devices/recv.py similarity index 58% rename from devices/devices/pcc.py rename to devices/devices/recv.py index 73b105abc..6731b2c13 100644 --- a/devices/devices/pcc.py +++ b/devices/devices/recv.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- # -# This file is part of the PCC project +# This file is part of the RECV project # # # # Distributed under the terms of the APACHE license. # See LICENSE.txt for more info. -""" PCC Device Server for LOFAR2.0 +""" RECV Device Server for LOFAR2.0 """ @@ -33,10 +33,10 @@ from devices.hardware_device import hardware_device from common.lofar_logging import device_logging_to_python, log_exceptions from common.lofar_git import get_version -__all__ = ["PCC", "main"] +__all__ = ["RECV", "main"] @device_logging_to_python() -class PCC(hardware_device): +class RECV(hardware_device): """ **Properties:** @@ -77,38 +77,38 @@ class PCC(hardware_device): # Attributes # ---------- version_R = attribute(dtype=str, access=AttrWriteType.READ, fget=lambda self: get_version()) - Ant_mask_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:Ant_mask_RW"], datatype=numpy.bool_, dims=(3, 32), access=AttrWriteType.READ_WRITE) - CLK_Enable_PWR_R = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_Enable_PWR_R"], datatype=numpy.bool_) - CLK_I2C_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_I2C_STATUS_R"], datatype=numpy.int64) - CLK_PLL_error_R = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_PLL_error_R"], datatype=numpy.bool_) - CLK_PLL_locked_R = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_PLL_locked_R"], datatype=numpy.bool_) - CLK_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_monitor_rate_RW"], datatype=numpy.int64, access=AttrWriteType.READ_WRITE) - CLK_translator_busy_R = attribute_wrapper(comms_annotation=["2:PCC", "2:CLK_translator_busy_R"], datatype=numpy.bool_) - HBA_element_beamformer_delays_R = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_beamformer_delays_R"], datatype=numpy.int64, dims=(32, 96)) - HBA_element_beamformer_delays_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_beamformer_delays_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) - HBA_element_led_R = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_led_R"], datatype=numpy.int64, dims=(32, 96)) - HBA_element_led_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_led_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) - HBA_element_LNA_pwr_R = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_LNA_pwr_R"], datatype=numpy.int64, dims=(32, 96)) - HBA_element_LNA_pwr_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_LNA_pwr_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) - HBA_element_pwr_R = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_pwr_R"], datatype=numpy.int64, dims=(32, 96)) - HBA_element_pwr_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:HBA_element_pwr_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) - RCU_ADC_lock_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_ADC_lock_R"], datatype=numpy.int64, dims=(3, 32)) - RCU_attenuator_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_attenuator_R"], datatype=numpy.int64, dims=(3, 32)) - RCU_attenuator_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_attenuator_RW"], datatype=numpy.int64, dims=(3, 32), access=AttrWriteType.READ_WRITE) - RCU_band_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_band_R"], datatype=numpy.int64, dims=(3, 32)) - RCU_band_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_band_RW"], datatype=numpy.int64, dims=(3, 32), access=AttrWriteType.READ_WRITE) - RCU_I2C_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_I2C_STATUS_R"], datatype=numpy.int64, dims=(32,)) - RCU_ID_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_ID_R"], datatype=numpy.int64, dims=(32,)) - RCU_LED0_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_LED0_R"], datatype=numpy.bool_, dims=(32,)) - RCU_LED0_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_LED0_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) - RCU_LED1_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_LED1_R"], datatype=numpy.bool_, dims=(32,)) - RCU_LED1_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_LED1_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) - RCU_mask_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_mask_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) - RCU_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_monitor_rate_RW"], datatype=numpy.int64, access=AttrWriteType.READ_WRITE) - RCU_Pwr_dig_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_Pwr_dig_R"], datatype=numpy.bool_, dims=(32,)) - RCU_temperature_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_temperature_R"], datatype=numpy.float64, dims=(32,)) - RCU_translator_busy_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_translator_busy_R"], datatype=numpy.bool_) - RCU_version_R = attribute_wrapper(comms_annotation=["2:PCC", "2:RCU_version_R"], datatype=numpy.str_, dims=(32,)) + Ant_mask_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:Ant_mask_RW"], datatype=numpy.bool_, dims=(3, 32), access=AttrWriteType.READ_WRITE) + CLK_Enable_PWR_R = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_Enable_PWR_R"], datatype=numpy.bool_) + CLK_I2C_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_I2C_STATUS_R"], datatype=numpy.int64) + CLK_PLL_error_R = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_PLL_error_R"], datatype=numpy.bool_) + CLK_PLL_locked_R = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_PLL_locked_R"], datatype=numpy.bool_) + CLK_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_monitor_rate_RW"], datatype=numpy.int64, access=AttrWriteType.READ_WRITE) + CLK_translator_busy_R = attribute_wrapper(comms_annotation=["2:RECV", "2:CLK_translator_busy_R"], datatype=numpy.bool_) + HBA_element_beamformer_delays_R = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_beamformer_delays_R"], datatype=numpy.int64, dims=(32, 96)) + HBA_element_beamformer_delays_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_beamformer_delays_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) + HBA_element_led_R = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_led_R"], datatype=numpy.int64, dims=(32, 96)) + HBA_element_led_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_led_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) + HBA_element_LNA_pwr_R = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_LNA_pwr_R"], datatype=numpy.int64, dims=(32, 96)) + HBA_element_LNA_pwr_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_LNA_pwr_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) + HBA_element_pwr_R = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_pwr_R"], datatype=numpy.int64, dims=(32, 96)) + HBA_element_pwr_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:HBA_element_pwr_RW"], datatype=numpy.int64, dims=(32, 96), access=AttrWriteType.READ_WRITE) + RCU_ADC_lock_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_ADC_lock_R"], datatype=numpy.int64, dims=(3, 32)) + RCU_attenuator_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_attenuator_R"], datatype=numpy.int64, dims=(3, 32)) + RCU_attenuator_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_attenuator_RW"], datatype=numpy.int64, dims=(3, 32), access=AttrWriteType.READ_WRITE) + RCU_band_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_band_R"], datatype=numpy.int64, dims=(3, 32)) + RCU_band_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_band_RW"], datatype=numpy.int64, dims=(3, 32), access=AttrWriteType.READ_WRITE) + RCU_I2C_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_I2C_STATUS_R"], datatype=numpy.int64, dims=(32,)) + RCU_ID_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_ID_R"], datatype=numpy.int64, dims=(32,)) + RCU_LED0_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_LED0_R"], datatype=numpy.bool_, dims=(32,)) + RCU_LED0_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_LED0_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) + RCU_LED1_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_LED1_R"], datatype=numpy.bool_, dims=(32,)) + RCU_LED1_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_LED1_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) + RCU_mask_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_mask_RW"], datatype=numpy.bool_, dims=(32,), access=AttrWriteType.READ_WRITE) + RCU_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_monitor_rate_RW"], datatype=numpy.int64, access=AttrWriteType.READ_WRITE) + RCU_Pwr_dig_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_Pwr_dig_R"], datatype=numpy.bool_, dims=(32,)) + RCU_temperature_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_temperature_R"], datatype=numpy.float64, dims=(32,)) + RCU_translator_busy_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_translator_busy_R"], datatype=numpy.bool_) + RCU_version_R = attribute_wrapper(comms_annotation=["2:RECV", "2:RCU_version_R"], datatype=numpy.str_, dims=(32,)) @log_exceptions() def delete_device(self): @@ -156,7 +156,7 @@ class PCC(hardware_device): except Exception as e: # use the pass function instead of setting read/write fails i.set_pass_func() - self.warn_stream("error while setting the PCC attribute {} read/write function. {}".format(i, e)) + self.warn_stream("error while setting the RECV attribute {} read/write function. {}".format(i, e)) self.OPCua_client.start() @@ -247,12 +247,12 @@ class PCC(hardware_device): # Run server # ---------- def main(args=None, **kwargs): - """Main function of the PCC module.""" + """Main function of the RECV module.""" from common.lofar_logging import configure_logger configure_logger() - return run((PCC,), args=args, **kwargs) + return run((RECV,), args=args, **kwargs) if __name__ == '__main__': diff --git a/devices/devices/unb2.py b/devices/devices/unb2.py index 2df8528a6..059f2848d 100644 --- a/devices/devices/unb2.py +++ b/devices/devices/unb2.py @@ -87,81 +87,81 @@ class UNB2(hardware_device): ##XXX Means Under discussion # Special case for the on off switch: instead of UNB2_Power_ON_OFF_R we use UNB2_POL_FPGA_CORE_VOUT_R as the MP - UNB2_Power_ON_OFF_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_Power_ON_OFF_RW"], datatype=numpy.bool_, dims=(N_unb,), access=AttrWriteType.READ_WRITE) - UNB2_Front_Panel_LED_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_Front_Panel_LED_RW"], datatype=numpy.uint8, dims=(N_unb,), access=AttrWriteType.READ_WRITE) - UNB2_Front_Panel_LED_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_Front_Panel_LED_R"], datatype=numpy.uint8, dims=(N_unb,)) - UNB2_mask_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_mask_RW"], datatype=numpy.bool_, dims=(N_unb,), access=AttrWriteType.READ_WRITE) + UNB2_Power_ON_OFF_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_Power_ON_OFF_RW"], datatype=numpy.bool_, dims=(N_unb,), access=AttrWriteType.READ_WRITE) + UNB2_Front_Panel_LED_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_Front_Panel_LED_RW"], datatype=numpy.uint8, dims=(N_unb,), access=AttrWriteType.READ_WRITE) + UNB2_Front_Panel_LED_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_Front_Panel_LED_R"], datatype=numpy.uint8, dims=(N_unb,)) + UNB2_mask_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_mask_RW"], datatype=numpy.bool_, dims=(N_unb,), access=AttrWriteType.READ_WRITE) # Not yet deployed - #UNB2_mask_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_mask_R"], datatype=numpy.bool_, dims=(N_unb,)) + #UNB2_mask_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_mask_R"], datatype=numpy.bool_, dims=(N_unb,)) ### Central MP per Uniboard # These three are only available in UNB2c - UNB2_I2C_bus_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_STATUS_R"], datatype=numpy.bool_, dims=(N_unb,)) + UNB2_I2C_bus_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_STATUS_R"], datatype=numpy.bool_, dims=(N_unb,)) ##UNB2_I2C_bus_STATUS_R will probably be renamed to UNB2_I2C_bus_OK_R - ##UNB2_I2C_bus_OK_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_OK_R"], datatype=numpy.bool_, dims=(N_unb,)) - #UNB2_EEPROM_Serial_Number_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_EEPROM_Serial_Number_R"], datatype=numpy.str, dims=(N_unb,)) - UNB2_EEPROM_Unique_ID_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_EEPROM_Unique_ID_R"], datatype=numpy.uint32, dims=(N_unb,)) - UNB2_DC_DC_48V_12V_VIN_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_DC_DC_48V_12V_VIN_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_DC_DC_48V_12V_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_DC_DC_48V_12V_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_DC_DC_48V_12V_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_DC_DC_48V_12V_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_DC_DC_48V_12V_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_DC_DC_48V_12V_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N01_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N01_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N01_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N01_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N01_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N01_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N23_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N23_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N23_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N23_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_QSFP_N23_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_QSFP_N23_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_1V2_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_1V2_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_1V2_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_1V2_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_1V2_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_1V2_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_PHY_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_PHY_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_PHY_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_PHY_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_SWITCH_PHY_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_SWITCH_PHY_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_CLOCK_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_CLOCK_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_CLOCK_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_CLOCK_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) - UNB2_POL_CLOCK_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_CLOCK_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + ##UNB2_I2C_bus_OK_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_OK_R"], datatype=numpy.bool_, dims=(N_unb,)) + #UNB2_EEPROM_Serial_Number_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_EEPROM_Serial_Number_R"], datatype=numpy.str, dims=(N_unb,)) + UNB2_EEPROM_Unique_ID_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_EEPROM_Unique_ID_R"], datatype=numpy.uint32, dims=(N_unb,)) + UNB2_DC_DC_48V_12V_VIN_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_DC_DC_48V_12V_VIN_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_DC_DC_48V_12V_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_DC_DC_48V_12V_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_DC_DC_48V_12V_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_DC_DC_48V_12V_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_DC_DC_48V_12V_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_DC_DC_48V_12V_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N01_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N01_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N01_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N01_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N01_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N01_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N23_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N23_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N23_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N23_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_QSFP_N23_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_QSFP_N23_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_1V2_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_1V2_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_1V2_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_1V2_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_1V2_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_1V2_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_PHY_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_PHY_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_PHY_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_PHY_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_SWITCH_PHY_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_SWITCH_PHY_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_CLOCK_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_CLOCK_VOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_CLOCK_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_CLOCK_IOUT_R"], datatype=numpy.double, dims=(N_unb,)) + UNB2_POL_CLOCK_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_CLOCK_TEMP_R"], datatype=numpy.double, dims=(N_unb,)) ### Local MP per FPGA - UNB2_FPGA_DDR4_SLOT_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_DDR4_SLOT_TEMP_R"], datatype=numpy.double, dims=((N_fpga * N_ddr), N_unb)) - #UNB2_FPGA_DDR4_SLOT_PART_NUMBER_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_DDR4_SLOT_PART_NUMBER_R"], datatype=numpy.str, dims=(N_fpga * N_ddr), N_unb)) - #UNB2_FPGA_QSFP_CAGE_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_0_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_1_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_1_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_2_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_2_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_3_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_3_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_4_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_4_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_5_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_5_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_0_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_1_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_1_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_2_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_2_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_3_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_3_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_4_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_4_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_QSFP_CAGE_5_LOS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_QSFP_CAGE_5_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) - #UNB2_FPGA_POL_CORE_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_FPGA_CORE_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_CORE_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_CORE_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_CORE_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_CORE_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_ERAM_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_ERAM_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_ERAM_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_ERAM_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_ERAM_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_ERAM_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_RXGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_RXGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_RXGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_RXGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_RXGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_RXGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_TXGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_TXGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_TXGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_TXGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - #UNB2_FPGA_POL_TXGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_POL_FPGA_TXGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_HGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_HGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_HGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_HGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_HGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_HGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_PGM_VOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_PGM_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_PGM_IOUT_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_PGM_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - UNB2_FPGA_POL_PGM_TEMP_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_FPGA_POL_PGM_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) - - - ##UNB2_I2C_bus_QSFP_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_QSFP_STATUS_R"], datatype=numpy.int64, dims=((N_unb * N_fpga), N_qsfp)) - ##UNB2_I2C_bus_DDR4_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_DDR4_STATUS_R"], datatype=numpy.int64, dims=(N_ddr, N_fpga)) - ##UNB2_I2C_bus_FPGA_PS_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_FPGA_PS_STATUS_R"], datatype=numpy.int64, dims=(N_unb * N_fpga,)) - ##UNB2_I2C_bus_PS_STATUS_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_I2C_bus_PS_STATUS_R"], datatype=numpy.double, dims=(N_unb,)) - ##UNB2_translator_busy_R = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_translator_busy_R"], datatype=numpy.bool_) - ##UNB2_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:PCC", "2:UNB2_monitor_rate_RW"], datatype=numpy.double, dims=(N_unb,), access=AttrWriteType.READ_WRITE) + UNB2_FPGA_DDR4_SLOT_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_DDR4_SLOT_TEMP_R"], datatype=numpy.double, dims=((N_fpga * N_ddr), N_unb)) + #UNB2_FPGA_DDR4_SLOT_PART_NUMBER_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_DDR4_SLOT_PART_NUMBER_R"], datatype=numpy.str, dims=(N_fpga * N_ddr), N_unb)) + #UNB2_FPGA_QSFP_CAGE_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_0_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_1_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_1_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_2_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_2_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_3_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_3_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_4_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_4_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_5_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_5_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_0_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_1_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_1_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_2_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_2_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_3_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_3_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_4_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_4_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_QSFP_CAGE_5_LOS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_QSFP_CAGE_5_LOS_R"], datatype=numpy.uint8, dims=(N_fpga, N_unb)) + #UNB2_FPGA_POL_CORE_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_FPGA_CORE_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_CORE_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_CORE_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_CORE_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_CORE_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_ERAM_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_ERAM_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_ERAM_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_ERAM_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_ERAM_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_ERAM_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_RXGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_RXGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_RXGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_RXGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_RXGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_RXGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_TXGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_TXGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_TXGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_TXGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + #UNB2_FPGA_POL_TXGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_POL_FPGA_TXGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_HGXB_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_HGXB_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_HGXB_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_HGXB_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_HGXB_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_HGXB_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_PGM_VOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_PGM_VOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_PGM_IOUT_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_PGM_IOUT_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + UNB2_FPGA_POL_PGM_TEMP_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_FPGA_POL_PGM_TEMP_R"], datatype=numpy.double, dims=(N_fpga, N_unb)) + + + ##UNB2_I2C_bus_QSFP_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_QSFP_STATUS_R"], datatype=numpy.int64, dims=((N_unb * N_fpga), N_qsfp)) + ##UNB2_I2C_bus_DDR4_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_DDR4_STATUS_R"], datatype=numpy.int64, dims=(N_ddr, N_fpga)) + ##UNB2_I2C_bus_FPGA_PS_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_FPGA_PS_STATUS_R"], datatype=numpy.int64, dims=(N_unb * N_fpga,)) + ##UNB2_I2C_bus_PS_STATUS_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_I2C_bus_PS_STATUS_R"], datatype=numpy.double, dims=(N_unb,)) + ##UNB2_translator_busy_R = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_translator_busy_R"], datatype=numpy.bool_) + ##UNB2_monitor_rate_RW = attribute_wrapper(comms_annotation=["2:RECV", "2:UNB2_monitor_rate_RW"], datatype=numpy.double, dims=(N_unb,), access=AttrWriteType.READ_WRITE) @@ -195,7 +195,7 @@ class UNB2(hardware_device): @log_exceptions() def configure_for_initialise(self): """ user code here. is called when the sate is set to INIT """ - """Initialises the attributes and properties of the PCC.""" + """Initialises the attributes and properties of theRECV.""" # set up the OPC ua client self.OPCua_client = OPCUAConnection("opc.tcp://{}:{}/".format(self.OPC_Server_Name, self.OPC_Server_Port), "http://lofar.eu", self.OPC_Time_Out, self.Fault, self) diff --git a/devices/examples/load_from_disk/ini_device.py b/devices/examples/load_from_disk/ini_device.py index e4aaef906..4015faf0a 100644 --- a/devices/examples/load_from_disk/ini_device.py +++ b/devices/examples/load_from_disk/ini_device.py @@ -106,7 +106,7 @@ class ini_device(hardware_device): # -------- def configure_for_initialise(self): """ user code here. is called when the sate is set to INIT """ - """Initialises the attributes and properties of the PCC.""" + """Initialises the attributes and properties of the Hardware.""" # set up the OPC ua client self.ini_client = ini_client("example.ini", self.Fault, self) diff --git a/devices/examples/snmp/snmp.py b/devices/examples/snmp/snmp.py index b54c4fe90..a36f6b730 100644 --- a/devices/examples/snmp/snmp.py +++ b/devices/examples/snmp/snmp.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# This file is part of the PCC project +# This file is part of theRECV project # # # @@ -116,7 +116,7 @@ class SNMP(hardware_device): # Run server # ---------- def main(args=None, **kwargs): - """Main function of the PCC module.""" + """Main function of the module.""" from common.lofar_logging import configure_logger import logging diff --git a/devices/integration_test/README.md b/devices/integration_test/README.md index 3292bfa00..d3ee7ea53 100644 --- a/devices/integration_test/README.md +++ b/devices/integration_test/README.md @@ -7,7 +7,7 @@ container will be build by the makefiles but should only be started by the dedicated integration test script. This script will ensure that other containers are running and are in the required state. -* Launch pypcc-sim and sdptr-sim simulators. +* Launch pyrecv-sim and sdptr-sim simulators. * Reconfigure dsconfig to use these simulators. * Create and start the integration-test container. diff --git a/devices/integration_test/client/test_apsct_sim.py b/devices/integration_test/client/test_unb2_sim.py similarity index 65% rename from devices/integration_test/client/test_apsct_sim.py rename to devices/integration_test/client/test_unb2_sim.py index 775c34cd2..e2e441b5c 100644 --- a/devices/integration_test/client/test_apsct_sim.py +++ b/devices/integration_test/client/test_unb2_sim.py @@ -12,16 +12,15 @@ from opcua import Client from integration_test import base -class TestAPSCTSim(base.IntegrationTestCase): +class TestUNB2Sim(base.IntegrationTestCase): def setUp(self): - super(TestAPSCTSim, self).setUp() + super(TestUNB2Sim, self).setUp() def test_opcua_connection(self): - """Check if we can connect to apsct-sim""" + """Check if we can connect to unb2-sim""" - #TODO(Corne): Replace to APSCT name once simulator name has changed - client = Client("opc.tcp://pypcc-sim:4842") + client = Client("opc.tcp://pyrecv-sim:4842") root_node = None try: diff --git a/devices/integration_test/devices/test_device_pcc.py b/devices/integration_test/devices/test_device_recv.py similarity index 73% rename from devices/integration_test/devices/test_device_pcc.py rename to devices/integration_test/devices/test_device_recv.py index b3b7a4672..3a010a000 100644 --- a/devices/integration_test/devices/test_device_pcc.py +++ b/devices/integration_test/devices/test_device_recv.py @@ -15,14 +15,14 @@ from tango._tango import DevState from integration_test import base -class TestDevicePCC(base.IntegrationTestCase): +class TestDeviceRECV(base.IntegrationTestCase): def setUp(self): - super(TestDevicePCC, self).setUp() + super(TestDeviceRECV, self).setUp() def tearDown(self): """Turn device Off in teardown to prevent blocking tests""" - d = DeviceProxy("LTS/PCC/1") + d = DeviceProxy("LTS/RECV/1") try: d.Off() @@ -30,26 +30,26 @@ class TestDevicePCC(base.IntegrationTestCase): """Failing to turn Off devices should not raise errors here""" print(f"Failed to turn device off in teardown {e}") - def test_device_proxy_pcc(self): + def test_device_proxy_recv(self): """Test if we can successfully create a DeviceProxy and fetch state""" - d = DeviceProxy("LTS/PCC/1") + d = DeviceProxy("LTS/RECV/1") self.assertEqual(DevState.OFF, d.state()) - def test_device_pcc_initialize(self): + def test_device_recv_initialize(self): """Test if we can transition to standby""" - d = DeviceProxy("LTS/PCC/1") + d = DeviceProxy("LTS/RECV/1") d.initialise() self.assertEqual(DevState.STANDBY, d.state()) - def test_device_pcc_on(self): + def test_device_recv_on(self): """Test if we can transition to on""" - d = DeviceProxy("LTS/PCC/1") + d = DeviceProxy("LTS/RECV/1") d.initialise() diff --git a/devices/setup.cfg b/devices/setup.cfg index 860016bbe..55b29032e 100644 --- a/devices/setup.cfg +++ b/devices/setup.cfg @@ -27,4 +27,4 @@ package_dir=./ [entry_points] console_scripts = SDP = SDP:main - PCC = PCC:main + RECV = RECV:main diff --git a/devices/toolkit/archiver.py b/devices/toolkit/archiver.py index aa67d66a1..3df98c383 100644 --- a/devices/toolkit/archiver.py +++ b/devices/toolkit/archiver.py @@ -222,7 +222,7 @@ class AttributeFormatException(Exception): """ Exception that handles wrong attribute naming """ - def __init__(self, message="Wrong Tango attribute format! Try: domain/family/member/attribute (e.g. LTS/PCC/1/temperature)"): + def __init__(self, message="Wrong Tango attribute format! Try: domain/family/member/attribute (e.g. LTS/RECV/1/temperature)"): self.message = message super().__init__(self.message) diff --git a/devices/toolkit/lts_cold_start.py b/devices/toolkit/lts_cold_start.py index fb558ff2c..47d3243e2 100644 --- a/devices/toolkit/lts_cold_start.py +++ b/devices/toolkit/lts_cold_start.py @@ -60,10 +60,10 @@ def lts_cold_start(): # Define the LOFAR2.0 specific log format configure_logging() - # Get a reference to the PCC device, do not + # Get a reference to the RECV device, do not # force a restart of the already running Tango # device. - pcc = startup("LTS/PCC/1") + recv = startup("LTS/RECV/1") # Getting CLK, RCU & RCU ADCs into proper shape for use by real people. # @@ -86,51 +86,51 @@ def lts_cold_start(): # # # Steps 1.1 & 1.2 - pcc.CLK_off() + recv.CLK_off() # 2021-04-30, Thomas # This should be refactored into a function. timeout = 10.0 - while pcc.CLK_translator_busy_R is True: + while recv.CLK_translator_busy_R is True: logging.debug("Waiting on \"CLK_translator_busy_R\" to become \"True\"...") timeout = timeout - 1.0 if timeout < 1.0: - # Switching the PCC clock off should never take longer than + # Switching the RECV clock off should never take longer than # 10 seconds. Here we ran into a timeout. # Clean up and raise an exception. - pcc.off() - raise Exception("After calling \"CLK_off\" a timeout occured while waiting for \"CLK_translator_busy_R\" to become \"True\". Please investigate the reason why the PCC translator never set \"CLK_translator_busy_R\" to \"True\". Aborting start-up procedure.") + recv.off() + raise Exception("After calling \"CLK_off\" a timeout occured while waiting for \"CLK_translator_busy_R\" to become \"True\". Please investigate the reason why the RECV translator never set \"CLK_translator_busy_R\" to \"True\". Aborting start-up procedure.") sleep(1.0) # Steps 1.3 & 1.4 - pcc.CLK_on() + recv.CLK_on() # Per Paulus this should never take longer than 2 seconds. # 2021-04-30, Thomas # This should be refactored into a function. timeout = 2.0 - while pcc.CLK_translator_busy_R is True: + while recv.CLK_translator_busy_R is True: logging.debug("After calling \"CLK_on()\" Waiting on \"CLK_translator_busy_R\" to become \"True\"...") timeout = timeout - 1.0 if timeout < 1.0: - # Switching the PCC clock on should never take longer than + # Switching theRECV clock on should never take longer than # a couple of seconds. Here we ran into a timeout. # Clean up and raise an exception. - pcc.off() - raise Exception("After calling \"CLK_on\" a timeout occured while waiting for \"CLK_translator_busy_R\" to become \"True\". Please investigate the reason why the PCC translator never set \"CLK_translator_busy_R\" to \"True\". Aborting start-up procedure.") + recv.off() + raise Exception("After calling \"CLK_on\" a timeout occured while waiting for \"CLK_translator_busy_R\" to become \"True\". Please investigate the reason why the RECV translator never set \"CLK_translator_busy_R\" to \"True\". Aborting start-up procedure.") sleep(1.0) # 1.5 Check if CLK_PLL_locked_R == True # 2021-04-30, Thomas # This should be refactored into a function. - clk_locked = pcc.CLK_PLL_locked_R + clk_locked = recv.CLK_PLL_locked_R if clk_locked is True: logging.info("CLK signal is locked.") else: # CLK signal is not locked - clk_i2c_status = pcc.CLK_I2C_STATUS_R + clk_i2c_status = recv.CLK_I2C_STATUS_R exception_text = "CLK I2C is not working. Please investigate! Maybe power cycle subrack to restart CLK board and translator. Aborting start-up procedure." if i2c_status <= 0: exception_text = "CLK signal is not locked. Please investigate! The subrack probably do not receive clock input or the CLK PCB is broken. Aborting start-up procedure." - pcc.off() + recv.off() raise Exception(exception_text) # Step 1.6 # Done. @@ -150,40 +150,40 @@ def lts_cold_start(): # # Step 2.1 # We have only 8 RCUs in LTS. - pcc.RCU_mask_RW = [True, ] * 8 + recv.RCU_mask_RW = [True, ] * 8 # Steps 2.2 & 2.3 - pcc.RCU_off() + recv.RCU_off() # 2021-04-30, Thomas # This should be refactored into a function. timeout = 10.0 - while pcc.RCU_translator_busy_R is True: + while recv.RCU_translator_busy_R is True: logging.debug("Waiting on \"RCU_translator_busy_R\" to become \"True\"...") timeout = timeout - 1.0 if timeout < 1.0: # Switching the RCUs off should never take longer than # 10 seconds. Here we ran into a timeout. # Clean up and raise an exception. - pcc.off() - raise Exception("After calling \"RCU_off\" a timeout occured while waiting for \"RCU_translator_busy_R\" to become \"True\". Please investigate the reason why the PCC translator never set \"RCU_translator_busy_R\" to \"True\". Aborting start-up procedure.") + recv.off() + raise Exception("After calling \"RCU_off\" a timeout occured while waiting for \"RCU_translator_busy_R\" to become \"True\". Please investigate the reason why the RECV translator never set \"RCU_translator_busy_R\" to \"True\". Aborting start-up procedure.") sleep(1.0) # Steps 2.4 & 2.5 # We leave the RCU mask as it is because it got already set for the # RCU_off() call. - pcc.RCU_on() + recv.RCU_on() # Per Paulus this should never take longer than 5 seconds. # 2021-04-30, Thomas # This should be refactored into a function. timeout = 5.0 - while pcc.RCU_translator_busy_R is True: + while recv.RCU_translator_busy_R is True: logging.debug("After calling \"RCU_on()\" Waiting on \"RCU_translator_busy_R\" to become \"True\"...") timeout = timeout - 1.0 if timeout < 1.0: # Switching the RCUs on should never take longer than # a couple of seconds. Here we ran into a timeout. # Clean up and raise an exception. - pcc.off() - raise Exception("After calling \"RCU_on\" a timeout occured while waiting for \"RCU_translator_busy_R\" to become \"True\". Please investigate the reason why the PCC translator never set \"RCU_translator_busy_R\" to \"True\". Aborting start-up procedure.") + recv.off() + raise Exception("After calling \"RCU_on\" a timeout occured while waiting for \"RCU_translator_busy_R\" to become \"True\". Please investigate the reason why the RECV translator never set \"RCU_translator_busy_R\" to \"True\". Aborting start-up procedure.") sleep(1.0) # Step 2.6 # Done. @@ -196,9 +196,9 @@ def lts_cold_start(): # # # Steps 3.1 & 3.2 - rcu_mask = pcc.RCU_mask_RW - adc_locked = numpy.array(pcc.RCU_ADC_lock_R) - for rcu, i2c_status in enumerate(pcc.RCU_I2C_STATUS_R): + rcu_mask = recv.RCU_mask_RW + adc_locked = numpy.array(recv.RCU_ADC_lock_R) + for rcu, i2c_status in enumerate(recv.RCU_I2C_STATUS_R): if i2c_status == 0: rcu_mask[rcu] = True logging.info("RCU #{} is available.".format(rcu)) @@ -209,7 +209,7 @@ def lts_cold_start(): # The RCU's I2C bus is not working. rcu_mask[rcu] = False logging.error("RCU #{}'s I2C is not working. Please investigate! Disabling RCU #{} to avoid damage.".format(rcu, rcu)) - pcc.RCU_mask_RW = rcu_mask + recv.RCU_mask_RW = rcu_mask # Step 3.3 # Done diff --git a/devices/toolkit/startup.py b/devices/toolkit/startup.py index e1cc092b0..66a8d2c49 100644 --- a/devices/toolkit/startup.py +++ b/devices/toolkit/startup.py @@ -7,7 +7,7 @@ logger = logging.getLogger() def startup(device: str, force_restart: bool) -> tango.DeviceProxy: ''' Start a LOFAR Tango device: - pcc = startup(device = 'LTS/PCC/1', force_restart = False) + recv = startup(device = 'LTS/RECV/1', force_restart = False) ''' proxy = tango.DeviceProxy(device) state = proxy.state() diff --git a/docker-compose/device-pcc.yml b/docker-compose/device-recv.yml similarity index 86% rename from docker-compose/device-pcc.yml rename to docker-compose/device-recv.yml index 4bb079f37..f553ba614 100644 --- a/docker-compose/device-pcc.yml +++ b/docker-compose/device-recv.yml @@ -13,15 +13,15 @@ version: '2' services: - device-pcc: - image: device-pcc + device-recv: + image: device-recv # build explicitly, as docker-compose does not understand a local image # being shared among services. build: context: lofar-device-base args: SOURCE_IMAGE: ${DOCKER_REGISTRY_HOST}/${DOCKER_REGISTRY_USER}-tango-itango:${TANGO_ITANGO_VERSION} - container_name: ${CONTAINER_NAME_PREFIX}device-pcc + container_name: ${CONTAINER_NAME_PREFIX}device-recv networks: - control ports: @@ -38,5 +38,5 @@ services: - -- # configure CORBA to _listen_ on 0:port, but tell others we're _reachable_ through ${HOSTNAME}:port, since CORBA # can't know about our Docker port forwarding - - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/pcc.py LTS -v -ORBendPoint giop:tcp:0:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707 + - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/recv.py LTS -v -ORBendPoint giop:tcp:0:5707 -ORBendPointPublish giop:tcp:${HOSTNAME}:5707 restart: on-failure diff --git a/docker-compose/grafana/dashboards/lofar2.0-station.json b/docker-compose/grafana/dashboards/lofar2.0-station.json index 9ef5eacff..8023f2d76 100644 --- a/docker-compose/grafana/dashboards/lofar2.0-station.json +++ b/docker-compose/grafana/dashboards/lofar2.0-station.json @@ -142,7 +142,7 @@ }, "id": 17, "panels": [], - "title": "PCC", + "title": "RECV", "type": "row" }, { @@ -221,7 +221,7 @@ "targets": [ { "exemplar": true, - "expr": "device_attribute{device=\"lts/pcc/1\",name=\"RCU_temperature_R\"} - 273.15", + "expr": "device_attribute{device=\"lts/recv/1\",name=\"RCU_temperature_R\"} - 273.15", "format": "time_series", "hide": false, "instant": false, @@ -288,7 +288,7 @@ "targets": [ { "exemplar": true, - "expr": "sum by (x)(1 + (device_attribute{device=\"lts/pcc/1\",name=\"RCU_ADC_lock_R\"} == bool 129)) * on(x) device_attribute{device=\"lts/pcc/1\",name=\"RCU_mask_RW\"} - 3", + "expr": "sum by (x)(1 + (device_attribute{device=\"lts/recv/1\",name=\"RCU_ADC_lock_R\"} == bool 129)) * on(x) device_attribute{device=\"lts/recv/1\",name=\"RCU_mask_RW\"} - 3", "interval": "", "legendFormat": "{{y}}", "refId": "A" @@ -351,7 +351,7 @@ "targets": [ { "exemplar": true, - "expr": "(2 - device_attribute{device=\"lts/pcc/1\",name=\"RCU_I2C_STATUS_R\"}) * on(x) device_attribute{device=\"lts/pcc/1\",name=\"RCU_mask_RW\"}", + "expr": "(2 - device_attribute{device=\"lts/recv/1\",name=\"RCU_I2C_STATUS_R\"}) * on(x) device_attribute{device=\"lts/recv/1\",name=\"RCU_mask_RW\"}", "interval": "", "legendFormat": "{{y}}", "refId": "A" @@ -410,14 +410,14 @@ "targets": [ { "exemplar": true, - "expr": "1-device_attribute{device=\"lts/pcc/1\",name=\"CLK_Enable_PWR_R\"}", + "expr": "1-device_attribute{device=\"lts/recv/1\",name=\"CLK_Enable_PWR_R\"}", "interval": "", "legendFormat": "Power", "refId": "A" }, { "exemplar": true, - "expr": "device_attribute{device=\"lts/pcc/1\",name=\"CLK_I2C_STATUS_R\"}", + "expr": "device_attribute{device=\"lts/recv/1\",name=\"CLK_I2C_STATUS_R\"}", "hide": false, "interval": "", "legendFormat": "I2C", @@ -425,7 +425,7 @@ }, { "exemplar": true, - "expr": "device_attribute{device=\"lts/pcc/1\",name=\"CLK_PLL_error_R\"}", + "expr": "device_attribute{device=\"lts/recv/1\",name=\"CLK_PLL_error_R\"}", "hide": false, "interval": "", "legendFormat": "PLL", @@ -433,7 +433,7 @@ }, { "exemplar": true, - "expr": "1-device_attribute{device=\"lts/pcc/1\",name=\"CLK_PLL_locked_R\"}", + "expr": "1-device_attribute{device=\"lts/recv/1\",name=\"CLK_PLL_locked_R\"}", "hide": false, "interval": "", "legendFormat": "PLL Lock", diff --git a/docker-compose/grafana/dashboards/version-information.json b/docker-compose/grafana/dashboards/version-information.json index a8e95f2a3..e82135a1a 100644 --- a/docker-compose/grafana/dashboards/version-information.json +++ b/docker-compose/grafana/dashboards/version-information.json @@ -529,7 +529,7 @@ }, "id": 11, "panels": [], - "title": "PCC", + "title": "RECV", "type": "row" }, { @@ -601,7 +601,7 @@ "targets": [ { "exemplar": true, - "expr": "device_attribute{device=\"lts/pcc/1\",name=\"RCU_version_R\"}", + "expr": "device_attribute{device=\"lts/recv/1\",name=\"RCU_version_R\"}", "instant": true, "interval": "", "legendFormat": "", diff --git a/docker-compose/jupyter/ipython-profiles/stationcontrol-jupyter/startup/01-devices.py b/docker-compose/jupyter/ipython-profiles/stationcontrol-jupyter/startup/01-devices.py index 22be4e90b..504cdd273 100644 --- a/docker-compose/jupyter/ipython-profiles/stationcontrol-jupyter/startup/01-devices.py +++ b/docker-compose/jupyter/ipython-profiles/stationcontrol-jupyter/startup/01-devices.py @@ -1,8 +1,8 @@ # Create shortcuts for our devices -pcc = DeviceProxy("LTS/PCC/1") +recv = DeviceProxy("LTS/RECV/1") sdp = DeviceProxy("LTS/SDP/1") sst = DeviceProxy("LTS/SST/1") unb2 = DeviceProxy("LTS/UNB2/1") # Put them in a list in case one wants to iterate -devices = [pcc, sdp, sst, unb2] +devices = [recv, sdp, sst, unb2] diff --git a/docker-compose/pypcc-sim.yml b/docker-compose/recv-sim.yml similarity index 52% rename from docker-compose/pypcc-sim.yml rename to docker-compose/recv-sim.yml index 15739d3f4..1f9b6f0ac 100644 --- a/docker-compose/pypcc-sim.yml +++ b/docker-compose/recv-sim.yml @@ -1,16 +1,16 @@ # -# Docker compose file that launches a PyPCC simulator +# Docker compose file that launches a RECV simulator # # Defines: -# - pypcc-sim +# - recv-sim # version: '2' services: - pypcc-sim: + recv-sim: build: - context: pypcc-sim - container_name: ${CONTAINER_NAME_PREFIX}pypcc-sim + context: recv-sim + container_name: ${CONTAINER_NAME_PREFIX}recv-sim networks: - control volumes: diff --git a/docker-compose/pypcc-sim/Dockerfile b/docker-compose/recv-sim/Dockerfile similarity index 95% rename from docker-compose/pypcc-sim/Dockerfile rename to docker-compose/recv-sim/Dockerfile index bf3e34d6a..3a06138e1 100644 --- a/docker-compose/pypcc-sim/Dockerfile +++ b/docker-compose/recv-sim/Dockerfile @@ -6,5 +6,5 @@ RUN apt-get update && apt-get install -y python3 python3-pip python3-yaml git && pip3 install -r requirements.txt && \ git clone --depth 1 --branch master https://git.astron.nl/lofar2.0/pypcc -WORKDIR /pypcc +WORKDIR /recv CMD ["python3","pypcc2.py","--simulator"] diff --git a/docker-compose/pypcc-sim/requirements.txt b/docker-compose/recv-sim/requirements.txt similarity index 100% rename from docker-compose/pypcc-sim/requirements.txt rename to docker-compose/recv-sim/requirements.txt diff --git a/jupyter-notebooks/PCC_notebook.ipynb b/jupyter-notebooks/PCC_notebook.ipynb deleted file mode 100644 index 29b0744a5..000000000 --- a/jupyter-notebooks/PCC_notebook.ipynb +++ /dev/null @@ -1,177 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "id": "funded-deputy", - "metadata": {}, - "outputs": [], - "source": [ - "import time" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "bridal-mumbai", - "metadata": {}, - "outputs": [], - "source": [ - "d=DeviceProxy(\"LTS/PCC/1\")" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "subjective-conference", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Device is now in on state\n" - ] - } - ], - "source": [ - "state = str(d.state())\n", - "\n", - "if state == \"OFF\":\n", - " d.initialise()\n", - " time.sleep(1)\n", - "state = str(d.state())\n", - "if state == \"STANDBY\":\n", - " d.on()\n", - "state = str(d.state())\n", - "if state == \"ON\":\n", - " print(\"Device is now in on state\")\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "liable-thesaurus", - "metadata": {}, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "RCU_ADC_SYNC_R", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m<ipython-input-4-aafae2adcd98>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 10\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRCU_LED0_RW\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"RCU_LED0_RW\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRCU_ADC_lock_R\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"RCU_ADC_lock_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 12\u001b[0;31m \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRCU_ADC_SYNC_R\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"RCU_ADC_SYNC_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 13\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRCU_ADC_JESD_R\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"RCU_ADC_JESD_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 14\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0md\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mRCU_ADC_CML_R\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\"RCU_ADC_CML_R\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/tango/device_proxy.py\u001b[0m in \u001b[0;36m__DeviceProxy__getattr\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 353\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mread_pipe\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 354\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 355\u001b[0;31m \u001b[0msix\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mraise_from\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mAttributeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcause\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 356\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 357\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m/usr/local/lib/python3.7/dist-packages/six.py\u001b[0m in \u001b[0;36mraise_from\u001b[0;34m(value, from_value)\u001b[0m\n", - "\u001b[0;31mAttributeError\u001b[0m: RCU_ADC_SYNC_R" - ] - } - ], - "source": [ - "\n", - "values = [[d.RCU_mask_RW, \"RCU_mask_RW\"],\n", - "[d.Ant_mask_RW,\"Ant_mask_RW\"],\n", - "[d.RCU_attenuator_R,\"RCU_attenuator_R\"],\n", - "[d.RCU_attenuator_RW,\"RCU_attenuator_RW\"],\n", - "[d.RCU_band_R,\"RCU_band_R\"],\n", - "[d.RCU_band_RW,\"RCU_band_RW\"],\n", - "[d.RCU_temperature_R,\"RCU_temperature_R\"],\n", - "[d.RCU_Pwr_dig_R,\"RCU_Pwr_dig_R\"],\n", - "[d.RCU_LED0_R,\"RCU_LED0_R\"],\n", - "[d.RCU_LED0_RW,\"RCU_LED0_RW\"],\n", - "[d.RCU_ADC_lock_R,\"RCU_ADC_lock_R\"],\n", - "[d.RCU_ADC_SYNC_R,\"RCU_ADC_SYNC_R\"],\n", - "[d.RCU_ADC_JESD_R,\"RCU_ADC_JESD_R\"],\n", - "[d.RCU_ADC_CML_R,\"RCU_ADC_CML_R\"],\n", - "[d.RCU_OUT1_R,\"RCU_OUT1_R\"],\n", - "[d.RCU_OUT2_R,\"RCU_OUT2_R\"],\n", - "[d.RCU_ID_R,\"RCU_ID_R\"],\n", - "[d.RCU_version_R,\"RCU_version_R\"],\n", - "[d.HBA_element_beamformer_delays_R,\"HBA_element_beamformer_delays_R\"],\n", - "[d.HBA_element_beamformer_delays_RW,\"HBA_element_beamformer_delays_RW\"],\n", - "[d.HBA_element_pwr_R,\"HBA_element_pwr_R\"],\n", - "[d.HBA_element_pwr_RW,\"HBA_element_pwr_RW\"],\n", - "[d.RCU_monitor_rate_RW,\"RCU_monitor_rate_RW\"]]\n", - "\n", - "\n", - "for i in values:\n", - " print(\"🟦🟦🟦\", i[1], \": \", i[0])\n" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "charitable-subject", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[False False False False False False False False False False False False\n", - " False False False False False False False False False False False False\n", - " False False False False False False False False]\n", - "current monitoring rate: 0.0, setting to 1.0\n", - "new monitoring rate is: 1.0\n" - ] - } - ], - "source": [ - "d.RCU_mask_RW = [False, False, False, False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False, False, False, False, False,\n", - " False, False, False, False, False, False, False, False,]\n", - "time.sleep(1)\n", - "print(d.RCU_mask_RW)\n", - "\n", - "monitor_rate = d.RCU_monitor_rate_RW\n", - "print(\"current monitoring rate: {}, setting to {}\".format(monitor_rate, monitor_rate + 1))\n", - "d.RCU_monitor_rate_RW = monitor_rate + 1\n", - "time.sleep(2)\n", - "print(\"new monitoring rate is: {}\".format(d.RCU_monitor_rate_RW))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "impressive-request", - "metadata": {}, - "outputs": [], - "source": [ - "attr_names = d.get_attribute_list()\n", - "\n", - "for i in attr_names:\n", - " exec(\"value = print(i, d.{})\".format(i))\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "conditional-scale", - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "kernelspec": { - "display_name": "StationControl", - "language": "python", - "name": "stationcontrol" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/jupyter-notebooks/PCC_archive_all_attributes.ipynb b/jupyter-notebooks/RECV_archive_all_attributes.ipynb similarity index 51% rename from jupyter-notebooks/PCC_archive_all_attributes.ipynb rename to jupyter-notebooks/RECV_archive_all_attributes.ipynb index df4b304d9..d3c4ae749 100644 --- a/jupyter-notebooks/PCC_archive_all_attributes.ipynb +++ b/jupyter-notebooks/RECV_archive_all_attributes.ipynb @@ -71,7 +71,7 @@ } ], "source": [ - "device_name = 'LTS/PCC/1'\n", + "device_name = 'LTS/RECV/1'\n", "d=DeviceProxy(device_name) \n", "state = str(d.state())\n", "print(state)" @@ -87,38 +87,38 @@ "name": "stdout", "output_type": "stream", "text": [ - "Attribute lts/pcc/1/ant_mask_rw added to archiving list!\n", - "Attribute lts/pcc/1/clk_enable_pwr_r added to archiving list!\n", - "Attribute lts/pcc/1/clk_i2c_status_r added to archiving list!\n", - "Attribute lts/pcc/1/clk_pll_error_r added to archiving list!\n", - "Attribute lts/pcc/1/clk_pll_locked_r added to archiving list!\n", - "Attribute lts/pcc/1/clk_monitor_rate_rw added to archiving list!\n", - "Attribute lts/pcc/1/clk_translator_busy_r added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_beamformer_delays_r added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_beamformer_delays_rw added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_led_r added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_led_rw added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_lna_pwr_r added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_lna_pwr_rw added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_pwr_r added to archiving list!\n", - "Attribute lts/pcc/1/hba_element_pwr_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_adc_lock_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_attenuator_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_attenuator_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_band_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_band_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_i2c_status_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_id_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_led0_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_led0_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_led1_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_led1_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_mask_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_monitor_rate_rw added to archiving list!\n", - "Attribute lts/pcc/1/rcu_pwr_dig_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_temperature_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_translator_busy_r added to archiving list!\n", - "Attribute lts/pcc/1/rcu_version_r added to archiving list!\n", + "Attribute lts/recv/1/ant_mask_rw added to archiving list!\n", + "Attribute lts/recv/1/clk_enable_pwr_r added to archiving list!\n", + "Attribute lts/recv/1/clk_i2c_status_r added to archiving list!\n", + "Attribute lts/recv/1/clk_pll_error_r added to archiving list!\n", + "Attribute lts/recv/1/clk_pll_locked_r added to archiving list!\n", + "Attribute lts/recv/1/clk_monitor_rate_rw added to archiving list!\n", + "Attribute lts/recv/1/clk_translator_busy_r added to archiving list!\n", + "Attribute lts/recv/1/hba_element_beamformer_delays_r added to archiving list!\n", + "Attribute lts/recv/1/hba_element_beamformer_delays_rw added to archiving list!\n", + "Attribute lts/recv/1/hba_element_led_r added to archiving list!\n", + "Attribute lts/recv/1/hba_element_led_rw added to archiving list!\n", + "Attribute lts/recv/1/hba_element_lna_pwr_r added to archiving list!\n", + "Attribute lts/recv/1/hba_element_lna_pwr_rw added to archiving list!\n", + "Attribute lts/recv/1/hba_element_pwr_r added to archiving list!\n", + "Attribute lts/recv/1/hba_element_pwr_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_adc_lock_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_attenuator_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_attenuator_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_band_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_band_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_i2c_status_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_id_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_led0_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_led0_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_led1_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_led1_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_mask_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_monitor_rate_rw added to archiving list!\n", + "Attribute lts/recv/1/rcu_pwr_dig_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_temperature_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_translator_busy_r added to archiving list!\n", + "Attribute lts/recv/1/rcu_version_r added to archiving list!\n", "Device is now in ON state\n" ] } @@ -150,38 +150,38 @@ { "data": { "text/plain": [ - "('tango://databaseds:10000/lts/pcc/1/ant_mask_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_enable_pwr_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_i2c_status_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_pll_error_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_pll_locked_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_monitor_rate_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_translator_busy_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_beamformer_delays_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_beamformer_delays_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_led_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_led_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_lna_pwr_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_lna_pwr_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_pwr_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/hba_element_pwr_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_adc_lock_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_attenuator_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_attenuator_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_band_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_band_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_i2c_status_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_id_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_led0_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_led0_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_led1_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_led1_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_mask_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_monitor_rate_rw',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_pwr_dig_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_temperature_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_translator_busy_r',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_version_r')" + "('tango://databaseds:10000/lts/recv/1/ant_mask_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_enable_pwr_r',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_i2c_status_r',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_pll_error_r',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_pll_locked_r',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_monitor_rate_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_translator_busy_r',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_beamformer_delays_r',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_beamformer_delays_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_led_r',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_led_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_lna_pwr_r',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_lna_pwr_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_pwr_r',\n", + " 'tango://databaseds:10000/lts/recv/1/hba_element_pwr_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_adc_lock_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_attenuator_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_attenuator_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_band_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_band_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_i2c_status_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_id_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_led0_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_led0_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_led1_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_led1_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_mask_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_monitor_rate_rw',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_pwr_dig_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_temperature_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_translator_busy_r',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_version_r')" ] }, "execution_count": 6, @@ -202,12 +202,12 @@ { "data": { "text/plain": [ - "{'tango://databaseds:10000/lts/pcc/1/clk_enable_pwr_r': 'Read value for attribute CLK_Enable_PWR_R has not been updated',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_i2c_status_r': 'Read value for attribute CLK_I2C_STATUS_R has not been updated',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_pll_error_r': 'Read value for attribute CLK_PLL_error_R has not been updated',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_pll_locked_r': 'Read value for attribute CLK_PLL_locked_R has not been updated',\n", - " 'tango://databaseds:10000/lts/pcc/1/clk_translator_busy_r': 'Read value for attribute CLK_translator_busy_R has not been updated',\n", - " 'tango://databaseds:10000/lts/pcc/1/rcu_version_r': 'Storing Error: mysql_stmt_bind_param() failed, err=Buffer type is not supported'}" + "{'tango://databaseds:10000/lts/recv/1/clk_enable_pwr_r': 'Read value for attribute CLK_Enable_PWR_R has not been updated',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_i2c_status_r': 'Read value for attribute CLK_I2C_STATUS_R has not been updated',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_pll_error_r': 'Read value for attribute CLK_PLL_error_R has not been updated',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_pll_locked_r': 'Read value for attribute CLK_PLL_locked_R has not been updated',\n", + " 'tango://databaseds:10000/lts/recv/1/clk_translator_busy_r': 'Read value for attribute CLK_translator_busy_R has not been updated',\n", + " 'tango://databaseds:10000/lts/recv/1/rcu_version_r': 'Storing Error: mysql_stmt_bind_param() failed, err=Buffer type is not supported'}" ] }, "execution_count": 7, @@ -219,7 +219,7 @@ "# Archiver managing methods\n", "archiver.get_subscriber_errors()\n", "\n", - "#e = archiver.get_attribute_errors('lts/pcc/1/rcu_temperature_r')\n", + "#e = archiver.get_attribute_errors('lts/recv/1/rcu_temperature_r')\n", "#print(e)" ] }, @@ -249,7 +249,7 @@ "metadata": {}, "outputs": [], "source": [ - "#archiver.update_archiving_attribute('lts/pcc/1/rcu_pwr_dig_r')" + "#archiver.update_archiving_attribute('lts/recv/1/rcu_pwr_dig_r')" ] }, { diff --git a/jupyter-notebooks/PCC_archive_attribute.ipynb b/jupyter-notebooks/RECV_archive_attribute.ipynb similarity index 99% rename from jupyter-notebooks/PCC_archive_attribute.ipynb rename to jupyter-notebooks/RECV_archive_attribute.ipynb index 46ce0fafc..632cdda6e 100644 --- a/jupyter-notebooks/PCC_archive_attribute.ipynb +++ b/jupyter-notebooks/RECV_archive_attribute.ipynb @@ -34,7 +34,7 @@ "outputs": [], "source": [ "# Define an attribute for archiving\n", - "device_name = 'LTS/PCC/1'\n", + "device_name = 'LTS/RECV/1'\n", "d=DeviceProxy(device_name) \n", "state = str(d.state())\n", "print(device_name,'is',state)\n", diff --git a/jupyter-notebooks/SDP_notebook.ipynb b/jupyter-notebooks/RECV_notebook.ipynb similarity index 100% rename from jupyter-notebooks/SDP_notebook.ipynb rename to jupyter-notebooks/RECV_notebook.ipynb diff --git a/jupyter-notebooks/Start All Devices.ipynb b/jupyter-notebooks/Start All Devices.ipynb index beb52a381..3c5da68df 100644 --- a/jupyter-notebooks/Start All Devices.ipynb +++ b/jupyter-notebooks/Start All Devices.ipynb @@ -30,7 +30,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Device PCC(lts/pcc/1) is now in state FAULT\n", + "Device RECV(lts/recv/1) is now in state FAULT\n", "Device SDP(lts/sdp/1) is now in state ON\n" ] } diff --git a/jupyter-notebooks/archiving_demo.ipynb b/jupyter-notebooks/archiving_demo.ipynb index 28eeb7d31..6ae2c3bc2 100644 --- a/jupyter-notebooks/archiving_demo.ipynb +++ b/jupyter-notebooks/archiving_demo.ipynb @@ -1243,7 +1243,7 @@ "metadata": {}, "outputs": [], "source": [ - "d=DeviceProxy(\"LTS/PCC/1\")" + "d=DeviceProxy(\"LTS/RECV/1\")" ] }, { @@ -1307,7 +1307,7 @@ "tango://databaseds:10000/lts/randomdata/1/rnd21\n", "tango://databaseds:10000/lts/random_data/1/rnd1\n", "tango://databaseds:10000/lts/random_data/1/rnd21\n", - "tango://databaseds:10000/lts/pcc/1/rcu_temperature_r\n", + "tango://databaseds:10000/lts/recv/1/rcu_temperature_r\n", "tango://databaseds:10000/lts/random_data/1/rnd3\n", "tango://databaseds:10000/lts/random_data/1/rnd2\n", "tango://databaseds:10000/lts/random_data/1/rnd4\n" @@ -1328,7 +1328,7 @@ "metadata": {}, "outputs": [], "source": [ - "main_att = 'lts/pcc/1/RCU_temperature_R'\n", + "main_att = 'lts/recv/1/RCU_temperature_R'\n", "archiver.add_attribute_to_archiver(main_att,polling_period=1000,event_period=1000)" ] }, diff --git a/sbin/run_integration_test.sh b/sbin/run_integration_test.sh index d54163625..e86ec6162 100755 --- a/sbin/run_integration_test.sh +++ b/sbin/run_integration_test.sh @@ -8,7 +8,7 @@ fi # Start all required containers cd "$LOFAR20_DIR/docker-compose" || exit 1 -make start databaseds dsconfig device-sdp device-pcc jupyter elk sdptr-sim pypcc-sim +make start databaseds dsconfig device-sdp device-recv jupyter elk sdptr-sim recv-sim # Update the dsconfig cd "$TANGO_LOFAR_LOCAL_DIR" || exit 1 -- GitLab