########################## ############################################################################ # 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 < common/calc.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")