diff --git a/config/RCU.yaml b/config/RCU.yaml index ba37d23aeddaa7604f29eacdb1c01752ab11d74c..26727f062b51df8eea83cbfa4736e838a5c4cb71 100644 --- a/config/RCU.yaml +++ b/config/RCU.yaml @@ -210,6 +210,7 @@ variables: - name: RCU_state description: State of RCUs 0=unknown, 1=ready, 2=busy, 3= wait PPS, 4=error + driver: I2C_RCU rw: variable #server variable, not linked to IO dtype: uint8 dim: 1 @@ -360,9 +361,7 @@ methods: # - IO3.GPIO1: Update # - IO3.GPIO2: Update - IO3.CONF1: Update - - RCU_mask: True - RCU_update: 0 - - RCU_mask: False - RCU_state: 1 - name: RCU_on diff --git a/i2cserv/i2c_dev.py b/i2cserv/i2c_dev.py index bcf8ba90079d65a6add312c1793f1b4ba142007a..ef0651f9d4834ecb8a9d09a120f85da6e6603ffd 100644 --- a/i2cserv/i2c_dev.py +++ b/i2cserv/i2c_dev.py @@ -94,11 +94,11 @@ class i2c_dev(hwdev): if len(mask)==0: mask=[True]*len(data); if len(data)!=len(mask): logging.warn("Trying to set I2C OK with wrong mask length!") - return + return [] for x,m in enumerate(mask): if m: self.I2Cmask[x]=data[x]; return [OPCUAset(self.I2Cmaskid,InstType.varSet,self.I2Cmask.copy(),[])] - return; + return [OPCUAset(varid,InstType.varSet,data,mask)]; logging.info(str(("Set Var",var1['name'],data,mask))) oldmask=self.I2Cmask.copy() data,mask2=self.SetGetVarValueMask(var1,data,mask); diff --git a/i2cserv/i2cthread.py b/i2cserv/i2cthread.py index 2d4bd445375c3bdbbf2eea31a004ac87d5230d19..05ae1a9267b5aa22c8ba4c84c43451d3a2929dfe 100644 --- a/i2cserv/i2cthread.py +++ b/i2cserv/i2cthread.py @@ -36,19 +36,23 @@ def runmethod(conf,Qout,methodid,mask): for key,value in inst.items(): if not(isinstance(value,list)): value=[value] logging.info(str(("Run instruction",key,value,mask))); + if mask is None: mask=[] if (key=='WAIT'): sleep(value[0]/1000.) continue; v1=conf.getvarid(key) if v1: if value[0]=='Update': - mask=getvar(conf,Qout,v1,mask) + #mask= + getvar(conf,Qout,v1,mask) else: - mask=setvar(conf,Qout,v1,value,mask) + #mask= + setvar(conf,Qout,v1,value,mask) continue; v1=conf.getmethodid(key) if v1: - mask=runmethod(conf,Qout,v1,mask) + #mask= + runmethod(conf,Qout,v1,mask) continue; v1=conf.getdevreg(key) if v1: