diff --git a/config/CLK.yaml b/config/CLK.yaml index 90cd7ff3f61f2f7ac4f07d08a048708f1e8255b9..02bb6475215b10a056cf109e877265f6c4275fa3 100644 --- a/config/CLK.yaml +++ b/config/CLK.yaml @@ -8,7 +8,7 @@ drivers: - name: I2C_CLK type: i2c_dev #I2C devices parent: I2C - mask: CLK_I2C_OK + status: CLK_I2C_STATUS - name: SPIbb1 type: spibitbang2 #SPI bitbang via GPIO expander: CLK, SDI,SDO,CS parent: I2C_CLK @@ -43,10 +43,10 @@ device_registers: variables: - - name: CLK_I2C_OK + - name: CLK_I2C_STATUS driver: I2C_CLK - rw: variable #server RW variable, not linked to IO - dtype: boolean + rw: ro #server RW variable, not linked to IO + dtype: uint8 - name: CLK_Enable_PWR description: Power enabled @@ -109,7 +109,7 @@ methods: driver: I2C_CLK debug: True instructions: - - CLK_I2C_OK : 1 + - CLK_I2C_STATUS : 0 - RCU_IO1_GPIO1 : Update - IO1.CONF1: Update - CLK_Enable_PWR: Update @@ -119,7 +119,7 @@ methods: - name: CLK_on driver: I2C_CLK instructions: - - CLK_I2C_OK : 1 + - CLK_I2C_STATUS : 0 - IO1.CONF1: 0x2C #0010 1100 PPS/PWR output, SCLK,CS,SDI - IO1.GPIO1: 0x42 #0100 0010 high:PWR enable, CS - CLK_Enable_PWR: Update @@ -131,7 +131,7 @@ methods: - name: CLK_off driver: I2C_CLK instructions: - - CLK_I2C_OK : 1 + - CLK_I2C_STATUS : 0 - IO1.CONF1: 0x2C #0010 1100 PPS/PWR output, SCLK,CS,SDI - IO1.GPIO1: 0x00 #all low - CLK_Enable_PWR: Update diff --git a/i2cserv/i2c_dev.py b/i2cserv/i2c_dev.py index cd86b724f8493087e7a42bd8a401dda27fe511e6..2f73afaad2f28220342175219b4b1ad2d80c8de4 100644 --- a/i2cserv/i2c_dev.py +++ b/i2cserv/i2c_dev.py @@ -146,7 +146,7 @@ class i2c_dev(hwdev): return; for Vari in range(Step): if not(mask[Vari]): continue - if not(self.I2Cmask[0]): + if not(self.I2Cmask[0]==0): mask[Vari]=False; continue; i0=(Vari)*Step @@ -156,13 +156,13 @@ class i2c_dev(hwdev): bitoffset=GetField(var1,'bitoffset',Vari,0) res=self.SetVarValue(devreg,width,bitoffset,data[i0:i1]) if not(res): - self.I2Cmask[0]=False; + self.I2Cmask[0]=1; mask[Vari]=False; continue; value2=value1[i0:i1] res=self.GetVarValue(devreg,width,bitoffset,value2) if not(res): - self.I2Cmask[0]=False; + self.I2Cmask[0]=1; mask[Vari]=False; continue; value1[i0:i1]=value2 @@ -181,7 +181,7 @@ class i2c_dev(hwdev): return; for Vari in range(Step): if not(mask[Vari]): continue - if not(self.I2Cmask[0]): + if not(self.I2Cmask[0]==0): mask[Vari]=False; continue; i0=( Vari)*Step @@ -192,7 +192,7 @@ class i2c_dev(hwdev): value2=value1[i0:i1] res=self.GetVarValue(devreg,width,bitoffset,value2) if not(res): - self.I2Cmask[0]=False; + self.I2Cmask[0]=1; mask[Vari]=False; continue; value1[i0:i1]=value2 @@ -209,10 +209,10 @@ class i2c_dev(hwdev): def Setdevreg(self,devreg,value,mask=[]): # if devreg.get('store'): logging.debug("Stored") # print(devreg['store']) - if not(self.I2Cmask[0]): return False; + if not(self.I2Cmask[0]==0): return False; res=self.SetVarValue(devreg,8,0,value) if not(res): - self.I2Cmask[0]=False; + self.I2Cmask[0]=1; return False; if devreg.get('store'): devreg['storeval']=value[0]; @@ -220,10 +220,10 @@ class i2c_dev(hwdev): def Getdevreg(self,devreg,mask=[]): value=[0]; - if not(self.I2Cmask[0]): return False; + if not(self.I2Cmask[0]==0): return False; res=self.GetVarValue(devreg,8,0,value) if not(res): - self.I2Cmask[0]=False; + self.I2Cmask[0]=1; return False; if devreg.get('store'): devreg['storeval']=value[0];