Skip to content
Snippets Groups Projects
Commit 1969cdef authored by mooney's avatar mooney
Browse files

load string sequence database

parent 11f739f7
No related branches found
No related tags found
No related merge requests found
# Cygwin startup script # Cygwin startup script
< envPaths < envPaths
# save_restore.cmd needs the full path to the startup directory, which # save_restore.cmd needs the full path to the startup directory, which
# envPaths currently does not provide # envPaths currently does not provide
epicsEnvSet(STARTUP,$(TOP)/iocBoot/$(IOC)) epicsEnvSet(STARTUP,$(TOP)/iocBoot/$(IOC))
# Increase size of buffer for error logging from default 1256 # Increase size of buffer for error logging from default 1256
errlogInit(20000) errlogInit(20000)
# Specify largest array CA will transport # Specify largest array CA will transport
# Note for N sscanRecord data points, need (N+1)*8 bytes, else MEDM # Note for N sscanRecord data points, need (N+1)*8 bytes, else MEDM
# plot doesn't display # plot doesn't display
epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64008 epicsEnvSet EPICS_CA_MAX_ARRAY_BYTES 64008
################################################################################ ################################################################################
# Tell EPICS all about the record types, device-support modules, drivers, # Tell EPICS all about the record types, device-support modules, drivers,
# etc. in the software we just loaded (xxx.munch) # etc. in the software we just loaded (xxx.munch)
dbLoadDatabase("../../dbd/iocxxxCygwin.dbd") dbLoadDatabase("../../dbd/iocxxxCygwin.dbd")
iocxxxCygwin_registerRecordDeviceDriver(pdbbase) iocxxxCygwin_registerRecordDeviceDriver(pdbbase)
### save_restore setup ### save_restore setup
# We presume a suitable initHook routine was compiled into xxx.munch. # We presume a suitable initHook routine was compiled into xxx.munch.
# See also create_monitor_set(), after iocInit() . # See also create_monitor_set(), after iocInit() .
< save_restore.cmd < save_restore.cmd
# serial support # serial support
< serial.cmd #< serial.cmd
# Motors # Motors
#dbLoadTemplate("basic_motor.substitutions") #dbLoadTemplate("basic_motor.substitutions")
dbLoadTemplate("motor.substitutions") #dbLoadTemplate("motor.substitutions")
dbLoadTemplate("softMotor.substitutions") dbLoadTemplate("softMotor.substitutions")
dbLoadTemplate("pseudoMotor.substitutions") dbLoadTemplate("pseudoMotor.substitutions")
### Allstop, alldone ### Allstop, alldone
# This database must agree with the motors and other positioners you've actually loaded. # This database must agree with the motors and other positioners you've actually loaded.
# Several versions (e.g., all_com_32.db) are in stdApp/Db # Several versions (e.g., all_com_32.db) are in stdApp/Db
dbLoadRecords("$(STD)/stdApp/Db/all_com_16.db","P=xxx:") dbLoadRecords("$(STD)/stdApp/Db/all_com_16.db","P=xxx:")
### Insertion-device control ### Insertion-device control
#dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,xx=02us") #dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,xx=02us")
# sample-wheel # sample-wheel
dbLoadRecords("$(STD)/stdApp/Db/sampleWheel.db", "P=xxx:,ROWMOTOR=xxx:m7,ANGLEMOTOR=xxx:m8") dbLoadRecords("$(STD)/stdApp/Db/sampleWheel.db", "P=xxx:,ROWMOTOR=xxx:m7,ANGLEMOTOR=xxx:m8")
### Scan-support software ### Scan-support software
# crate-resident scan. This executes 1D, 2D, 3D, and 4D scans, and caches # 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.) # 1D data, but it doesn't store anything to disk. (See 'saveData' below for that.)
dbLoadRecords("$(SSCAN)/sscanApp/Db/scan.db","P=xxx:,MAXPTS1=8000,MAXPTS2=1000,MAXPTS3=10,MAXPTS4=10,MAXPTSH=8000") dbLoadRecords("$(SSCAN)/sscanApp/Db/scan.db","P=xxx:,MAXPTS1=8000,MAXPTS2=1000,MAXPTS3=10,MAXPTS4=10,MAXPTSH=8000")
# A set of scan parameters for each positioner. This is a convenience # 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 # for the user. It can contain an entry for each scannable thing in the
# crate. # crate.
dbLoadTemplate("scanParms.substitutions") dbLoadTemplate("scanParms.substitutions")
### Slits ### Slits
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1V,mXp=m3,mXn=m4") dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1V,mXp=m3,mXn=m4")
dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1H,mXp=m5,mXn=m6") dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit.db","P=xxx:,SLIT=Slit1H,mXp=m5,mXn=m6")
# under development... # under development...
#dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit_soft.db","P=xxx:,SLIT=Slit2V,mXp=m13,mXn=m14") #dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit_soft.db","P=xxx:,SLIT=Slit2V,mXp=m13,mXn=m14")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit_soft.db","P=xxx:,SLIT=Slit2H,mXp=m15,mXn=m16") #dbLoadRecords("$(OPTICS)/opticsApp/Db/2slit_soft.db","P=xxx:,SLIT=Slit2H,mXp=m15,mXn=m16")
# X-ray Instrumentation Associates Huber Slit Controller # X-ray Instrumentation Associates Huber Slit Controller
# supported by a customized version of the SNL program written by Pete Jemian # supported by a customized version of the SNL program written by Pete Jemian
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=xxx:, HSC=hsc1:") #dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=xxx:, HSC=hsc1:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=xxx:, HSC=hsc2:") #dbLoadRecords("$(OPTICS)/opticsApp/Db/xia_slit.db", "P=xxx:, HSC=hsc2:")
#dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,SERVER=serial7") #dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,SERVER=serial7")
### 2-post mirror ### 2-post mirror
#dbLoadRecords("$(OPTICS)/opticsApp/Db/2postMirror.db","P=xxx:,Q=M1,mDn=m18,mUp=m17,LENGTH=0.3") #dbLoadRecords("$(OPTICS)/opticsApp/Db/2postMirror.db","P=xxx:,Q=M1,mDn=m18,mUp=m17,LENGTH=0.3")
### User filters ### User filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:") #dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr1:,MOTOR=m1,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:") #dbLoadRecords("$(OPTICS)/opticsApp/Db/filterMotor.db","P=xxx:,Q=fltr2:,MOTOR=m2,LOCK=fltr_1_2:")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/filterLock.db","P=xxx:,Q=fltr2:,LOCK=fltr_1_2:,LOCK_PV=xxx:DAC1_1.VAL") #dbLoadRecords("$(OPTICS)/opticsApp/Db/filterLock.db","P=xxx:,Q=fltr2:,LOCK=fltr_1_2:,LOCK_PV=xxx:DAC1_1.VAL")
### Optical tables ### Optical tables
#tableRecordDebug=1 #tableRecordDebug=1
dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI") dbLoadRecords("$(OPTICS)/opticsApp/Db/table.db","P=xxx:,Q=Table1,T=table1,M0X=m1,M0Y=m2,M1Y=m3,M2X=m4,M2Y=m5,M2Z=m6,GEOM=SRI")
### Monochromator support ### ### Monochromator support ###
# Kohzu and PSL monochromators: Bragg and theta/Y/Z motors # Kohzu and PSL monochromators: Bragg and theta/Y/Z motors
# standard geometry (geometry 1) # standard geometry (geometry 1)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m9,M_Y=m10,M_Z=m11,yOffLo=17.4999,yOffHi=17.5001") #dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m9,M_Y=m10,M_Z=m11,yOffLo=17.4999,yOffHi=17.5001")
# modified geometry (geometry 2) # modified geometry (geometry 2)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m9,M_Y=m10,M_Z=m11,yOffLo=4,yOffHi=36") #dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m9,M_Y=m10,M_Z=m11,yOffLo=4,yOffHi=36")
# Spherical grating monochromator # Spherical grating monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=xxx:,N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9") #dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=xxx:,N=1,M_x=m7,M_rIn=m6,M_rOut=m8,M_g=m9")
# 4-bounce high-resolution monochromator # 4-bounce high-resolution monochromator
#dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m9,M_PHI2=m10") #dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=xxx:,N=1,M_PHI1=m9,M_PHI2=m10")
#dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=xxx:,N=2,M_PHI1=m11,M_PHI2=m12") #dbLoadRecords("$(OPTICS)/opticsApp/Db/hrSeq.db","P=xxx:,N=2,M_PHI1=m11,M_PHI2=m12")
### Orientation matrix, four-circle diffractometer (see seq program 'orient' below) ### Orientation matrix, four-circle diffractometer (see seq program 'orient' below)
#dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=xxx:,O=1,PREC=4") #dbLoadRecords("$(OPTICS)/opticsApp/Db/orient.db", "P=xxx:,O=1,PREC=4")
#dbLoadTemplate("orient_xtals.substitutions") #dbLoadTemplate("orient_xtals.substitutions")
# Load single element Canberra AIM MCA and ICB modules # Load single element Canberra AIM MCA and ICB modules
#< canberra_1.cmd #< canberra_1.cmd
# Load 13 element detector software # Load 13 element detector software
#< canberra_13.cmd #< canberra_13.cmd
# Load 3 element detector software # Load 3 element detector software
#< canberra_3.cmd #< canberra_3.cmd
### Stuff for user programming ### ### Stuff for user programming ###
dbLoadRecords("$(CALC)/calcApp/Db/userCalcs10.db","P=xxx:") dbLoadRecords("$(CALC)/calcApp/Db/userCalcs10.db","P=xxx:")
dbLoadRecords("$(CALC)/calcApp/Db/userCalcOuts10.db","P=xxx:") dbLoadRecords("$(CALC)/calcApp/Db/userCalcOuts10.db","P=xxx:")
dbLoadRecords("$(CALC)/calcApp/Db/userStringCalcs10.db","P=xxx:") dbLoadRecords("$(CALC)/calcApp/Db/userStringCalcs10.db","P=xxx:")
dbLoadRecords("$(CALC)/calcApp/Db/userTransforms10.db","P=xxx:") dbLoadRecords("$(STD)/stdApp/Db/userStringSeqs10.db","P=xxx:")
# extra userCalcs (must also load userCalcs10.db for the enable switch) dbLoadRecords("$(CALC)/calcApp/Db/userArrayCalcs10.db","P=xxx:,N=2000")
dbLoadRecords("$(CALC)/calcApp/Db/userCalcN.db","P=xxx:,N=I_Detector") dbLoadRecords("$(CALC)/calcApp/Db/userTransforms10.db","P=xxx:")
dbLoadRecords("$(CALC)/calcApp/Db/userAve10.db","P=xxx:") # extra userCalcs (must also load userCalcs10.db for the enable switch)
# string sequence (sseq) record dbLoadRecords("$(CALC)/calcApp/Db/userCalcN.db","P=xxx:,N=I_Detector")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq1") dbLoadRecords("$(CALC)/calcApp/Db/userAve10.db","P=xxx:")
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq2") # 4-step measurement
dbLoadRecords("$(STD)/stdApp/Db/yySseq.db","P=xxx:,S=Sseq3") dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=xxx:")
# 4-step measurement # interpolation
dbLoadRecords("$(STD)/stdApp/Db/4step.db", "P=xxx:") dbLoadRecords("$(CALC)/calcApp/Db/interp.db", "P=xxx:,N=2000")
# interpolation # array test
dbLoadRecords("$(CALC)/calcApp/Db/interp.db", "P=xxx:,N=2000") dbLoadRecords("$(CALC)/calcApp/Db/arrayTest.db", "P=xxx:,N=2000")
# array test
dbLoadRecords("$(CALC)/calcApp/Db/arrayTest.db", "P=xxx:,N=2000") # Slow feedback
dbLoadTemplate "pid_slow.substitutions"
# Slow feedback
dbLoadTemplate "pid_slow.substitutions" # Miscellaneous PV's, such as burtResult
dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=xxx:")
# Miscellaneous PV's, such as burtResult #dbLoadRecords("$(STD)/stdApp/Db/VXstats.db","P=xxx:")
dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=xxx:")
#dbLoadRecords("$(STD)/stdApp/Db/VXstats.db","P=xxx:") ### Queensgate piezo driver
#dbLoadRecords("$(IP)/ipApp/Db/pzt_3id.db","P=xxx:")
### Queensgate piezo driver #dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=xxx:")
#dbLoadRecords("$(IP)/ipApp/Db/pzt_3id.db","P=xxx:")
#dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=xxx:") ### Queensgate Nano2k piezo controller
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=xxx:,S=s1")
### Queensgate Nano2k piezo controller
#dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=xxx:,S=s1") ### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=xxx:,H=fem01:,F=seq01:")
### Load database records for Femto amplifiers
#dbLoadRecords("$(STD)/stdApp/Db/femto.db","P=xxx:,H=fem01:,F=seq01:") ### Load database records for PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4dual.db","P=xxx:,H=pf401:,F=seq01:")
### Load database records for PF4 filters
#dbLoadRecords("$(OPTICS)/opticsApp/Db/pf4dual.db","P=xxx:,H=pf401:,F=seq01:") ###############################################################################
iocInit
###############################################################################
iocInit ### startup State Notation Language programs
#seq &kohzuCtl, "P=xxx:, M_THETA=m9, M_Y=m10, M_Z=m11, GEOM=1, logfile=kohzuCtl.log"
### startup State Notation Language programs #seq &hrCtl, "P=xxx:, N=1, M_PHI1=m9, M_PHI2=m10, logfile=hrCtl1.log"
#seq &kohzuCtl, "P=xxx:, M_THETA=m9, M_Y=m10, M_Z=m11, GEOM=1, logfile=kohzuCtl.log"
#seq &hrCtl, "P=xxx:, N=1, M_PHI1=m9, M_PHI2=m10, logfile=hrCtl1.log" # Keithley 2000 series DMM
# channels: 10, 20, or 22; model: 2000 or 2700
# Keithley 2000 series DMM #seq &Keithley2kDMM,("P=xxx:, Dmm=D1, channels=22, model=2700")
# channels: 10, 20, or 22; model: 2000 or 2700
seq &Keithley2kDMM,("P=xxx:, Dmm=D1, channels=22, model=2700") # X-ray Instrumentation Associates Huber Slit Controller
# supported by a SNL program written by Pete Jemian and modified (TMM) for use with the
# X-ray Instrumentation Associates Huber Slit Controller # sscan record
# supported by a SNL program written by Pete Jemian and modified (TMM) for use with the #seq &xia_slit, "name=hsc1, P=xxx:, HSC=hsc1:, S=xxx:seriala[6]"
# sscan record
#seq &xia_slit, "name=hsc1, P=xxx:, HSC=hsc1:, S=xxx:seriala[6]" # Orientation-matrix
#seq &orient, "P=xxx:orient1:,PM=xxx:,mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12"
# Orientation-matrix
#seq &orient, "P=xxx:orient1:,PM=xxx:,mTTH=m9,mTH=m10,mCHI=m11,mPHI=m12" # Start PF4 filter sequence program
#seq pf4Dual,"P=xxx:pf401:seq01:,MONO=,A0=,A1=,A2=,A3=,B0=,B1=,B2=,B3="
# Start PF4 filter sequence program
#seq pf4Dual,"P=xxx:pf401:seq01:,MONO=,A0=,A1=,A2=,A3=,B0=,B1=,B2=,B3=" # Start Femto amplifier sequence programs
#seq femto,"name=femto1,P=xxx:,H=fem01:,F=seq01:,GAIN1=,GAIN2=,GAIN3=,NOISE="
# Start Femto amplifier sequence programs
#seq femto,"name=femto1,P=xxx:,H=fem01:,F=seq01:,GAIN1=,GAIN2=,GAIN3=,NOISE=" ### Start up the autosave task and tell it what to do.
# The task is actually named "save_restore".
### Start up the autosave task and tell it what to do. # Note that you can reload these sets after creating them: e.g.,
# The task is actually named "save_restore". # reload_monitor_set("auto_settings.req",30,"P=xxx:")
# Note that you can reload these sets after creating them: e.g., #save_restoreDebug=20
# reload_monitor_set("auto_settings.req",30,"P=xxx:") #
#save_restoreDebug=20 # save positions every five seconds
# create_monitor_set("auto_positions.req",5,"P=xxx:")
# save positions every five seconds # save other things every thirty seconds
create_monitor_set("auto_positions.req",5,"P=xxx:") create_monitor_set("auto_settings.req",30,"P=xxx:")
# save other things every thirty seconds
create_monitor_set("auto_settings.req",30,"P=xxx:") ### Start the saveData task.
saveData_Init("saveData.req", "P=xxx:")
### Start the saveData task.
saveData_Init("saveData.req", "P=xxx:") dbcar(0,1)
dbcar(0,1)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment