diff --git a/config/RECVTR.yaml b/config/RECVTR.yaml index f22105dc6e1dccd789ac51b4ea4a41ff1d3147eb..4fa566bdc08476b4510fe4199b1ad09ba8598d4a 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 1f7c3edb3e191159fcf92ff64daa283a75496c72..6c15cd86ca752812c59eebf6616dfdb004df1ade 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 77a11fb5df3a06bc0f4f80899827df66ac1226a3..7d2d8ce3163fe4f0e67be8e5f4dc601975f048ea 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')