From 0bbd543cbce2fced4ab5fe83d229b87ee7d13015 Mon Sep 17 00:00:00 2001
From: kruger <kruger@astron.nl>
Date: Thu, 29 Apr 2021 13:07:32 +0200
Subject: [PATCH] debugging...

---
 config/CLK.yaml         | 16 +++++++++-------
 config/RCU.yaml         | 28 ++++++++++++++--------------
 config/UNB2.yaml        | 20 +++++++++++++++++++-
 opcuaserv/yamlreader.py |  6 ++++--
 4 files changed, 46 insertions(+), 24 deletions(-)

diff --git a/config/CLK.yaml b/config/CLK.yaml
index affd55d..90cd7ff 100644
--- a/config/CLK.yaml
+++ b/config/CLK.yaml
@@ -105,9 +105,9 @@ variables:
     debug: True
 
 methods:
-  - name: Init #Called after startup to load. Should have all stored registers  
+  - name: CLK_Init #Called after startup to load. Should have all stored registers  
     driver: I2C_CLK
-    hidden: True
+    debug: True
     instructions:   
       - CLK_I2C_OK : 1
       - RCU_IO1_GPIO1 : Update
@@ -119,24 +119,26 @@ methods:
   - name: CLK_on  
     driver: I2C_CLK
     instructions:   
+     - CLK_I2C_OK : 1
      - IO1.CONF1: 0x2C #0010 1100 PPS/PWR output, SCLK,CS,SDI
      - IO1.GPIO1: 0x42 #0100 0010 high:PWR enable, CS
      - CLK_Enable_PWR: Update
+     - WAIT: 200         #ms to wait before checking lock
+     - CLK_PLL_setup: 0
+     - WAIT: 100         #ms to wait before checking lock
+     - CLK_PLL_locked: Update
 
   - name: CLK_off  
     driver: I2C_CLK
     instructions:   
+     - CLK_I2C_OK : 1
      - IO1.CONF1: 0x2C #0010 1100 PPS/PWR output, SCLK,CS,SDI
      - IO1.GPIO1: 0x00 #all low
      - CLK_Enable_PWR: Update
 
-#    - WAIT: 100         #ms to wait before checking lock
-#     - CLK_PLL_setup: 0
-#   - WAIT: 100         #ms to wait before checking lock
-#    - CLK_PLL_locked: Update
-
   - name: CLK_PLL_setup  
     driver: I2C_CLK
+    debug: true
     instructions:   
 #   - PLL.0x03: 0x08 #Set power, this is default
     - PLL.0x05: 0x17 #was 97, set lock time
diff --git a/config/RCU.yaml b/config/RCU.yaml
index 41fcb8b..102d7ff 100644
--- a/config/RCU.yaml
+++ b/config/RCU.yaml
@@ -252,22 +252,22 @@ variables:
      description: LED on RCU
      devreg:  IO2.GPIO2
      bitoffset: 6
-     width: 2
+     width: 1
      rw:  rw
-     dtype: uint8
+     dtype: boolean
      dim: 32
      mask: RCU_mask
 
-#   - name: RCU_LED1
-#     driver: I2C_RCU
-#     description: LED on RCU
-#     devreg:  IO2.GPIO2
-#     bitoffset: 7
-#     width: 1
-#     rw:  rw
-#     dtype: boolean
-#     dim: 32
-#     mask: RCU_mask
+   - name: RCU_LED1
+     driver: I2C_RCU
+     description: LED on RCU
+     devreg:  IO2.GPIO2
+     bitoffset: 7
+     width: 1
+     rw:  rw
+     dtype: boolean
+     dim: 32
+     mask: RCU_mask
 
    - name: RCU_temperature
      description: Temperature sensor on RCU
@@ -357,9 +357,9 @@ variables:
      mask: Ant_mask
 
 methods:
-  - name: Init #Called after startup to load. Should have all stored registers  
+  - name: RCU_Init #Called after startup to load. Should have all stored registers  
     driver: I2C_RCU
-    hidden: True
+    debug: True
     instructions:   
     - RCU_state: 2
     - RCU_IO1_GPIO1: Update
diff --git a/config/UNB2.yaml b/config/UNB2.yaml
index 0f39ecc..4d0374a 100644
--- a/config/UNB2.yaml
+++ b/config/UNB2.yaml
@@ -5,31 +5,44 @@ drivers:
  - name: I2C1
    type: i2c_switch2 
    devreg: [APSCT_SWITCH.MASK,UB2_SWITCH1.MASK,UB2_SWITCH2.MASK] 
-   parameters: [1,0,0,0] #I2C port number, 3x switch reset pins 
+   parameters: [3,0,0,0] #I2C port number, 3x switch reset pins 
+
  - name: switch_UNB2
    type: i2c_array
    parent: I2C1
    parameters: [0,1] 
+   mask: UNB2_I2C_bus_OK
+
  - name: switch_PS
    type: i2c_array2 
    parent: I2C1
    parameters: [0,1,  4,4] 
+   mask: UNB2_I2C_bus_PS_OK
+
  - name: switch_FP
    type: i2c_array2 
    parent: I2C1
    parameters: [0,1,  5,5] 
+   mask: UNB2_I2C_bus_FP_OK
+
  - name: switch_QSFP 
    type: i2c_array2 #An array of similar devices connected to an I2C switch
    parent: I2C1
    parameters: [0,1,  0,3,  0,3, 6,7] #Parameters: APSCT_Switch, main switch, 2nd switch, 2nd switch
+   mask: UNB2_I2C_bus_QSFP_OK
+
  - name: switch_DDR4
    type: i2c_array2 
    parent: I2C1
    parameters: [0,1,  0,3,  4,4]
+   mask: UNB2_I2C_bus_DDR4_OK
+
  - name: switch_FPGA_PS
    type: i2c_array2 
    parent: I2C1
    parameters: [0,1,  0,3,  5,5] 
+   mask: UNB2_I2C_bus_FPGA_PS_OK
+
  - name: GPIO
    type: gpio
 
@@ -80,6 +93,11 @@ variables:
      rw:  variable
      dtype: boolean
      dim: 2
+   - name: UNB2_I2C_bus_FP_OK
+     driver: switch_UNB2
+     rw:  hidden
+     dtype: boolean
+     dim: 2
    - name: UNB2_I2C_bus_QSFP_OK
      driver: switch_QSFP
      rw:  variable
diff --git a/opcuaserv/yamlreader.py b/opcuaserv/yamlreader.py
index 77890c3..940e491 100644
--- a/opcuaserv/yamlreader.py
+++ b/opcuaserv/yamlreader.py
@@ -87,8 +87,10 @@ class yamlreader(yamlconfig):
         self.server.callmethod(id1,mask) 
 
     def CallInit(self):
-        v=Find(self.conf['methods'],'name','Init');
-        if not(v): return;
+        v=Find(self.conf['methods'],'name',self.yamlfile+'_Init');
+        if not(v):
+            logging.warn(self.yamlfile+"_Init method not found for initialisation!") 
+            return;
         self.server.callmethod(v['id'],[]) 
 
     def setvar(self,id1,data=[]):
-- 
GitLab