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

translator_ready added

parent aeae6bba
No related branches found
No related tags found
1 merge request!11Pypcc2
......@@ -48,6 +48,12 @@ variables:
rw: ro #server RW variable, not linked to IO
dtype: uint8
- name: CLK_translator_busy
description: False when idle
rw: ro #server variable, not linked to IO
dtype: boolean
dim: 1
- name: CLK_Enable_PWR
description: Power enabled
rw: ro
......
......@@ -210,11 +210,17 @@ variables:
mask: RCU_mask
dim: 32
- name: RCU_state
description: State of RCUs 0=unknown, 1=ready, 2=busy, 3= wait PPS, 4=error
driver: I2C_RCU
# - name: RCU_state
# description: State of RCUs 0=unknown, 1=ready, 2=busy, 3= wait PPS, 4=error
# driver: I2C_RCU
# rw: ro #server variable, not linked to IO
# dtype: uint8
# dim: 1
- name: RCU_translator_busy
description: False when idle
rw: ro #server variable, not linked to IO
dtype: uint8
dtype: boolean
dim: 1
- name: RCU_attenuator
......
......@@ -87,6 +87,7 @@ device_registers:
variables:
#When I2C bus timeout, bus_STATUS set to False. Can we set to True again to retry.
- name: UNB2_I2C_bus_STATUS
driver: switch_UNB2
......@@ -119,6 +120,12 @@ variables:
dtype: uint8
dim: 2
- name: UNB2_translator_busy
description: False when idle
rw: ro #server variable, not linked to IO
dtype: boolean
dim: 1
##Central MP for whole Uniboard2
- name: UNB2_mask
rw: variable #translator variable
......
......@@ -108,6 +108,7 @@ def I2Cserver(Qin,Qout,name):
conf.linkdevices()
conf.loaddrivers()
conf.linkdrivers()
statusid=conf.getvarid(name+"_translator_busy");
while True:
item = Qin.get()
if item is None: break;
......@@ -124,7 +125,7 @@ def I2Cserver(Qin,Qout,name):
elif (item.type==InstType.method): runmethod(conf,Qout,item.id,item.mask)
else: print("OPCUA call not implemented!");
# print("TODO: Set ready")
# if Qin.qsize()==0: self.statevar.set_value("ready");
if (Qin.qsize()==0) and not(statusid is None): Qout.put(OPCUAset(statusid,InstType.varSet,[0],[]))
logging.info("End i2c process "+name)
# if name=='RCU':
......
......@@ -24,7 +24,12 @@ class yamlreader(yamlconfig):
self.server=i2cserver;
self.timecount=0;
self.monitorvarcnt=0;
self.statusid=self.getvarid(yamlfile+"_translator_busy");
def SetBusy(self):
if self.statusid is None: return
self.OPCset(self.statusid,[1],[])
def AddVars(self,AddVarR,AddVarW):
self.monitorvar=AddVarW(self.yamlfile+"_monitor_rate_RW",60,None,None,None)
for v in self.conf['variables']:
......@@ -84,6 +89,7 @@ class yamlreader(yamlconfig):
logging.debug("Method called!"+v['name'])
mask=v.get('maskOPC',None);
mask=mask.get_value() if (mask!=None) else [];
self.SetBusy()
self.server.callmethod(id1,mask)
def CallInit(self):
......@@ -131,6 +137,7 @@ class yamlreader(yamlconfig):
return;
data2=[d for d in data2]
logging.debug(str(("setvar ",v['name'],data2,mask)));
self.SetBusy()
self.server.setvar(id1,data2,mask)
def getvar(self):
......
......@@ -3,10 +3,20 @@ from test_common import *
RCUs=[0,1,2,3];
setRCUmask(RCUs)
#callmethod("RCU_off")
def wait(var1="RCU_translator_busy_R"):
for x in range(20):
busy=get_value(var1)
# print(busy)
if not(busy): break
time.sleep(0.1)
print("Time=",x*0.1,"s")
callmethod("RCU_off")
wait()
#exit()
#time.sleep(2)
callmethod("RCU_on")
wait()
#callmethod("RCU_on")
#time.sleep(1)
#callmethod("ADC_on")
......
......@@ -4,8 +4,14 @@ from test_common import *
#time.sleep(1)
callmethod("CLK_on")
time.sleep(1)
callmethod("CLK_PLL_setup")
for x in range(10):
busy=get_value("CLK_translator_busy_R")
print(busy)
if not(busy): break
time.sleep(0.1)
#time.sleep(1)
#callmethod("CLK_PLL_setup")
#exit()
#time.sleep(1)
#callmethod("RCU_on")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment