From ff256b1a30c7c3aa19057bd2726d899d0502d99a Mon Sep 17 00:00:00 2001 From: kruger <kruger@astron.nl> Date: Sat, 3 Jul 2021 17:08:51 +0200 Subject: [PATCH] RCU lookup table added --- config/RECVTR.yaml | 3 ++- config/UNB2TR.yaml | 3 ++- i2cserv/i2c_array.py | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/config/RECVTR.yaml b/config/RECVTR.yaml index f22105d..4fa566b 100644 --- a/config/RECVTR.yaml +++ b/config/RECVTR.yaml @@ -9,7 +9,8 @@ drivers: - name: I2C_RCU type: i2c_array #An array of similar devices connected to an I2C switch parent: I2C1 - parameters: [0,31,5] #start,number of RCUs, error count to disable I2C (14 for LTS?) + parameters: [20,22,0,2,4,6,10,12,14,16,18,24,26,28,30,8,7,5,3,1,23,21,19,13,11,9,15,17,31,29,27,25] #RCU lookup table + I2Ccut: 5 #error count to disable I2C (14 for LTS?) status: RECVTR_I2C_error - name: I2C_HBAT type: hba1 #Special driver to manage HBAT1s. diff --git a/config/UNB2TR.yaml b/config/UNB2TR.yaml index 1f7c3ed..6c15cd8 100644 --- a/config/UNB2TR.yaml +++ b/config/UNB2TR.yaml @@ -10,7 +10,8 @@ drivers: - name: switch_UNB2 type: i2c_array parent: I2C1 - parameters: [0,1,10] + parameters: [0,1] #lookup table + I2Ccut: 10 status: UNB2TR_I2C_bus_error - name: switch_PS diff --git a/i2cserv/i2c_array.py b/i2cserv/i2c_array.py index 77a11fb..7d2d8ce 100644 --- a/i2cserv/i2c_array.py +++ b/i2cserv/i2c_array.py @@ -15,11 +15,11 @@ class i2c_array(i2c_dev): # self.SWcallback=Switchcallback # self.previousHBA=np.zeros([number,3,32],dtype='int') pars=config['parameters']; - self.RCU_Switch1=range(pars[0],pars[1]+1); + self.RCU_Switch1=pars; #range(pars[0],pars[1]+1); self.N=len(self.RCU_Switch1); self.I2Cmask=[0]*self.N - self.I2Ccut=pars[2]; - self.disableI2ConError=pars[2]>0; + self.I2Ccut=config.get('I2Ccut',5);#pars[2]; + self.disableI2ConError=self.I2Ccut>0; # self.devregs,RCU_storeReg=DevRegList(yaml) # print("Init",config['name'],'len=',len(self.RCU_Switch1),' stored reg=',RCU_storeReg) # self.previous =np.zeros([self.N,RCU_storeReg],dtype='int') -- GitLab