Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
X
xxx-R6-1
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
synApps_6_1_Working
xxx-R6-1
Commits
548b3ba9
Commit
548b3ba9
authored
8 years ago
by
klang
Browse files
Options
Downloads
Patches
Plain Diff
Extracting all the common support
parent
0237976d
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
iocBoot/iocxxx/common.iocsh
+244
-0
244 additions, 0 deletions
iocBoot/iocxxx/common.iocsh
with
244 additions
and
0 deletions
iocBoot/iocxxx/common.iocsh
0 → 100644
+
244
−
0
View file @
548b3ba9
########################## ############################################################################
# environment variable description
########################## ############################################################################
# PREFIX prefix used for all PVs in this IOC
# EPICS_DB_INCLUDE_PATH search path for database files
# EPICS_CA_MAX_ARRAY_BYTES Specify largest array CA will transport
# IOCBOOT absolute directory path in which this file is located
########################## ############################################################################
#For devIocStats
epicsEnvSet("ENGINEER", "engineer")
epicsEnvSet("LOCATION", "location")
epicsEnvSet("GROUP", "group")
epicsEnvSet("PREFIX", "xxx:")
### For alive
epicsEnvSet("IOCBOOT", $(TOP)/iocBoot/$(IOC))
epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(DEVIOCSTATS)/db")
# set the protocol path for streamDevice
epicsEnvSet("STREAM_PROTOCOL_PATH", ".")
# save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide
epicsEnvSet(STARTUP,$(TOP)/iocBoot/$(IOC))
# Specify largest array CA will transport
# Note for N doubles, need N*8 bytes+some overhead
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64010
### save_restore setup
< common/save_restore.cmd
# Access Security
dbLoadRecords("$(TOP)/xxxApp/Db/Security_Control.db","P=$(PREFIX)")
asSetFilename("$(TOP)/iocBoot/accessSecurity.acf")
asSetSubstitutions("P=$(PREFIX)")
### caputRecorder
# trap listener
dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputPoster.db","P=$(PREFIX),N=300")
doAfterIocInit("registerCaputRecorderTrapListener('$(PREFIX)caputRecorderCommand')")
# GUI database
dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=$(PREFIX),N=300")
# second copy of GUI database
#dbLoadRecords("$(CAPUTRECORDER)/caputRecorderApp/Db/caputRecorder.db","P=$(PREFIX)A:,N=300")
# user-assignable ramp/tweak
dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=$(PREFIX),Q=rt1")
# < $(PLATFORM)/areaDetector.cmd
# Motors
dbLoadTemplate("$(PLATFORM)/motor.substitutions")
#dbLoadTemplate("common/softMotor.substitutions")
#dbLoadTemplate("common/pseudoMotor.substitutions")
# Allstop, alldone
dbLoadRecords("$(MOTOR)/db/motorUtil.db", "P=$(PREFIX)")
doAfterIocInit("motorUtilInit('$(PREFIX)')")
### streamDevice example
#dbLoadRecords("$(TOP)/xxxApp/Db/streamExample.db","P=$(PREFIX),PORT=serial1")
### Insertion-device control
#dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=$(PREFIX),xx=02us")
### Scan-support software
# crate-resident scan. This executes 1D, 2D, 3D, and 4D scans, and caches
# 1D data, but it doesn't store anything to disk. (See 'saveData' below for that.)
epicsEnvSet("SDB", "$(SSCAN)/sscanApp/Db/standardScans.db")
dbLoadRecords("$(SDB)","P=$(PREFIX),MAXPTS1=1000,MAXPTS2=1000,MAXPTS3=1000,MAXPTS4=1000,MAXPTSH=1000")
#dbLoadRecords("$(SSCAN)/sscanApp/Db/scanAux.db","P=$(PREFIX),S=scanAux,MAXPTS=100")
# Start the saveData task. If you start this task, scan records mentioned
# in saveData.req will *always* write data files. There is no programmable
# disable for this software.
dbLoadRecords("$(SSCAN)/sscanApp/Db/saveData.db","P=$(PREFIX)")
doAfterIocInit("saveData_Init(saveData.req, 'P=$(PREFIX)')")
dbLoadRecords("$(SSCAN)/sscanApp/Db/scanProgress.db","P=$(PREFIX)scanProgress:")
doAfterIocInit("seq &scanProgress, 'S=$(PREFIX), P=$(PREFIX)scanProgress:'")
# configMenu example.
dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan1")
# Note that the request file MUST be named $(CONFIG)Menu.req
# If the macro CONFIGMENU is defined with any value, backup (".savB") and
# sequence files (".savN") will not be written. We don't want these for configMenu.
# Run this after iocInit:
doAfterIocInit("create_manual_set('scan1Menu.req','P=$(PREFIX),CONFIG=scan1,CONFIGMENU=1')")
# You could make scan configurations read-only:
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan1,ENABLE_SAVE=0")
# read-only configMenu example. (Read-only, because we're not calling create_manual_set().)
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan2")
# A set of scan parameters for each positioner. This is a convenience
# for the user. It can contain an entry for each scannable thing in the
# crate.
dbLoadTemplate("$(PLATFORM)/scanParms.substitutions")
### Slits (If not supplied, RELTOCENTER defaults to zero)
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=$(PREFIX),SLIT=Slit1V,mXp=m3,mXn=m4,RELTOCENTER=0")
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=$(PREFIX),SLIT=Slit1H,mXp=m5,mXn=m6,RELTOCENTER=0")
# X-ray Instrumentation Associates Huber Slit Controller
# supported by a customized version of the SNL program written by Pete Jemian
# (Uses asyn record loaded separately)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=$(PREFIX), HSC=hsc1:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=$(PREFIX), HSC=hsc2:")
#dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=$(PREFIX),C=0,SERVER=serial7")
#doAfterIocInit("seq &xia_slit, 'name=hsc1, P=$(PREFIX), HSC=hsc1:, S=$(PREFIX)asyn_6'")
#doAfterIocInit("seq &xia_slit, 'name=hsc2, P=$(PREFIX), HSC=hsc2:, S=$(PREFIX)asyn_6'")
### 2-post mirror
#dbLoadRecords("$(OPTICS)/opticsApp/Db/2postMirror.db","P=$(PREFIX),Q=M1,mDn=m1,mUp=m2,LENGTH=0.3")
### User filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=$(PREFIX),Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=$(PREFIX),Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterLock.db","P=$(PREFIX),Q=fltr2:,LOCK=fltr_1_2:,LOCK_PV=$(PREFIX)DAC1_1.VAL")
### Optical tables
epicsEnvSet("DIR", "$(OPTICS)/opticsApp/Db")
dbLoadRecords("$(DIR)/table.db","P=$(PREFIX),Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
#dbLoadRecords("$(DIR)/table.db","P=$(PREFIX),Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=NEWPORT")
#dbLoadRecords("$(DIR)/table.db","P=$(PREFIX),Q=Table2,T=table2,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
# Io calculation
#dbLoadRecords("$(OPTICS)/opticsApp/Db/Io.db","P=$(PREFIX)Io:")
#doAfterIocInit("seq &Io, 'P=$(PREFIX)Io:,MONO=$(PREFIX)BraggEAO,VSC=$(PREFIX)scaler1'")
### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=$(PREFIX),M_THETA=m1,M_Y=m2,M_Z=m3,yOffLo=17.4999,yOffHi=17.5001")
#doAfterIocInit("seq &kohzuCtl, 'P=$(PREFIX), M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=1, logfile=kohzuCtl.log'")
# modified geometry (geometry 2)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=$(PREFIX),M_THETA=m1,M_Y=m2,M_Z=m2,yOffLo=4,yOffHi=36")
#doAfterIocInit("seq &kohzuCtl, 'P=$(PREFIX), M_THETA=m1, M_Y=m2, M_Z=m3, GEOM=2, logfile=kohzuCtl.log'")
# Example of specifying offset limits
#doAfterIocInit("epicsThreadSleep(5.)")
#doAfterIocInit("dbpf $(PREFIX)kohzu_yOffsetAO.DRVH 17.51")
#doAfterIocInit("dbpf $(PREFIX)kohzu_yOffsetAO.DRVL 17.49")
# Spherical grating monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=$(PREFIX),N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9")
# 4-bounce high-resolution monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=$(PREFIX),N=1,M_PHI1=m1,M_PHI2=m2")
#doAfterIocInit("dbpf '$(PREFIX)HR1CtlDebug','1'")
#doAfterIocInit("seq &hrCtl, 'P=$(PREFIX), N=1, M_PHI1=m4, M_PHI2=m5, logfile=hrCtl.log'")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=$(PREFIX),N=2,M_PHI1=m11,M_PHI2=m12")
### multilayer monochromator: Bragg and theta/Y/Z motors
#dbLoadRecords("$(OPTICS)/opticsApp/Db/ml_monoSeq.db","P=$(PREFIX)")
#doAfterIocInit("seq &ml_monoCtl, 'P=$(PREFIX), M_THETA=m1, M_THETA2=m2, M_Y=m3, M_Z=m4, Y_OFF=35., GEOM=1'")
### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=$(PREFIX),O=1,PREC=6")
#dbLoadTemplate("common/orient_xtals.substitutions")
#doAfterIocInit("seq &orient, 'P=$(PREFIX)orient1:,PM=$(PREFIX),mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12'")
# Coarse/Fine stage
#dbLoadRecords("$(OPTICS)/opticsApp/Db/CoarseFineMotor.db","P=$(PREFIX)cf1:,PM=$(PREFIX),CM=m7,FM=m8")
# Load single element Canberra AIM MCA and ICB modules
#< $(PLATFORM)/canberra_1.cmd
# Load 13 element detector software
#< $(PLATFORM)/canberra_13.cmd
# Load 3 element detector software
#< $(PLATFORM)/canberra_3.cmd
### Stuff for user programming ###
< common/calc.cmd
# 4-step measurement
dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=$(PREFIX),Q=4step:")
# user-assignable ramp/tweak
dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=$(PREFIX),Q=rt1")
# pvHistory (in-crate archive of up to three PV's)
dbLoadRecords("$(STD)/stdApp/Db/pvHistory.db","P=$(PREFIX),N=1,MAXSAMPLES=1440")
# software timer
dbLoadRecords("$(STD)/stdApp/Db/timer.db","P=$(PREFIX),N=1")
# Slow feedback
dbLoadTemplate "pid_slow.substitutions"
dbLoadTemplate "$(PLATFORM)/async_pid_slow.substitutions"
#dbLoadTemplate "common/fb_epid.substitutions"
# Miscellaneous PV's, such as burtResult
dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=$(PREFIX)")
### Queensgate piezo driver
#dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=$(PREFIX)")
#dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=$(PREFIX),PORT=")
### Queensgate Nano2k piezo controller
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=$(PREFIX),S=s1")
### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=$(PREFIX),H=fem01:,F=seq01:")
epicsEnvSet("FBO", "$(PREFIX)Unidig1Bo")
#doAfterIocInit("seq &femto,'name=fem1,P=$(PREFIX),H=fem01:,F=seq01:,G1=$(FBO)6,G2=$(FBO)7,G3=$(FBO)8,NO=$(FBO)10'")
### Load database records for dual PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4common.db","P=$(PREFIX),H=pf4:,A=A,B=B")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=$(PREFIX),H=pf4:,B=A")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4bank.db","P=$(PREFIX),H=pf4:,B=B")
# Start PF4 filter sequence programs
# name = what user will call it
# P = prefix of database and sequencer
# H = hardware (i.e. pf4)
# B = bank indicator (i.e. A,B)
# M = Monochromatic-beam energy PV
# BP = Filter control bit PV prefix
# B1 = Filter control bit 0 number
# B2 = Filter control bit 1 number
# B3 = Filter control bit 2 number
# B4 = Filter control bit 3 number
#doAfterIocInit("seq pf4,'name=pf1,P=$(PREFIX),H=pf4:,B=A,M=$(PREFIX)userTran10.I,B1=$(PREFIX)userTran10.A,B2=$(PREFIX)userTran10.B,B3=$(PREFIX)userTran10.C,B4=$(PREFIX)userTran10.D'")
#doAfterIocInit("seq pf4,'name=pf2,P=$(PREFIX),H=pf4:,B=B,M=$(PREFIX)userTran10.I,B1=$(PREFIX)userTran10.E,B2=$(PREFIX)userTran10.F,B3=$(PREFIX)userTran10.G,B4=$(PREFIX)userTran10.H'")
### Load database records for alternative PF4-filter support
#dbLoadTemplate "filter.substitutions"
#doAfterIocInit("seq filterDrive,'NAME=filterDrive,P=$(PREFIX),R=filter:,NUM_FILTERS=16'")
# trajectory scan
#dbLoadRecords("$(MOTOR)/motorApp/Db/trajectoryScan.db","P=$(PREFIX),R=traj1:,NAXES=2,NELM=300,NPULSE=300")
#doAfterIocInit("seq &MAX_trajectoryScan, 'P=$(PREFIX),R=traj1:,M1=m1,M2=m2,M3=m3,M4=m4,M5=m5,M6=m6,M7=m7,M8=m8,PORT=none'")
### Load database record for alive heartbeating support.
# RHOST specifies the IP address that receives the heartbeats.
dbLoadRecords("$(ALIVE)/aliveApp/Db/alive.db", "P=$(PREFIX),RHOST=164.54.100.11")
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment