# Shell prompt epicsEnvSet("IOCSH_PS1", "$(IOC)> ") # prefix used for all PVs in this IOC epicsEnvSet("PREFIX", "xxx:") #For devIocStats epicsEnvSet("ENGINEER", "engineer") epicsEnvSet("LOCATION", "location") epicsEnvSet("GROUP", "group") # search path for database files epicsEnvSet("EPICS_DB_INCLUDE_PATH", "$(DEVIOCSTATS)/db") # set the protocol path for streamDevice epicsEnvSet("STREAM_PROTOCOL_PATH", ".") # 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, change SAVE_PATH if you are having autosave manage its own NFS mount iocshLoad("$(AUTOSAVE)/iocsh/autosave_settings.iocsh", "PREFIX=$(PREFIX), SAVE_PATH=$(TOP)/iocBoot/$(IOC)") iocshLoad("$(AUTOSAVE)/iocsh/autosaveBuild.iocsh", "PREFIX=$(PREFIX), BUILD_PATH=autosave") iocshLoad("$(AUTOSAVE)/iocsh/save_restore.iocsh", "PREFIX=$(PREFIX), POSITIONS_FILE=auto_positions, SETTINGS_FILE=auto_settings") # Note that you can restore a .sav file without also autosaving to it. #set_pass0_restoreFile("octupole_settings.sav") #set_pass1_restoreFile("octupole_settings.sav") ### # specify directories in which to search for included request files # Note that the vxWorks variables (e.g., 'startup') are from cdCommands set_requestfile_path("$(AREA_DETECTOR)", "ADApp/Db") set_requestfile_path("$(ADCORE)", "ADApp/Db") set_requestfile_path("$(AUTOSAVE)/db") set_requestfile_path("$(BUSY)/db") set_requestfile_path("$(CALC)/db") set_requestfile_path("$(CAMAC)", "camacApp/Db") set_requestfile_path("$(CAPUTRECORDER)/db") set_requestfile_path("$(DAC128V)", "dac128VApp/Db") set_requestfile_path("$(DELAYGEN)/db") set_requestfile_path("$(DXP)", "dxpApp/Db") set_requestfile_path("$(DXPSITORO)", "dxpApp/Db") set_requestfile_path("$(IP)/db") set_requestfile_path("$(IP330)", "ip330App/Db") set_requestfile_path("$(IPUNIDIG)", "ipUnidigApp/Db") set_requestfile_path("$(LOVE)/db") set_requestfile_path("$(LUA)/db") set_requestfile_path("$(MCA)", "mcaApp/Db") set_requestfile_path("$(MEASCOMP)", "measCompApp/Db") set_requestfile_path("$(MODBUS)", "modbusApp/Db") set_requestfile_path("$(MOTOR)/db") set_requestfile_path("$(OPTICS)/db") set_requestfile_path("$(QUADEM)", "quadEMApp/Db") set_requestfile_path("$(SSCAN)/db") set_requestfile_path("$(SOFTGLUE)/db") set_requestfile_path("$(SOFTGLUEZYNQ)/db") set_requestfile_path("$(STD)/db") set_requestfile_path("$(VAC)/db") set_requestfile_path("$(VME)/db") set_requestfile_path("$(YOKOGAWA_DAS)/db") set_requestfile_path("$(TOP)/db") # Debug-output level save_restoreSet_Debug(0) # 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)") ### 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("substitutions/scanParms.substitutions", "P=$(PREFIX)") ### Stuff for user programming ### iocshLoad("$(CALC)/iocsh/userCalc.iocsh", "PREFIX=$(PREFIX), ARRAY_SIZE=8000") # Load 10 more of all the user calcs, N=1 creates usercalcs 10-19 iocshLoad("$(CALC)/iocsh/userCalc_extra.iocsh", "PREFIX=$(PREFIX), N=1, ARRAY_SIZE=8000") # Load 20 userScripts dbLoadRecords("$(LUA)/luaApp/Db/luascripts10.db", "P=$(PREFIX), R=set1:") dbLoadRecords("$(LUA)/luaApp/Db/luascripts10.db", "P=$(PREFIX), R=set2:") # string sequence (sseq) records iocshLoad("$(CALC)/iocsh/sseq.iocsh", "PREFIX=$(PREFIX), INSTANCE=ES:") # interpolation dbLoadRecords("$(CALC)/calcApp/Db/interp.db", "P=$(PREFIX),N=2000") dbLoadRecords("$(CALC)/calcApp/Db/interpNew.db", "P=$(PREFIX),Q=1,N=2000") # busy record dbLoadRecords("$(BUSY)/busyApp/Db/busyRecord.db", "P=$(PREFIX),R=mybusy1") dbLoadRecords("$(BUSY)/busyApp/Db/busyRecord.db", "P=$(PREFIX),R=mybusy2") # Soft function generator #dbLoadRecords("$(CALC)/calcApp/Db/FuncGen.db","P=$(PREFIX),Q=fgen,OUT=$(PREFIX)m7.VAL") ### 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") dbLoadRecords("$(ALIVE)/aliveApp/Db/aliveMSGCalc.db", "P=$(PREFIX)")