Skip to content
Snippets Groups Projects
common.iocsh 4.58 KiB
Newer Older
##########################  ############################################################################
# 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
iocshLoad("$(CAPUTRECORDER)/iocsh/caputRecorder.iocsh", "PREFIX=$(PREFIX)")

# user-assignable ramp/tweak
dbLoadRecords("$(STD)/stdApp/Db/ramp_tweak.db","P=$(PREFIX),Q=rt1")

# < $(PLATFORM)/areaDetector.cmd

# Motors
dbLoadTemplate("$(PLATFORM)/motor.substitutions", "P=$(PREFIX)")
#dbLoadTemplate("common/softMotor.substitutions", "P=$(PREFIX)")
#dbLoadTemplate("common/pseudoMotor.substitutions", "P=$(PREFIX)")

# Allstop, alldone
iocshLoad("$(MOTOR)/iocsh/allstop.iocsh", "P=$(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
iocshLoad("$(SSCAN)/iocsh/sscan.iocsh", "PREFIX=$(PREFIX), MAX_PTS=1000, REQ_FILE=saveData.req")
iocshLoad("$(AUTOSAVE)/iocsh/configMenu.iocsh", "PREFIX=$(PREFIX),CONFIG=scan1")
# You could make scan configurations read-only:
#dbLoadRecords("$(AUTOSAVE)/asApp/Db/configMenu.db","P=$(PREFIX),CONFIG=scan1,ENABLE_SAVE=0")

# 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")


# 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

< common/optics.iocsh

# Soft scaler for testing
#iocshLoad("$(STD)/iocsh/softScaler.iocsh", "P=$(PREFIX), INSTANCE=scaler1")

# Soft function generator
#dbLoadRecords("$(CALC)/calcApp/Db/FuncGen.db","P=$(PREFIX),Q=fgen,OUT=$(PREFIX)m7.VAL")

# 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("common/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 Nano2k piezo controller
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=$(PREFIX),S=s1")

### Load database records for Femto amplifiers
#epicsEnvSet("FBO", "$(PREFIX)Unidig1Bo")
#iocshLoad("$(STD)/iocsh/femto.iocsh", "PREFIX=$(PREFIX), HARDWARE=fem01:, FUNC=seq01:, G1_PV=$(FBO)6, G2_PV=$(FBO)7, G3_PV=$(FBO)8, NO_PV=$(FBO)10")

# 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")