diff --git a/i2c/I2C.py b/i2c/I2C.py index 037725621622007f7019883d53ab1bfdf446d8e1..1abf950ecc4c569dd746cbee4ab8b467a9ab822c 100644 --- a/i2c/I2C.py +++ b/i2c/I2C.py @@ -33,6 +33,6 @@ def I2C1server(addr,data,reg=None,read=0): return True; except: if bus: bus.close() - data[0]=0 +# data[0]=0 return False; diff --git a/i2c/setRCUversion.py b/i2c/setRCUversion.py index bfe58a3ce177acf3fbcaf8ebba9ed1656b2f1af5..4b8d6e64f00e0360c97be994643ec7697b3d3432 100644 --- a/i2c/setRCUversion.py +++ b/i2c/setRCUversion.py @@ -1,20 +1,32 @@ from I2C import * import time -RCU=1 -Ver="RCU2L v1.1" -R1=32 +RCU=3 +Ver="RCU2L v0.3" +R1=0 ROM=0x50 + +#Set switch +I2C1server(0x70,[1<<RCU],reg=None,read=0) #select RCU + +#Get ID +ID=[0]*4 +I2C1server(ROM,ID,reg=0xFC,read=1) #select RCU +print(ID) +#exit() + +#Upload version Ver2=[ord(c.encode('utf-8')[0]) for c in Ver] print(len(Ver),Ver,Ver2) V2=[0] -I2C1server(0x70,[1<<RCU],reg=None,read=0) #select RCU for i,v in enumerate(Ver2): - I2C1server(ROM,[],reg=R1+i,read=0) #select RCU - time.sleep(0.01) - I2C1server(ROM,[v],reg=None,read=0) #select RCU - time.sleep(0.01) + time.sleep(0.1) + I2C1server(ROM,[v],reg=R1+i,read=0) #select RCU +# I2C1server(ROM,[v],reg=None,read=0) #select RCU + time.sleep(0.1) I2C1server(ROM,V2,reg=R1+i,read=1) #select RCU print(i,v,V2) + +#Download version Ver2=[0]*10 I2C1server(ROM,Ver2,reg=R1,read=1) #select RCU print(Ver2) diff --git a/rcu/HWconf.py b/rcu/HWconf.py index 30ffd75868825a22ec16afec69e6b1f60a89437f..b2bbedcee85dddf8297f1914b9da6fd796f38dc7 100644 --- a/rcu/HWconf.py +++ b/rcu/HWconf.py @@ -45,8 +45,8 @@ RCU_HBA2=DevReg(0x42,0,0,2) RCU_HBA3=DevReg(0x43,0,0,3) -RCU_ROM_ID =DevReg(0x50,0,0,0) #32 bit ID=4 bytes -RCU_ROM_Ver=DevReg(0x50,4,4,0) #String +RCU_ROM_ID =DevReg(0x50,0xfc,0xfc,0) #32 bit ID=4 bytes +RCU_ROM_Ver=DevReg(0x50,0,0,0) #String #Bitbang devices #BBdev=namedtuple("BBdev","nPins devs pins addr") diff --git a/rcu/RCU.py b/rcu/RCU.py index e1ca7b121679d54d33afe9f8ff223883469c4956..037ce29dd196e3df3eee8ea56bbe72faa9901ae0 100644 --- a/rcu/RCU.py +++ b/rcu/RCU.py @@ -197,6 +197,8 @@ class RCU1(): self.SetI2CAddr(self,dev) for RCUi in range(self.N): self.SWcallback(1<<Vars.RCU_MPaddr.Switch[RCUi]) + #for i in range(len(value2)): value2[i]*=0; + value2[0]=0 self.GetI2Cnoreg(RCUi,dev,width,bitoffset,value2) value[RCUi]=value2[0] return value;