diff --git a/config/CLK.yaml b/config/CLK.yaml index affd55d98aba0e2120146275993456a7960161f8..90cd7ff3f61f2f7ac4f07d08a048708f1e8255b9 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 41fcb8b7eb2703ada984593c026960dff82b2878..102d7ff6f237a9e0b2d04b7bc8556325b02f3845 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 0f39ecce392ca66e6f289c0f19fbe01ab289c39e..4d0374a666c0a50a8634f3042f4808e34293f4df 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 77890c3c4cc1e8d70842d26dcc71b3a3162661a3..940e49132db9d5fa435e9359a9293ca443ef91f6 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=[]):