From 2cf6ab24aa5ec009218371c133799ec66a175ac3 Mon Sep 17 00:00:00 2001
From: kruger <kruger@astron.nl>
Date: Wed, 17 Apr 2024 08:43:55 +0100
Subject: [PATCH] Fix bug in RCU_on crash. Added ADC test signal off

---
 pypcc/config/RECVTR_HB.yaml | 15 ++++++++++++++-
 pypcc/config/RECVTR_LB.yaml | 15 ++++++++++++++-
 pypcc/i2cserv/i2c_array.py  |  2 +-
 3 files changed, 29 insertions(+), 3 deletions(-)

diff --git a/pypcc/config/RECVTR_HB.yaml b/pypcc/config/RECVTR_HB.yaml
index 4294f1e..7a764b5 100644
--- a/pypcc/config/RECVTR_HB.yaml
+++ b/pypcc/config/RECVTR_HB.yaml
@@ -1056,7 +1056,7 @@ methods:
 
 
   - name: RCU_ADC_testsignal_on
-    description: Configure ADCs to give a time-syncronised test signal. Test signal is disabled by calling RCU_on.
+    description: Configure ADCs to give a time-syncronised test signal.
     driver: I2C_RCU
     mask: RCU_mask
     instructions:
@@ -1067,3 +1067,16 @@ methods:
      - ADC3.JESD_control1 : 0x34
      - ADC3.Update: 1       #Needed to update ADC registers
      - RCU_ADC_testsignal: Update #disabled for testing
+
+  - name: RCU_ADC_testsignal_off
+    description: Switch off test signal
+    driver: I2C_RCU
+    mask: RCU_mask
+    instructions:
+     - ADC1.JESD_control1 : 0x14
+     - ADC1.Update: 1       #Needed to update ADC registers
+     - ADC2.JESD_control1 : 0x14
+     - ADC2.Update: 1       #Needed to update ADC registers
+     - ADC3.JESD_control1 : 0x14
+     - ADC3.Update: 1       #Needed to update ADC registers
+     - RCU_ADC_testsignal: Update #disabled for testing
diff --git a/pypcc/config/RECVTR_LB.yaml b/pypcc/config/RECVTR_LB.yaml
index 2b44527..b753491 100644
--- a/pypcc/config/RECVTR_LB.yaml
+++ b/pypcc/config/RECVTR_LB.yaml
@@ -941,7 +941,7 @@ methods:
      - DTH3.Start :    [0,1,0,0,1]
 
   - name: RCU_ADC_testsignal_on
-    description: Configure ADCs to give a time-syncronised test signal. The signal is disabled by calling RCU_on.
+    description: Configure ADCs to give a time-syncronised test signal. 
     driver: I2C_RCU
     mask: RCU_mask
     instructions:
@@ -952,3 +952,16 @@ methods:
      - ADC3.JESD_control1 : 0x34
      - ADC3.Update: 1       #Needed to update ADC registers
      - RCU_ADC_testsignal: Update #disabled for testing
+
+  - name: RCU_ADC_testsignal_off
+    description: Switch off test signal
+    driver: I2C_RCU
+    mask: RCU_mask
+    instructions:
+     - ADC1.JESD_control1 : 0x14
+     - ADC1.Update: 1       #Needed to update ADC registers
+     - ADC2.JESD_control1 : 0x14
+     - ADC2.Update: 1       #Needed to update ADC registers
+     - ADC3.JESD_control1 : 0x14
+     - ADC3.Update: 1       #Needed to update ADC registers
+     - RCU_ADC_testsignal: Update #disabled for testing
diff --git a/pypcc/i2cserv/i2c_array.py b/pypcc/i2cserv/i2c_array.py
index 8595b80..102474f 100644
--- a/pypcc/i2cserv/i2c_array.py
+++ b/pypcc/i2cserv/i2c_array.py
@@ -254,7 +254,7 @@ class i2c_array(i2c_dev):
                 try:
                   value2[:]=storearray[RCUi]
                 except:
-                  logging.warning("RCU%iWrong size (no data?) in stored array %i-%i"%(RCUi,len(value2),len(storearray[RCUi])))
+                  logging.warning("RCU%iWrong size (no data?) in stored array"%(RCUi))
 # of len(storearray[RCUi]==0)
 #                storearray[self.RCUi]=(value[0] if len(value)==1 else value[:])
                 l1=int(np.floor((width+bitoffset+7)/8))
-- 
GitLab