Skip to content
Snippets Groups Projects
Commit af97db25 authored by Paulus Kruger's avatar Paulus Kruger
Browse files

RCU init debug

parent 5bbc8fb5
No related branches found
No related tags found
1 merge request!11Pypcc2
...@@ -210,6 +210,7 @@ variables: ...@@ -210,6 +210,7 @@ variables:
- name: RCU_state - name: RCU_state
description: State of RCUs 0=unknown, 1=ready, 2=busy, 3= wait PPS, 4=error 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 rw: variable #server variable, not linked to IO
dtype: uint8 dtype: uint8
dim: 1 dim: 1
...@@ -360,9 +361,7 @@ methods: ...@@ -360,9 +361,7 @@ methods:
# - IO3.GPIO1: Update # - IO3.GPIO1: Update
# - IO3.GPIO2: Update # - IO3.GPIO2: Update
- IO3.CONF1: Update - IO3.CONF1: Update
- RCU_mask: True
- RCU_update: 0 - RCU_update: 0
- RCU_mask: False
- RCU_state: 1 - RCU_state: 1
- name: RCU_on - name: RCU_on
......
...@@ -94,11 +94,11 @@ class i2c_dev(hwdev): ...@@ -94,11 +94,11 @@ class i2c_dev(hwdev):
if len(mask)==0: mask=[True]*len(data); if len(mask)==0: mask=[True]*len(data);
if len(data)!=len(mask): if len(data)!=len(mask):
logging.warn("Trying to set I2C OK with wrong mask length!") logging.warn("Trying to set I2C OK with wrong mask length!")
return return []
for x,m in enumerate(mask): for x,m in enumerate(mask):
if m: self.I2Cmask[x]=data[x]; if m: self.I2Cmask[x]=data[x];
return [OPCUAset(self.I2Cmaskid,InstType.varSet,self.I2Cmask.copy(),[])] 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))) logging.info(str(("Set Var",var1['name'],data,mask)))
oldmask=self.I2Cmask.copy() oldmask=self.I2Cmask.copy()
data,mask2=self.SetGetVarValueMask(var1,data,mask); data,mask2=self.SetGetVarValueMask(var1,data,mask);
......
...@@ -36,19 +36,23 @@ def runmethod(conf,Qout,methodid,mask): ...@@ -36,19 +36,23 @@ def runmethod(conf,Qout,methodid,mask):
for key,value in inst.items(): for key,value in inst.items():
if not(isinstance(value,list)): value=[value] if not(isinstance(value,list)): value=[value]
logging.info(str(("Run instruction",key,value,mask))); logging.info(str(("Run instruction",key,value,mask)));
if mask is None: mask=[]
if (key=='WAIT'): if (key=='WAIT'):
sleep(value[0]/1000.) sleep(value[0]/1000.)
continue; continue;
v1=conf.getvarid(key) v1=conf.getvarid(key)
if v1: if v1:
if value[0]=='Update': if value[0]=='Update':
mask=getvar(conf,Qout,v1,mask) #mask=
getvar(conf,Qout,v1,mask)
else: else:
mask=setvar(conf,Qout,v1,value,mask) #mask=
setvar(conf,Qout,v1,value,mask)
continue; continue;
v1=conf.getmethodid(key) v1=conf.getmethodid(key)
if v1: if v1:
mask=runmethod(conf,Qout,v1,mask) #mask=
runmethod(conf,Qout,v1,mask)
continue; continue;
v1=conf.getdevreg(key) v1=conf.getdevreg(key)
if v1: if v1:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment