diff --git a/CDB/LOFAR_ConfigDb.json b/CDB/LOFAR_ConfigDb.json
index 8f50e88077d1ee66d6c60d949c44501a3ee57668..9fcc8cf3514a113eb293bd45a9476cc1769f1bf3 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 b2f9cca6dc8db917942f35bb8be25e4cb88bdb93..0b643c2190cc344909ccbd02434cfd7cfa274c6f 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 d31074cc3537624d9f3e73f9e19baa388494706d..b8ce969d8a47e9b5ebba6402f29a84579c88bebd 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 c5288f56b6ee567093fedfde627aaece3e148e39..aaa09bc6621349543777d2f96d77abd553b53384 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 879d73f275d0b7c275a01219cffcea92501be870..b73683f9f1df2b8af3f0f712e9f601bbb292ce50 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 37ae6d7b66acb4bbb0be1fd36bfc78e2f93eba8e..35c644789655fe577b41536e26d88ab46bc55720 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 33c19e162b8e15001759de58dfca22a82c2dd249..93256085f0acbb13bd111e414c548ae8724d6eaa 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 4d010b690433d631ddadc7c14babbb31ec71c6ac..298794f42247cee40ea88fc507e587f16e695adc 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 c84fb3855372ba588de5bdef470d665b46ea6a99..ac8b7ef7f50b35f8f245ceaea5b5d525d7fd755e 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 c0e7df614d95e40f9816f9332f2832c8f3d4166c..986d0b0df84e6706e06fa58f63c6a238f7671b2b 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 73b105abc21f9cc8c7c15a564a67c9e0758e77cd..6731b2c138c6781dbd68101a956be51fb8747a39 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 2df8528a621811ac80ca88a08f954ee09acbb3a9..059f2848d752954c84e0e2ece734dcac8816039e 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 e4aaef9063b16d94b63822d742bcd10bbef8d35f..4015faf0a45592c9cb2daacb8356471b26ee7c7c 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 b54c4fe9033d7ec52236f3df74b57874bac1204f..a36f6b7305ef999b67ecf20a223fb5149b553a0f 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 3292bfa0049b5c2312f8e0536e00cc581433ed61..d3ee7ea53ecf6ba81a9efac10b87d45f0033bf90 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 775c34cd207699f7febb435000314c65db97b66a..e2e441b5cf5af296a80b857355944029aaf3e7c2 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 b3b7a4672dbb18790d19144aeb35bcacd68e4bfb..3a010a000c03d3c039f8f93a68c0f6437bc30db1 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 860016bbeeb6aa5b685c684bf23d232b98fb1436..55b29032e6aefc1787179c054b701b7fc51323ac 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 aa67d66a1da78ca2d9420f52d9dd97816ff9d6a9..3df98c383cb717bd092268ac8e3632853d64ded7 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 fb558ff2ce849ab9f844331c117aee122af014fe..47d3243e2064dc39fba8127e33da842acba19416 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 e1cc092b01b3714d80f0b8ca827856bde451c78b..66a8d2c496fc7e86d0d13086336e900fc1a1bfaf 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 4bb079f37b5eb64ffabe0eb62fbee8cc1d1e7bcb..f553ba61476557fdeef1cdd3757d96184e8a5c76 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 9ef5eacfff3581b52ef7491d1551f8f050376936..8023f2d767e71e0ae5ab070b5f7b5825fbfff9e2 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 a8e95f2a3af3d9eb5feb2e0eeb29ec0f8059ce31..e82135a1ad0867223a061481c79bb8a0dd8f0d9f 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 22be4e90bb9a5ec927b9a7b3ac9b542e1bb9166f..504cdd2736714aef4a4744e51c98e17d8ba630c7 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 15739d3f4dcfada169a4bb6f9ee568da612d2259..1f9b6f0ac13e30b8af08b2230ee2e27491940d8e 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 bf3e34d6a5a7c4660aebb4e0006e8fc73ec5665a..3a06138e1bbff3eda0aface95eabf8e8b49fc994 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 29b0744a5f3f7c692ef7cd6b148c1e5192e2e026..0000000000000000000000000000000000000000
--- 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 df4b304d9d962adfc7eaeffd0afb073660c8829c..d3c4ae74950875eb4bffa84c4fcc279d740c2692 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 46ce0fafc3e4de5695bac0eda6d381330e99bb85..632cdda6e2310d91a9424796812128a68685c466 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 beb52a381c89a4cda30b08374d36c337def29eae..3c5da68df6ce970a837e83903379f88435cc1483 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 28eeb7d3196ea347f817c3d20ee8683d096ad2bd..6ae2c3bc281d9e1269b9d0a5cab606bc11ef0553 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 d54163625541c13816bf0309c09a2713ce35add9..e86ec616257b18baeb13d3bee600414d0b1dd244 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