diff --git a/bin/sync.sh b/bin/sync.sh new file mode 100755 index 0000000000000000000000000000000000000000..cc2f93a0904f184c71b8f7d9558a94114694a5a8 --- /dev/null +++ b/bin/sync.sh @@ -0,0 +1,3 @@ +#!/bin/bash +rsync -avzh ~/pypcc pi@10.99.0.$1:. +ssh pi@10.99.0.$1 "cd pypcc;sh install.sh" \ No newline at end of file diff --git a/bin/sync_all.sh b/bin/sync_all.sh new file mode 100755 index 0000000000000000000000000000000000000000..3b77da3708c823ca479b74bb99a1aea709d66c62 --- /dev/null +++ b/bin/sync_all.sh @@ -0,0 +1,3 @@ +#!/bin/bash +./sync.sh 100 +./sync.sh 101 diff --git a/install.sh b/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..d93e7b442e91a537d8e19ee1a97a89a1a61935ea --- /dev/null +++ b/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +sudo systemctl stop recvtr.service +sudo systemctl stop apscttr.service +sudo systemctl stop apsputr.service +sudo systemctl stop unb2tr.service +sudo python3 setup.py install +sudo systemctl start recvtr.service +sudo systemctl start apscttr.service +sudo systemctl start apsputr.service +sudo systemctl start unb2tr.service diff --git a/pypcc/i2cserv/i2c_array.py b/pypcc/i2cserv/i2c_array.py index 2f1d023d6b297e5464e0ad84144ad0a76eca2b53..b2b31a26de4608a5b048da417ee1d2279c7a1985 100644 --- a/pypcc/i2cserv/i2c_array.py +++ b/pypcc/i2cserv/i2c_array.py @@ -144,8 +144,9 @@ class i2c_array(i2c_dev): if not(len(mask)==Step*self.N): print("Check mask length!",len(mask),Step,self.N); return; - else: - for x,enanbled in enumerate(self.enablemask): + else: + if not(var1.get('check_value')): + for x,enanbled in enumerate(self.enablemask): if enanbled: continue; for y in range(Step): mask[x*Step+y]=False; # mask[x*Step:(x+1)*Step]=False; @@ -186,8 +187,8 @@ class i2c_array(i2c_dev): res=self.GetVarValue(devreg,width,bitoffset,[],mode=3) #wait if needed # for Vari in range(Step): # else: - for RCUi in self.RCUorder: # for Vari in range(Step): + for RCUi in self.RCUorder: if not(mask[RCUi*Step+Vari]): continue i0=(RCUi*Step+ Vari)*Step2 i1=(RCUi*Step+(Vari+1))*Step2 @@ -209,6 +210,24 @@ class i2c_array(i2c_dev): continue; self.I2Cmask[RCUi]=0; value1[i0:i1]=value2 + if var1.get('check_value'): + check_val=var1.get('check_value') + Ncheck=len(check_val); + if Ncheck>Step2: Ncheck=Step2; + for Vari in range(Step): + for RCUi in self.RCUorder: + if not(mask[RCUi*Step+Vari]): continue + i0=(RCUi*Step+ Vari)*Step2 + i1=(RCUi*Step+(Vari+1))*Step2 + if value1[i0] is None: + #print(RCUi,'None') + self.enablemask[RCUi]=False; + continue; + for x in range(Ncheck): + #print(RCUi,ord(check_val[x]),value1[i0+x]) + if ord(check_val[x])!=value1[i0+x]: + self.enablemask[RCUi]=False; + logging.warn(str(("Identify RCUs:",check_val,self.enablemask))) return value1,mask def getstorearray(self,devreg,N=1):