From 0893a6f7f07f80de6a3e6e526ce83861ec6dd920 Mon Sep 17 00:00:00 2001
From: Thomas Juerges <4-jurges@users.noreply.git.astron.nl>
Date: Tue, 23 Mar 2021 16:36:42 +0100
Subject: [PATCH] Re-add missing attributes that the xlator still exposes

---
 PCC/PCC/PCC.py | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/PCC/PCC/PCC.py b/PCC/PCC/PCC.py
index 1b8fca093..ce4de28c8 100644
--- a/PCC/PCC/PCC.py
+++ b/PCC/PCC/PCC.py
@@ -87,6 +87,10 @@ class PCC(Device):
     # Attributes
     # ----------
 
+    RCU_state_R = attribute(
+        dtype = (numpy.str),
+    )
+
     RCU_mask_RW = attribute(
         dtype=(numpy.bool_,),
         max_dim_x=32,
@@ -204,6 +208,11 @@ class PCC(Device):
         access=AttrWriteType.READ_WRITE,
     )
 
+    uC_ID_R = attribute(
+        dtype=(numpy.int64,),
+        max_dim_x=32,
+    )
+
     RCU_monitor_rate_RW = attribute(
         dtype=numpy.float_,
         access=AttrWriteType.READ_WRITE,
@@ -233,6 +242,8 @@ class PCC(Device):
 
         self.debug_stream("Mapping OPC-UA MP/CP to attributes...")
 
+        self.attribute_mapping["RCU_state_R"] = self.get_pcc_node("RCU_state_R")
+
         self.attribute_mapping["RCU_mask_RW"] = self.get_pcc_node("RCU_mask_RW")
 
         self.attribute_mapping["Ant_mask_RW"] = self.get_pcc_node("Ant_mask_RW")
@@ -277,6 +288,8 @@ class PCC(Device):
 
         self.attribute_mapping["HBA_element_pwr_RW"] = self.get_pcc_node("HBA_element_pwr_RW")
 
+        self.attribute_mapping["uC_ID_R"] = self.get_pcc_node("uC_ID  _R")
+
         self.attribute_mapping["RCU_monitor_rate_RW"] = self.get_pcc_node("RCU_monitor_rate_RW")
 
         self.function_mapping["RCU_off"] = self.get_pcc_node("RCU_off")
@@ -314,6 +327,9 @@ class PCC(Device):
 
         # Set default values in the RW/R attributes and add them to
         # the mapping.
+        self._RCU_state_R = ""
+        self.attribute_mapping["RCU_state_R"] = {}
+
         self._RCU_mask_RW = numpy.full(32, False)
         self.attribute_mapping["RCU_mask_RW"] = {}
 
@@ -380,6 +396,9 @@ class PCC(Device):
         self._HBA_element_pwr_RW = numpy.full((96, 32), 0)
         self.attribute_mapping["HBA_element_pwr_RW"] = {}
 
+        self._uC_ID_R = numpy.full(32, 0)
+        self.attribute_mapping["uC_ID_R"] = {}
+
         self._RCU_monitor_rate_RW = 30.0
         self.attribute_mapping["RCU_monitor_rate_RW"] = {}
 
@@ -450,6 +469,13 @@ class PCC(Device):
     # ------------------
     # Attributes methods
     # ------------------
+    @only_when_on
+    @fault_on_error
+    def read_RCU_state_R(self):
+        """Return the RCU_state_R attribute."""
+        self._RCU_state_R = self.attribute_mapping["RCU_state_R"].get_value()
+        return self._RCU_state_R
+
     @only_when_on
     @fault_on_error
     def read_RCU_mask_R(self):
@@ -675,6 +701,13 @@ class PCC(Device):
         self.attribute_mapping["HBA_element_pwr_RW"].set_value(value.flatten().tolist())
         self._HBA_element_pwr_RW = value
 
+    @only_when_on
+    @fault_on_error
+    def read_uC_ID_R(self):
+        """Return the uC_ID_R attribute."""
+        self._uC_ID_R = numpy.array(self.attribute_mapping["uC_ID_R"].get_value())
+        return self._uC_ID_R
+
     @only_when_on
     @fault_on_error
     def read_RCU_monitor_rate_RW(self):
-- 
GitLab