migrate smaract to community driver, update ui-files
This commit is contained in:
2
Makefile
2
Makefile
@@ -17,4 +17,4 @@ install_ioc: generate
|
||||
cd gen/ioc;make install
|
||||
|
||||
generate:
|
||||
/opt/gfa/python-3.5/latest/bin/python generate.py -m 0xf
|
||||
/opt/gfa/python-3.8/latest/bin/python generate.py -m 0xf
|
||||
|
||||
76
ReadmeMCS.md
Normal file
76
ReadmeMCS.md
Normal file
@@ -0,0 +1,76 @@
|
||||
asynReport 255
|
||||
asynSetTraceIOMask
|
||||
asynSetTraceInfoMask
|
||||
asynSetTraceMask
|
||||
/home/zamofing_t/Documents/prj/SwissFEL/epics_ioc_modules/SASE_RIXS/Readme.md
|
||||
|
||||
asynReport
|
||||
asynReport 3 MCS
|
||||
asynReport 3 asynMCS
|
||||
|
||||
|
||||
asynSetTraceMask asynMCS 0 0xff
|
||||
asynSetTraceIOMask asynMCS 0 0xff
|
||||
|
||||
asynSetTraceMask asynMCS,0, error|device|filter|driver|flow|warning
|
||||
asynSetTraceIOMask asynMCS,0, nodata|ascii|escape|hex
|
||||
asynSetTraceInfoMask asynMCS,0, time|port|source|thread
|
||||
|
||||
#quite/default asyn communication
|
||||
asynSetTraceMask asynMCS,0, error
|
||||
asynSetTraceIOMask asynMCS,0, escape
|
||||
asynSetTraceInfoMask asynMCS,0, time|port|source
|
||||
asynSetTraceMask MCS,0, error
|
||||
asynSetTraceIOMask MCS,0, escape
|
||||
asynSetTraceInfoMask MCS,0, time|port|source
|
||||
|
||||
|
||||
#good debugging for asyn communication
|
||||
asynSetTraceMask asynMCS,0, error|driver
|
||||
asynSetTraceIOMask asynMCS,0, escape
|
||||
asynSetTraceInfoMask asynMCS,0, time|port|source
|
||||
|
||||
#good debugging for motor record tracing
|
||||
asynSetTraceMask MCS,0, error|device|filter|driver|flow|warning
|
||||
asynSetTraceIOMask MCS,0, escape
|
||||
asynSetTraceInfoMask MCS,0, time|port|source
|
||||
|
||||
|
||||
/home/zamofing_t/Documents/doc-ext/SmaractMCS/MCSrs232InterfaceDocumentation.pdf
|
||||
ncat 129.129.244.32 5000
|
||||
->resut :ID4049801502
|
||||
|
||||
:GSI
|
||||
:GIV
|
||||
:GNC
|
||||
|
||||
:GCT0
|
||||
|
||||
:MPA0,123000,2000
|
||||
:GP0
|
||||
->:P0,123000\n
|
||||
:MPA0,987,2000
|
||||
:GST0
|
||||
:ST0,1
|
||||
|
||||
#good debugging for motor record tracing
|
||||
asynSetTraceMask asynS1,0, 0x09
|
||||
asynSetTraceIOMask asynS1,0, 0x02
|
||||
asynSetTraceInfoMask asynS1,0, 0x07
|
||||
|
||||
|
||||
|
||||
add a ASYn record
|
||||
|
||||
caqtdm -macro 'S=SARES30-SMX,M=MCS,T=MCS' ESB_MX_SmarAct
|
||||
|
||||
caqtdm -macro 'P=SARES30-SMX:,R=ASYN' asynOctet
|
||||
|
||||
caput SARES30-SMX:ASYN.AOUT :GSI
|
||||
caput SARES30-SMX:ASYN.AOUT :GP0
|
||||
caput SARES30-SMX:ASYN.AOUT :MPA0,123000,2000
|
||||
caput SARES30-SMX:ASYN.AOUT :GST0
|
||||
|
||||
|
||||
|
||||
caget SARES30-SMX:ASYN.TINP
|
||||
2
add_EXPMX4.cmd
Normal file
2
add_EXPMX4.cmd
Normal file
@@ -0,0 +1,2 @@
|
||||
#Powerbrick for new commissioning of fast scanning stage
|
||||
#FOR NOW IT IS AN EMPTY CPNFIG !
|
||||
190
generate.py
190
generate.py
@@ -17,33 +17,98 @@ from __future__ import print_function
|
||||
import logging, sys, os, json
|
||||
import string
|
||||
|
||||
host2param={
|
||||
#HOST runScript
|
||||
'SAR-CPPM-EXPMX1': ('require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX1.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
'SAR-CPPM-EXPMX2': ('require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX2.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
'SAR-CPPM-EXPMX3': ('require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX3.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
}
|
||||
class Generate:
|
||||
yamlParam={
|
||||
# ioc : ( host , port , ver , arch , osys , osys_id ,
|
||||
# 'SAR-CSSU-EXPMX1' : ('SAR-CSSU-EXPMX1' , 50001 , '3.14.12' , 'moxa42-armv6l' , 'moxa42-armv6l' , 'moxa42-armv6l' , ) ,
|
||||
'SAR-CPPM-EXPMX1' : ('SAR-CPPM-EXPMX1' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
|
||||
'SAR-CPPM-EXPMX2' : ('SAR-CPPM-EXPMX2' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
|
||||
'SAR-CPPM-EXPMX3' : ('SAR-CPPM-EXPMX3' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
|
||||
'SAR-CPPM-EXPMX4' : ('SAR-CPPM-EXPMX4' , 50001 , '7.0.7' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , 'eldk42-ppc4xxFP' , ) ,
|
||||
'SARES30-CPCL-MCSSMX' : ('saresc-softioc-11' , 50001 , '7.0.6' , 'x86_64' , 'RHEL7' , 'rhel' , ) ,
|
||||
}
|
||||
|
||||
mxSmarAct={
|
||||
'port':'MCS',
|
||||
'host':'129.129.244.32',
|
||||
'prefix':'SARES30-SMX',
|
||||
'motLst':(
|
||||
# description , PV name , axis , hlm , llm , dir , sens ,
|
||||
('COLLI:TX' , 'MCS1' , 0 , 12 , -10 , 1 , 'S' ) ,
|
||||
('COLLI:TY' , 'MCS2' , 1 , 12 , -10 , 1 , 'S' ) ,
|
||||
('Motor3' , 'MCS3' , 2 , 10 , -10 , 0 , 'S' ) ,
|
||||
('POSTTUBE:TX1' , 'MCS4' , 3 , 10 , -10 , 0 , 'S' ) ,
|
||||
('POSTTUBE:TX2' , 'MCS5' , 4 , 10 , -10 , 0 , 'S' ) ,
|
||||
('POSTTUBE:TY1' , 'MCS6' , 5 , 15 , -20 , 0 , 'S' ) ,
|
||||
('POSTTUBE:TY2' , 'MCS7' , 6 , 15 , -20 , 0 , 'S' ) ,
|
||||
('POSTTUBE:TZ' , 'MCS8' , 7 , 10 , -10 , 1 , 'S' ) ,
|
||||
('Motor9' , 'MCS9' , 8 , 10 , -10 , 0 , 'S' ) ,
|
||||
('SLITS:X1' , 'MCS10' , 9 , 10 , -10 , 1 , 'S' ) ,
|
||||
('SLITS:X2' , 'MCS11' , 10 , 10 , -10 , 1 , 'S' ) ,
|
||||
('SLITS:Y1' , 'MCS12' , 11 , 10 , -10 , 1 , 'S' ) ,
|
||||
('SLITS:Y2' , 'MCS13' , 12 , 10 , -10 , 1 , 'S' ) ,
|
||||
('XEYE:TX' , 'MCS14' , 13 , 10 , -10 , 0 , 'S' ) ,
|
||||
('XEYE:TY' , 'MCS15' , 14 , 10 , -10 , 0 , 'S' ) ,
|
||||
),
|
||||
}
|
||||
|
||||
pb_host2param={
|
||||
# HOST runScript
|
||||
'SAR-CPPM-EXPMX1':('','require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX1.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
'SAR-CPPM-EXPMX2':('','require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX2.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
'SAR-CPPM-EXPMX3':('','require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX3.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
'SAR-CPPM-EXPMX4':('','require ESB_MX\nrunScript $(ESB_MX_DIR)/add_EXPMX4.cmd "P=SAR-EXPMX,PORT=PPMAC1"',),
|
||||
}
|
||||
|
||||
|
||||
tplYaml='''\
|
||||
cpu_architecture: {os}
|
||||
os: {os}
|
||||
os_id: {os}
|
||||
epics_version: 7.0.7
|
||||
tplYaml='''\
|
||||
ioc_host: {host}
|
||||
ioc_port: {port}
|
||||
epics_version: {ver}
|
||||
cpu_architecture: {arch}
|
||||
os: {osys}
|
||||
os_id: {osys_id}
|
||||
'''
|
||||
|
||||
##################################################################
|
||||
# DO NOT EDIT: Generated with epics_ioc_modules/OATT/generate.py
|
||||
# This is the IOC on "{host}" port {port}:
|
||||
##################################################################
|
||||
tplScriptPowerBrickIOC='''\
|
||||
#####################################
|
||||
lutSensMcs={'S':0, 'SR':1, 'SP':2, 'SC':3, 'SR20':4, 'M':5, 'SD':6, 'SR2':7, 'MD':8, 'SC500':9, 'User Def':10,
|
||||
'None':11, 'LC':12, 'L':13}
|
||||
|
||||
tplMcsCtrl='''\
|
||||
epicsEnvSet("ENGINEER", "T. Zamofing (zamofing_t)")
|
||||
epicsEnvSet("LOCATION", "0.Z553.58")
|
||||
|
||||
#load module
|
||||
# motorSmarAct community driver
|
||||
# smarActMot PSI templates and other files
|
||||
require motorSmarAct zamofing_t
|
||||
#require motorSmarAct
|
||||
require smarActMot
|
||||
# -------------
|
||||
drvAsynIPPortConfigure("asyn{port}", "{host}:5000", 0, 0, 0)
|
||||
# PORT, MCS_PORT, number of axes, active poll period (sec), idle poll period (sec)
|
||||
smarActMCSCreateController("{port}", "asyn{port}", {num_ax}, 0.1, 1.0)
|
||||
'''
|
||||
|
||||
tplMcsAxis='''\
|
||||
smarActMCSCreateAxis({port}, {axis}, {chan})
|
||||
'''
|
||||
|
||||
mcs_subs_hdr='''\
|
||||
file asyn.template {{{{P={prefix}, PORT=asyn{port}}}}}
|
||||
|
||||
##### MCS
|
||||
file $(smarActMot_DIR)/db/MCS_axis.template
|
||||
{{
|
||||
pattern
|
||||
{{PORT ,S ,M ,ADDR,DESC ,DIR,VBAS,VMAX,DHLM,DLLM,EGU,SENSOR ,UDSENS,RTRY}}
|
||||
'''
|
||||
|
||||
tplScriptPowerBrickIOC='''\
|
||||
##########################################
|
||||
# DO NOT EDIT: Generated with generate.py
|
||||
# This is the IOC on host {host}
|
||||
##########################################
|
||||
# PPMAC responsible: Thierry Zamofing
|
||||
#####################################
|
||||
##########################################
|
||||
{req}
|
||||
|
||||
############################################
|
||||
@@ -62,7 +127,7 @@ powerPmacCreateController("PPMAC1", 200, 1000)
|
||||
{devConf}
|
||||
'''
|
||||
|
||||
tplEVR='''\
|
||||
tplEVR='''\
|
||||
####### initialise EVR ##############################
|
||||
# https://git.psi.ch/epics_driver_modules/mrfioc2
|
||||
require mrfioc2
|
||||
@@ -74,42 +139,43 @@ require mrfioc2_regDev
|
||||
runScript $(mrfioc2_regDev_DIR)/mrfioc2_regDev_pulseID_RX.cmd, "DEVICE=EVR0,SYS=SAR-EXPMX"
|
||||
'''
|
||||
|
||||
|
||||
class CPPM:
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def genIOC(self):
|
||||
print('### genIOC ###')
|
||||
tpl=tplScriptPowerBrickIOC
|
||||
|
||||
os.makedirs('gen/ioc/',exist_ok=True)
|
||||
#os.makedirs('gen/db/',exist_ok=True)
|
||||
|
||||
def genYAML(self):
|
||||
|
||||
for ioc,p in self.yamlParam.items():
|
||||
param=dict(zip(('host','port','ver','arch','osys','osys_id',),p))
|
||||
fn=f'gen/ioc/{ioc}_parameters.yaml'
|
||||
print('generate '+fn+' ...')
|
||||
fh=open(fn,'w')
|
||||
fh.write(self.tplYaml.format(**param))
|
||||
fh.close()
|
||||
print('done.')
|
||||
|
||||
def genIOC(self):
|
||||
print('### genIOC ###')
|
||||
tplIOC=Generate.tplScriptPowerBrickIOC
|
||||
yamlParam=Generate.yamlParam
|
||||
pb_h2p=Generate.pb_host2param
|
||||
tplEVR=Generate.tplEVR
|
||||
fh=open('gen/ioc/Makefile','w')
|
||||
fh.write('include /ioc/tools/ioc.makefile\n')
|
||||
fh.close()
|
||||
|
||||
port=50001
|
||||
osys='eldk42-ppc4xxFP'
|
||||
|
||||
for host,v in host2param.items():
|
||||
devConf,=v
|
||||
req=''
|
||||
|
||||
for host in yamlParam.keys():
|
||||
if not host in pb_h2p:
|
||||
assert(host=='SARES30-CPCL-MCSSMX')
|
||||
self.genSmarActIOC(host)
|
||||
continue
|
||||
req,devConf=pb_h2p[host]
|
||||
fn='gen/ioc/{host}_startup.script'.format(host=host)
|
||||
print('generate '+fn+'...')
|
||||
print('generate '+fn+' ...')
|
||||
fh=open(fn,'w')
|
||||
fh.write(tpl.format(host=host,port=port,req=req,devConf=devConf))
|
||||
fh.write(tplIOC.format(host=host,req=req,devConf=devConf))
|
||||
if host=='SAR-CPPM-EXPMX1':
|
||||
fh.write(tplEVR)
|
||||
fh.close()
|
||||
fn='gen/ioc/{host}_parameters.yaml'.format(host=host)
|
||||
print('generate '+fn+'...')
|
||||
fh=open(fn,'w')
|
||||
fh.write(tplYaml.format(os=osys,host=host,port=port))
|
||||
fh.close()
|
||||
print('done.')
|
||||
|
||||
def genLauncher(self):
|
||||
@@ -125,6 +191,36 @@ class CPPM:
|
||||
#'''.format(dev=dev))
|
||||
# fh.close()
|
||||
|
||||
def genSmarActIOC(self,ioc):
|
||||
tplCtrl=Generate.tplMcsCtrl
|
||||
tplAxis=Generate.tplMcsAxis
|
||||
motLst=Generate.mxSmarAct['motLst']
|
||||
subs=Generate.mcs_subs_hdr
|
||||
host=Generate.mxSmarAct['host']
|
||||
prefix=Generate.mxSmarAct['prefix']
|
||||
port=Generate.mxSmarAct['port']
|
||||
lutSens=Generate.lutSensMcs
|
||||
num_ax=len(motLst)
|
||||
fn=f'gen/ioc/{ioc}_startup.script'
|
||||
print('generate '+fn+' ...')
|
||||
with open(fn,'w') as fh_ss:
|
||||
fh_ss.write(tplCtrl.format(host=host,port=port,num_ax=num_ax))
|
||||
|
||||
fn_subs=f'gen/ioc/{ioc}_gen.subs' # with a name _* the .subs file is recognize by the 'ioc install' tool
|
||||
print('generate '+fn_subs+'...')
|
||||
with open(fn_subs,'w') as fh:
|
||||
fh.write(subs.format(port=port,prefix=prefix))
|
||||
for d, m, a, hlm, llm, dir,sens in motLst:
|
||||
sens=lutSens[sens]
|
||||
param={'PORT':port,'S':prefix,'M':m,'ADDR':a,'DESC':'"'+d+'"',
|
||||
'DIR':dir,'VBAS':0,'VMAX':2,'DHLM':hlm,'DLLM':llm,'EGU':'mm','SENSOR':sens,'UDSENS':0,'RTRY':1}
|
||||
fh.write(' {{{PORT:10},{S:16},{M:10},{ADDR:4},{DESC:27},{DIR:3},{VBAS:4},{VMAX:4},{DHLM:4},{DLLM:4},{EGU:3},{SENSOR:7},{UDSENS:5}{RTRY:5}}}\n'.format(**param))
|
||||
fh_ss.write(tplAxis.format(port=port,axis=a,chan=a))
|
||||
fh.write('}\n\n')
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__=='__main__':
|
||||
def parse_args():
|
||||
import argparse
|
||||
@@ -138,10 +234,12 @@ if __name__=='__main__':
|
||||
args = parser.parse_args()
|
||||
#print(args)
|
||||
|
||||
obj=CPPM()
|
||||
obj=Generate()
|
||||
if args.mode&0x1:
|
||||
obj.genIOC()
|
||||
obj.genYAML()
|
||||
if args.mode&0x2:
|
||||
obj.genIOC()
|
||||
if args.mode&0x4:
|
||||
obj.genLauncher()
|
||||
|
||||
parse_args()
|
||||
|
||||
@@ -53,17 +53,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="macro">
|
||||
<string>
|
||||
P=$(P),M=MOT_GIR_1;
|
||||
P=$(P),M=MOT_GIR_2;
|
||||
P=$(P),M=MOT_GIR_3;
|
||||
P=$(P),M=MOT_GIR_4;
|
||||
P=$(P),M=MOT_GIR_5;
|
||||
P=$(P),M=MOT_GIR_X;
|
||||
P=$(P),M=MOT_GIR_Y;
|
||||
P=$(P),M=MOT_GIR_U;
|
||||
P=$(P),M=MOT_GIR_V;
|
||||
P=$(P),M=MOT_GIR_W</string>
|
||||
<string>P=$(P),M=MOT_GIR_1;P=$(P),M=MOT_GIR_2;P=$(P),M=MOT_GIR_3;P=$(P),M=MOT_GIR_4;P=$(P),M=MOT_GIR_5;P=$(P),M=MOT_GIR_X;P=$(P),M=MOT_GIR_Y;P=$(P),M=MOT_GIR_U;P=$(P),M=MOT_GIR_V;P=$(P),M=MOT_GIR_W</string>
|
||||
</property>
|
||||
<property name="filename" stdset="0">
|
||||
<string notr="true">ESB_MX_motor.ui</string>
|
||||
@@ -228,7 +218,7 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>type motion code as:
|
||||
'&1;#1..5j/;cpx call15;abslinear X(1000)Y(0)U(0)V(0)W(0);call16'</string>
|
||||
'&1;#1..5j/;cpx abslinear X(1000)Y(0)U(0)V(0)W(0)'</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caFrame" name="caframe">
|
||||
@@ -548,15 +538,15 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M2</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caGraphics" name="cagraphics_5">
|
||||
<property name="geometry">
|
||||
@@ -772,15 +762,15 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M3</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caGraphics" name="cagraphics_10">
|
||||
<property name="geometry">
|
||||
@@ -912,15 +902,15 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M4</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caGraphics" name="cagraphics_7">
|
||||
<property name="geometry">
|
||||
@@ -1124,15 +1114,15 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M5</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caGraphics" name="m4stop">
|
||||
<property name="geometry">
|
||||
@@ -1185,15 +1175,15 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<height>16</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>M1</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignAbsolute|Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<zorder>capolyline</zorder>
|
||||
<zorder>m3move</zorder>
|
||||
@@ -1251,111 +1241,6 @@ P=$(P),M=MOT_GIR_W</string>
|
||||
<string notr="true">BrickLV.Reset=1;#1..8j/</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caMessageButton" name="caMessageButton_13">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>490</y>
|
||||
<width>120</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="fontScaleMode">
|
||||
<enum>EPushButton::WidthAndHeight</enum>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):MOVE_XYUVW</string>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">MOVE XYUVW</string>
|
||||
</property>
|
||||
<property name="pressMessage">
|
||||
<string>1</string>
|
||||
</property>
|
||||
<property name="colorMode">
|
||||
<enum>caMessageButton::Static</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>450</x>
|
||||
<y>370</y>
|
||||
<width>171</width>
|
||||
<height>151</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<property name="spacing">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="caTextEntry" name="catextentry">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):5CAM_X</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="caTextEntry" name="catextentry_2">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):5CAM_Y</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="caTextEntry" name="catextentry_3">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):5CAM_U</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="caTextEntry" name="catextentry_4">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):5CAM_V</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="caTextEntry" name="catextentry_5">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="channel" stdset="0">
|
||||
<string notr="true">$(P):5CAM_W</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
||||
175
qt/ESB_MX_SmarAct.ui
Normal file
175
qt/ESB_MX_SmarAct.ui
Normal file
@@ -0,0 +1,175 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>Form</class>
|
||||
<widget class="QWidget" name="Form">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>797</width>
|
||||
<height>673</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
</property>
|
||||
<property name="autoFillBackground">
|
||||
<bool>false</bool>
|
||||
</property>
|
||||
<widget class="caLabel" name="caLabel_0">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>781</width>
|
||||
<height>26</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="statusTip">
|
||||
<string>Expert</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Smaract Controller $(S):$(M)</string>
|
||||
</property>
|
||||
<property name="alignment">
|
||||
<set>Qt::AlignLeading</set>
|
||||
</property>
|
||||
<property name="foreground">
|
||||
<color>
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="background">
|
||||
<color alpha="0">
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="colorMode">
|
||||
<enum>caLabel::Default</enum>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caInclude" name="cainclude_3">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>5</x>
|
||||
<y>53</y>
|
||||
<width>784</width>
|
||||
<height>612</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="macro">
|
||||
<string>S=$(S),T=$(T),M=$(M)1;S=$(S),T=$(T),M=$(M)2;S=$(S),T=$(T),M=$(M)3;S=$(S),T=$(T),M=$(M)4;S=$(S),T=$(T),M=$(M)5;S=$(S),T=$(T),M=$(M)6;S=$(S),T=$(T),M=$(M)7;S=$(S),T=$(T),M=$(M)8;S=$(S),T=$(T),M=$(M)9;S=$(S),T=$(T),M=$(M)10;S=$(S),T=$(T),M=$(M)11;S=$(S),T=$(T),M=$(M)12;S=$(S),T=$(T),M=$(M)13;S=$(S),T=$(T),M=$(M)14;S=$(S),T=$(T),M=$(M)15</string>
|
||||
</property>
|
||||
<property name="filename" stdset="0">
|
||||
<string notr="true">MCS_stage.ui</string>
|
||||
</property>
|
||||
<property name="numberOfItems" stdset="0">
|
||||
<number>15</number>
|
||||
</property>
|
||||
<property name="verticalSpacing" stdset="0">
|
||||
<number>3</number>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>caInclude::NoFrame</enum>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_5">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>640</x>
|
||||
<y>30</y>
|
||||
<width>80</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>URW Gothic L</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>satus bits</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_6">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>215</x>
|
||||
<y>30</y>
|
||||
<width>80</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>URW Gothic L</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_7">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>7</x>
|
||||
<y>30</y>
|
||||
<width>80</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>URW Gothic L</family>
|
||||
<pointsize>12</pointsize>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Motor</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="label_8">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>346</x>
|
||||
<y>30</y>
|
||||
<width>100</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="font">
|
||||
<font>
|
||||
<family>URW Gothic L</family>
|
||||
<pointsize>12</pointsize>
|
||||
<kerning>true</kerning>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Absolute</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>caLabel</class>
|
||||
<extends>QLabel</extends>
|
||||
<header>caLabel</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>caInclude</class>
|
||||
<extends>QWidget</extends>
|
||||
<header>caInclude</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
</ui>
|
||||
189
qt/ESB_MX_exp.ui
189
qt/ESB_MX_exp.ui
@@ -7,7 +7,7 @@
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>776</width>
|
||||
<height>706</height>
|
||||
<height>640</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -194,9 +194,9 @@
|
||||
<widget class="caMessageButton" name="camessagebutton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>620</y>
|
||||
<width>121</width>
|
||||
<x>140</x>
|
||||
<y>590</y>
|
||||
<width>120</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -213,39 +213,10 @@
|
||||
<string notr="true">enable plc 1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caRelatedDisplay" name="carelateddisplay">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>160</x>
|
||||
<y>620</y>
|
||||
<width>121</width>
|
||||
<height>24</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">Smaract</string>
|
||||
</property>
|
||||
<property name="background">
|
||||
<color>
|
||||
<red>128</red>
|
||||
<green>136</green>
|
||||
<blue>255</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<string>Smaract</string>
|
||||
</property>
|
||||
<property name="files">
|
||||
<string>ESB_MX_SmarAct_main.ui</string>
|
||||
</property>
|
||||
<property name="args">
|
||||
<string>P=SARES30-ESBMX</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caToggleButton" name="catogglebutton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<x>360</x>
|
||||
<y>590</y>
|
||||
<width>100</width>
|
||||
<height>22</height>
|
||||
@@ -267,9 +238,9 @@
|
||||
<widget class="caMessageButton" name="camessagebutton_2">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>650</y>
|
||||
<width>100</width>
|
||||
<x>260</x>
|
||||
<y>590</y>
|
||||
<width>90</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -288,7 +259,7 @@
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>590</y>
|
||||
<width>121</width>
|
||||
<width>120</width>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
@@ -305,143 +276,17 @@
|
||||
<string notr="true">enable plc 1</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caRelatedDisplay" name="caRelatedDisplay_9">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>160</x>
|
||||
<y>650</y>
|
||||
<width>151</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">-ESB_MX Girder</string>
|
||||
</property>
|
||||
<property name="foreground">
|
||||
<color>
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="background">
|
||||
<color>
|
||||
<red>89</red>
|
||||
<green>126</green>
|
||||
<blue>225</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<string>HEXGIR</string>
|
||||
</property>
|
||||
<property name="files">
|
||||
<string>ESB_MX_5cam.ui</string>
|
||||
</property>
|
||||
<property name="args">
|
||||
<string>P=$(P)</string>
|
||||
</property>
|
||||
<property name="stackingMode" stdset="0">
|
||||
<enum>caRowColMenu::Menu</enum>
|
||||
</property>
|
||||
<property name="removeParent" stdset="0">
|
||||
<string>false;false;false;false;false;false;false;false;false;false;false;false;false;false;false;false</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caRelatedDisplay" name="caRelatedDisplay_10">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>340</x>
|
||||
<y>650</y>
|
||||
<width>151</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">-ESB_MX Girder(old)</string>
|
||||
</property>
|
||||
<property name="foreground">
|
||||
<color>
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="background">
|
||||
<color>
|
||||
<red>89</red>
|
||||
<green>126</green>
|
||||
<blue>225</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<string>HEXGIR</string>
|
||||
</property>
|
||||
<property name="files">
|
||||
<string>S_CS_HEXGIR_5Dbasic.ui</string>
|
||||
</property>
|
||||
<property name="args">
|
||||
<string>NAME=$(P), NAME1=$(P)</string>
|
||||
</property>
|
||||
<property name="stackingMode" stdset="0">
|
||||
<enum>caRowColMenu::Menu</enum>
|
||||
</property>
|
||||
<property name="removeParent" stdset="0">
|
||||
<string>false;false;false;false;false;false;false;false;false;false;false;false;false;false;false;false</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caRelatedDisplay" name="caRelatedDisplay_11">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>340</x>
|
||||
<y>610</y>
|
||||
<width>151</width>
|
||||
<height>30</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">-ESB_MX EVR</string>
|
||||
</property>
|
||||
<property name="foreground">
|
||||
<color>
|
||||
<red>0</red>
|
||||
<green>0</green>
|
||||
<blue>0</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="background">
|
||||
<color>
|
||||
<red>89</red>
|
||||
<green>126</green>
|
||||
<blue>225</blue>
|
||||
</color>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<string>EVR</string>
|
||||
</property>
|
||||
<property name="files">
|
||||
<string>G_EVR_main.ui</string>
|
||||
</property>
|
||||
<property name="args">
|
||||
<string>SYS=$(P),DEVICE=EVR0,FF=PCIe</string>
|
||||
</property>
|
||||
<property name="stackingMode" stdset="0">
|
||||
<enum>caRowColMenu::Menu</enum>
|
||||
</property>
|
||||
<property name="removeParent" stdset="0">
|
||||
<string>false;false;false;false;false;false;false;false;false;false;false;false;false;false;false;false</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="caRelatedDisplay" name="caRelatedDisplay_12">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>510</x>
|
||||
<y>610</y>
|
||||
<width>151</width>
|
||||
<height>30</height>
|
||||
<x>560</x>
|
||||
<y>590</y>
|
||||
<width>180</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="label">
|
||||
<string notr="true">-ESB_MX EVR VME</string>
|
||||
<string notr="true">-related panels</string>
|
||||
</property>
|
||||
<property name="foreground">
|
||||
<color>
|
||||
@@ -458,13 +303,13 @@
|
||||
</color>
|
||||
</property>
|
||||
<property name="labels">
|
||||
<string>EVR;EVR-simple</string>
|
||||
<string>SmarAct;SmarAct (old);Girder;EVR;EVR-simple</string>
|
||||
</property>
|
||||
<property name="files">
|
||||
<string>G_EVR_main.ui;S_LAS-TMAIN.ui</string>
|
||||
<string>ESB_MX_SmarAct.ui;ESB_MX_SmarAct_main.ui;ESB_MX_5cam.ui;G_EVR_main.ui;S_LAS-TMAIN.ui</string>
|
||||
</property>
|
||||
<property name="args">
|
||||
<string>SYS=SAR-CVME,DEVICE=EVR0,FF=VME-300;SYS=SAR-CVME,IOC=SAR-CVME-EVR0,DEVICE=EVR0</string>
|
||||
<string>S=SARES30-SMX,M=MCS,T=MCS;P=SARES30-ESBMX;P=$(P);SYS=SAR-CVME,DEVICE=EVR0,FF=VME-300;SYS=SAR-CVME,IOC=SAR-CVME-EVR0,DEVICE=EVR0</string>
|
||||
</property>
|
||||
<property name="stackingMode" stdset="0">
|
||||
<enum>caRowColMenu::Menu</enum>
|
||||
|
||||
Reference in New Issue
Block a user