diff --git a/iocBoot/iocvxWorks/st.cmd b/iocBoot/iocvxWorks/st.cmd index 4acf77b9daca44f37fb248f98599e8a9cad8ba0a..1de9f3f99c948708c314e2322f185cba6df43b68 100644 --- a/iocBoot/iocvxWorks/st.cmd +++ b/iocBoot/iocvxWorks/st.cmd @@ -10,7 +10,6 @@ location="Earth" cd "" < ../nfsCommands < cdCommands -< MPFconfig.cmd ################################################################################ cd topbin @@ -23,23 +22,13 @@ sysCplusEnable=1 # allocate enough memory here to force code to load in lower 32 MB. mem = malloc(1024*1024*96) -### Load custom EPICS software from user tree and from share +### Load synApps EPICS software ld < xxx.munch cd startup -recDynLinkDebug = 1 - # Increase size of buffer for error logging from default 1256 -errlogInit(5000) - -# Note that you need an MPF router not only for IP modules, but also for -# the AIM MCA support and other MPF servers -routerInit -localMessageRouterStart(0) - -# This IOC configures the MPF server code locally -#< st_mpfserver.cmd +errlogInit(20000) # override address, interrupt vector, etc. information in module_types.h #module_types() @@ -63,111 +52,27 @@ iocxxxVX_registerRecordDeviceDriver(pdbbase) # See also create_monitor_set(), after iocInit() . < save_restore.cmd -############################################################################## +# Industry Pack support +#< industryPack.cmd -# Insertion-device control -dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,xx=02us") +# VME devices +#< vme.cmd -############################################################################### +# CAMAC hardware +#<camac.cmd -##### Motors (see motors.substitutions in same directory as this file) #### +# Motors #dbLoadTemplate("basic_motor.substitutions") dbLoadTemplate("motor.substitutions") -# OMS VME driver setup parameters: -# (1)cards, (2)axes per card, (3)base address(short, 16-byte boundary), -# (4)interrupt vector (0=disable or 64 - 255), (5)interrupt level (1 - 6), -# (6)motor task polling rate (min=1Hz,max=60Hz) -omsSetup(2, 8, 0xFC00, 180, 5, 10) - -# OMS VME58 driver setup parameters: -# (1)cards, (2)axes per card, (3)base address(short, 4k boundary), -# (4)interrupt vector (0=disable or 64 - 255), (5)interrupt level (1 - 6), -# (6)motor task polling rate (min=1Hz,max=60Hz) -oms58Setup(3, 8, 0x4000, 190, 5, 10) - -# Highland V544 driver setup parameters: -# (1)cards, (2)axes per card, (3)base address(short, 4k boundary), -# (4)interrupt vector (0=disable or 64 - 255), (5)interrupt level (1 - 6), -# (6)motor task polling rate (min=1Hz,max=60Hz) -#v544Setup(0, 4, 0xDD00, 0, 5, 10) - -# Newport MM4000 driver setup parameters: -# (1) max. controllers, (2)Unused, (3)polling rate (min=1Hz,max=60Hz) -#MM4000Setup(3, 0, 10) - -# Newport MM4000 driver configuration parameters: -# (1)controller# being configured, -# (2)port type: 0-GPIB_PORT or 1-RS232_PORT, -# (3)GPIB link or MPF server location -# (4) GPIB address (int) or mpf serial server name (string) -#MM4000Config(0, 1, 0, "serial2") - -# Newport PM500 driver setup parameters: -# (1) maximum number of controllers in system -# (2) maximum number of channels on any controller -# (3) motor task polling rate (min=1Hz,max=60Hz) -#PM500Setup(1, 3, 10) - -# Newport PM500 configuration parameters: -# (1) card being configured -# (2) port type (0-GPIB_PORT, 1-RS232_PORT) -# (3) GPIB link or MPF server location -# (4) GPIB address (int) or mpf serial server name (string) -#PM500Config(0, 1, 0, "serial3") - -# McClennan PM304 driver setup parameters: -# (1) maximum number of controllers in system -# (2) maximum number of channels on any controller -# (3) motor task polling rate (min=1Hz, max=60Hz) -#PM304Setup(1, 1, 10) - -# McClennan PM304 driver configuration parameters: -# (1) controller being configured -# (2) MPF server location -# (3) MPF serial server name (string) -#PM304Config(0, 0, "serial4") - -# ACS MCB-4B driver setup parameters: -# (1) maximum number of controllers in system -# (2) maximum number of axes per controller -# (3) motor task polling rate (min=1Hz, max=60Hz) -#MCB4BSetup(1, 4, 10) - -# ACS MCB-4B driver configuration parameters: -# (1) controller being configured -# (2) MPF server location -# (3) MPF server name (string) -#MCB4BConfig(0, 0, "serial5") - -##### Pico Motors (Ernest Williams MHATT-CAT) -##### Motors (see picMot.substitutions in same directory as this file) #### -#dbLoadTemplate("picMot.substitutions") - -############################################################################### - -### Scalers: Joerger VSC8/16 -#dbLoadRecords("$(VME)/vmeApp/Db/Jscaler.db","P=xxx:,S=scaler1,C=0") -dbLoadRecords("$(STD)/stdApp/Db/scaler.db","P=xxx:,S=scaler1,C=0,DTYP=Joerger VSC8/16,FREQ=10000000") -# Joerger VSC setup parameters: -# (1)cards, (2)base address(ext, 256-byte boundary), -# (3)interrupt vector (0=disable or 64 - 255) -VSCSetup(1, 0xB0000000, 200) - -# Joerger VS -# scalerVS_Setup(int num_cards, /* maximum number of cards in crate */ -# char *addrs, /* address (0x800-0xf800, 2048-byte (0x800) boundary) */ -# unsigned vector, /* valid vectors(64-255) */ -# int intlevel) -scalerVS_Setup(1, 0x2000, 205, 5) -#devScaler_VSDebug=0 -dbLoadRecords("$(STD)/stdApp/Db/scaler.db","P=xxx:,S=scaler3,C=0, DTYP=Joerger VS, FREQ=10000000") - ### Allstop, alldone # 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 dbLoadRecords("$(STD)/stdApp/Db/all_com_16.db","P=xxx:") +### Insertion-device control +dbLoadRecords("$(STD)/stdApp/Db/IDctrl.db","P=xxx:,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.) @@ -212,15 +117,6 @@ dbLoadRecords("$(OPTICS)/opticsApp/Db/kohzuSeq.db","P=xxx:,M_THETA=m9,M_Y=m10,M_ # 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") -# Heidenhain ND261 encoder (for PSL monochromator) -#dbLoadRecords("$(IP)/ipApp/Db/heidND261.db", "P=xxx:,C=0,SERVER=serial1") - -# Heidenhain IK320 VME encoder interpolator -#dbLoadRecords("$(VME)/vmeApp/Db/IK320card.db","P=xxx:,sw2=card0:,axis=1,switches=41344,irq=3") -#dbLoadRecords("$(VME)/vmeApp/Db/IK320card.db","P=xxx:,sw2=card0:,axis=2,switches=41344,irq=3") -#dbLoadRecords("$(VME)/vmeApp/Db/IK320group.db","P=xxx:,group=5") -#drvIK320RegErrStr() - # 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") @@ -228,138 +124,14 @@ dbLoadRecords("$(OPTICS)/opticsApp/Db/SGM.db","P=xxx:,N=1,M_x=m7,M_rIn=m6,M_rOut 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") -### Canberra AIM Multichannel Analyzer ### -#mcaRecordDebug=1 -#devMcaMpfDebug=1 -#mcaAIMServerDebug=1 -#aimDebug=1 -#icbDebug=1 -#icbServerDebug=1 -#icbDspDebug=1 -#icbTcaDebug=1 - -# AIMConfig(char *serverName, int etherAddr, int port, int maxChans, -# int maxSignals, int maxSequences, char *etherDev, int queueSize) -# -# serverName: defined here, must agree with dbLoadRecords command -# etherAddr: ethernet address of AIM module -# port: Which ADC port of the AIM module does this config involve? [1,2] -# maxChans: Histogram bins per signal per sequence. (If a multiplexor or -# MCS module is in use, this must agree with hardware setting.) -# maxSignals: How many signals (multiplexed ADC inputs)? (If a multiplexor -# or MCS module is in use, this must agree with hardware setting.) -# maxSequences: How many sequences (usually, a sequence is a "time slice")? -# etherDev: vxWorks device used to communicate over the network to AIM. -# Typically "ei0" for mv16x, mv17x; "dc0" for Motorola PowerPC -# queueSize: size of MPF message queue for this server (100 should be plenty) -# -# EXAMPLE: -# AIMConfig("AIM1/2", 0x9AA, 2, 2048, 1, 1, "dc0", 100) - -AIMConfig("AIM1/2", 0x9AA, 2, 4000, 1, 1, "dc0", 100) - -dbLoadRecords("$(MCA)/mcaApp/Db/mca.db","P=xxx:,M=mca1,INP=#C0 S0 @AIM1/2,DTYPE=MPF MCA,NCHAN=4000") - -# Initialize ICB software, and create a new ICB server -# icbSetup(const char *serverName, int maxModules, int queueSize) -# -# serverName: defined here, must agree with icbConfig and dbLoadRecords commands -# maxModules: Maximum number of ICB modules that this server will control -# queueSize: size of MPF message queue for this server (100 should be plenty) -icbSetup("icb/1", 10, 100) - -# Configure an ICB module on this server -# icbConfig(const char *serverName, int module, int etherAddr, int icbAddress) -# -# serverName: defined in icbSetup above -# module: the index number for this module (0,1,2...) -# etherAddr: ethernet address of AIM module -# icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF) -icbConfig("icb/1", 0, 0x9AA, 3) - -# In dbLoadRecords commands for ICB devices -# CARD = (0,1) for (local/remote), -# SERVER = server name supplied as argument to icbConfig(), -# ADDR = module number supplied as argument to icbConfig() - -dbLoadRecords("$(MCA)/mcaApp/Db/icb_adc.db","P=xxx:,ADC=icbAdc1,CARD=0,SERVER=icb/1,ADDR=0") - -#icbConfig("icb/1", 1, 0x9AA, 2) -#dbLoadRecords("$(MCA)/mcaApp/Db/icb_hvps.db","P=xxx:,HVPS=icbHvps1,CARD=0,SERVER=icb/1,ADDR=1") - -#icbConfig("icb/1", 2, 0x9AA, 3) -#dbLoadRecords("$(MCA)/mcaApp/Db/icb_amp.db","P=xxx:,AMP=icbAmp1,CARD=0,SERVER=icb/1,ADDR=2") - -# icbTcaSetup(char *serverName, int maxModules, int queueSize) -# -# serverName: defined here, must agree with icbTcaConfig and dbLoadRecords commands -# maxModules: Maximum number of TCA modules that this server will control -# queueSize: size of MPF message queue for this server (100 should be plenty) - -#icbTcaSetup("icbTca/1", 3, 100) - -# icbTcaConfig(char *serverName, int module, int etherAddr, int icbAddress) -# -# serverName: defined in icbTcaSetup above -# module: the index number for this module (0,1,2...) -# etherAddr: ethernet address of AIM module -# icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF) - -#icbTcaConfig("icbTca/1", 0, 0x9AA, 4) -#dbLoadRecords("$(MCA)/mcaApp/Db/icb_tca.db","P=xxx:,TCA=icbTca1,MCA=mca1,CARD=0,SERVER=icbTca/1,ADDR=0") - -# icbDspSetup(char *serverName, int maxModules, int queueSize) -# -# serverName: defined here, must agree with icbDspConfig and dbLoadRecords commands -# maxModules: Maximum number of DSP 9660 modules that this server will control -# queueSize: size of MPF message queue for this server (100 should be plenty) - -#icbDspSetup("icbDsp/1", 3, 100) - -# icbDspConfig(char *serverName, int module, int etherAddr, int icbAddress) -# -# serverName: defined in icbDspSetup above -# module: the index number for this module (0,1,2...) -# etherAddr: ethernet address of AIM module -# icbAddress: ICB address of this module (set with internal rotary switch, 0x0-0xF) - -#icbDspConfig("icbDsp/1", 0, 0x9AA, 5) -#dbLoadRecords("$(MCA)/mcaApp/Db/icbDsp.db", "P=xxx:,DSP=dsp1,CARD=0,SERVER=icbDsp/1,ADDR=0") +# Load single element Canberra AIM MCA and ICB modules +< canberra_1.cmd # Load 13 element detector software -#< 13element.cmd +#< canberra_13.cmd # Load 3 element detector software -#< 3element.cmd - -### Struck 7201 multichannel scaler (same as SIS 3806 multichannel scaler) - -#mcaRecordDebug = 10 -#devSTR7201Debug = 10 -#drvSTR7201Debug = 10 - -dbLoadRecords("$(MCA)/mcaApp/Db/Struck8.db","P=xxx:mcs:") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca1,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S0 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca2,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S1 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca3,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S2 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca4,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S3 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca5,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S4 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca6,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S5 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca7,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S6 @,CHANS=1000") -dbLoadRecords("$(MCA)/mcaApp/Db/simple_mca.db","P=xxx:mcs:,M=mca8,DTYP=Struck STR7201 MCS,PREC=3,INP=#C0 S7 @,CHANS=1000") - -# STR7201Setup(int numCards, int baseAddress, int interruptVector, int interruptLevel) -STR7201Setup(2, 0x90000000, 220, 6) -# STR7201Config(int card, int maxSignals, int maxChans, int 1=enable internal 25MHZ clock) -STR7201Config(0, 8, 1000, 0) - -# Struck as EPICS scaler -#dbLoadRecords("$(MCA)/mcaApp/Db/STR7201scaler.db", "P=xxx:,S=scaler2,C=0") -dbLoadRecords("$(STD)/stdApp/Db/scaler.db","P=xxx:,S=scaler2,C=0,DTYP=Struck STR7201 Scaler,FREQ=25000000") - -### Acromag IP330 in sweep mode ### -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=mADC_1,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S0 @Ip330Sweep1") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=mADC_2,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S1 @Ip330Sweep1") +#< canberra_3.cmd ### Stuff for user programming ### dbLoadRecords("$(CALC)/calcApp/Db/userCalcs10.db","P=xxx:") @@ -379,38 +151,6 @@ dbLoadRecords("$(CALC)/calcApp/Db/interp.db", "P=xxx:,N=2000") # array test dbLoadRecords("$(CALC)/calcApp/Db/arrayTest.db", "P=xxx:,N=2000") -### serial support ### - -# generic serial ports -#dbLoadRecords("$(IP)/ipApp/Db/generic_serial.db", "P=xxx:,C=0,SERVER=serial1") - -# serial O/I block (generic serial record with format and parse string calcs) -# on epics/mpf processor -#dbLoadRecords("$(IP)/ipApp/Db/serial_OI_block.db","P=xxx:,N=0_1,C=0,SERVER=serial5") -# on stand-alone mpf processor -#dbLoadRecords("$(IP)/ipApp/Db/serial_OI_block.db","P=xxx:,N=1_1,C=0,SERVER=serial5") - -# Stanford Research Systems SR570 Current Preamplifier -#dbLoadRecords("$(IP)/ipApp/Db/SR570.db", "P=xxx:,A=A1,C=0,SERVER=serial1") - -# Lakeshore DRC-93CA Temperature Controller -#dbLoadRecords("$(IP)/ipApp/Db/LakeShoreDRC-93CA.db", "P=xxx:,Q=TC1,C=0,SERVER=serial4") - -# Huber DMC9200 DC Motor Controller -#dbLoadRecords("$(IP)/ipApp/Db/HuberDMC9200.db", "P=xxx:,Q=DMC1:,C=0,SERVER=serial5") - -# Oriel 18011 Encoder Mike -#dbLoadRecords("$(IP)/ipApp/Db/eMike.db", "P=xxx:,M=em1,C=0,SERVER=serial3") - -# Keithley 2000 DMM -#dbLoadRecords("$(IP)/ipApp/Db/Keithley2kDMM_mf.db","P=xxx:,Dmm=D1,C=0,SERVER=serial1") - -# Oxford Cyberstar X1000 Scintillation detector and pulse processing unit -#dbLoadRecords("$(IP)/ipApp/Db/Oxford_X1k.db","P=xxx:,S=s1,C=0,SERVER=serial4") - -# Oxford ILM202 Cryogen Level Meter (Serial) -#dbLoadRecords("$(IP)/ipApp/Db/Oxford_ILM202.db","P=xxx:,S=s1,C=0,SERVER=serial5") - ### GPIB support ### # GPIB O/I block (generic gpib record with format and parse string calcs) #dbLoadRecords("$(IP)/ipApp/Db/GPIB_OI_block.db","P=xxx:,N=1,L=10") @@ -421,218 +161,28 @@ dbLoadRecords("$(CALC)/calcApp/Db/arrayTest.db", "P=xxx:,N=2000") # Keithley 199 DMM at GPIB address $(A) #dbLoadRecords("$(STD)/stdApp/Db/KeithleyDMM.db", "P=xxx:,L=10,A=26") -# generic gpib record -#dbLoadRecords("$(STD)/stdApp/Db/gpib.db","P=xxx:") - -### Miscellaneous ### -# Systran DAC database -#dbLoadTemplate("dac128V.substitutions") - -# vme test record -dbLoadRecords("$(VME)/vmeApp/Db/vme.db", "P=xxx:,Q=vme1") - -# Hewlett-Packard 10895A Laser Axis (interferometer) -#dbLoadRecords("$(VME)/vmeApp/Db/HPLaserAxis.db", "P=xxx:,Q=HPLaser1, C=0") -# hardware configuration -# example: devHP10895LaserAxisConfig(ncards,a16base) -#devHPLaserAxisConfig(2,0x1000) - -# Acromag general purpose Digital I/O -#dbLoadRecords("$(VME)/vmeApp/Db/Acromag_16IO.db", "P=xxx:, A=1") - -# Acromag AVME9440 setup parameters: -# devAvem9440Config (ncards,a16base,intvecbase) -#devAvme9440Config(1,0x0400,0x78) - # Miscellaneous PV's, such as burtResult dbLoadRecords("$(STD)/stdApp/Db/misc.db","P=xxx:") #dbLoadRecords("$(STD)/stdApp/Db/VXstats.db","P=xxx:") # vxStats dbLoadTemplate("vxStats.substitutions") -# Elcomat autocollimator -#dbLoadRecords("$(IP)/ipApp/Db/Elcomat.db", "P=xxx:,C=0,SERVER=serial8") - -# Bunch-clock generator -#dbLoadRecords("$(VME)/vmeApp/Db/BunchClkGen.db","P=xxx:") -#dbLoadRecords("$(VME)/vmeApp/Db/BunchClkGenA.db", "UNIT=xxx") -# hardware configuration -# example: BunchClkGenConfigure(intCard, unsigned long CardAddress) -#BunchClkGenConfigure(0, 0x8c00) - ### Queensgate piezo driver #dbLoadRecords("$(IP)/ipApp/Db/pzt_3id.db","P=xxx:") #dbLoadRecords("$(IP)/ipApp/Db/pzt.db","P=xxx:") -### GP307 Vacuum Controller -#dbLoadRecords("$(VME)/vmeApp/Db/gp307.db","P=xxx:") - ### Queensgate Nano2k piezo controller #dbLoadRecords("$(STD)/stdApp/Db/Nano2k.db","P=xxx:,S=s1") -# Eurotherm temp controller -#dbLoadRecords("$(IP)/ipApp/Db/Eurotherm.db","P=xxx:,C=0,SERVER=serial7") -#devAoEurothermDebug=20 - -# Analog I/O (Acromag IP330 ADC) -dbLoadTemplate("ip330Scan.substitutions") - -# Machine-status board (MRD 100) -##################################################### -# dev32VmeConfig(card,a32base,nreg,iVector,iLevel) -# card = card number -# a32base = base address of card -# nreg = number of A32 registers on this card -# iVector = interrupt vector (MRD100 Only !!) -# iLevel = interrupt level (MRD100 Only !!) -# For Example -# devA32VmeConfig(0, 0x80000000, 44, 0, 0) -##################################################### -# Configure the MSL MRD 100 module..... -#devA32VmeConfig(0, 0xB0000200, 30, 0xa0, 5) - -#dbLoadRecords("$(STD)/stdApp/Db/msl_mrd101.db","C=0,S=01,ID1=01,ID2=01us") - ### Bit Bus configuration # BBConfig(Link, LinkType, BaseAddr, IrqVector, IrqLevel) # Link: ? # LinkType: 0:hosed; 1:xycom; 2:pep #BBConfig(3,1,0x2400,0xac,5) -# Set up the Allen-Bradley 6008 scanner -#abConfigNlinks 1 -#abConfigVme 0,0xc00000,0x60,5 -#abConfigAuto - -# MKS vacuum gauges -#dbLoadRecords("$(IP)/ipApp/Db/MKS.db","P=xxx:,C=0,SERVER=serial2,CC1=cc1,CC2=cc3,PR1=pr1,PR2=pr3") -# PI Digitel 500/1500 pump -#dbLoadRecords("$(IP)/ipApp/Db/Digitel.db","xxx:,PUMP=ip1,C=0,SERVER=serial3") -# PI MPC ion pump -#dbLoadRecords("$(IP)/ipApp/Db/MPC.db","P=xxx:,PUMP=ip2,C=0,SERVER=serial4,PA=0,PN=1") -# PI MPC TSP (titanium sublimation pump) -#dbLoadRecords("$(IP)/ipApp/Db/TSP.db","P=xxx:,TSP=tsp1,C=0,SERVER=serial4,PA=0") - -# APS Quad Electrometer from Steve Ross -# initQuadEM(quadEMName, baseAddress, fiberChannel, microSecondsPerScan, -# maxClients, unidigName, unidigChan) -# quadEMName = name of quadEM object created -# baseAddress = base address of VME card -# fiberChannel = 0-3, fiber channel number -# microSecondsPerScan = microseconds to integrate. When used with ipUnidig -# interrupts the unit is also read at this rate. -# maxClients = maximum number of clients that will connect to the -# quadEM interrupt. 10 should be fine. -# unidigName = name of ipInidig server if it is used for interrupts. -# Set to 0 if there is no IP-Unidig being used, in which -# case the quadEM will be read at 60Hz. -# unidigChan = IP-Unidig channel connected to quadEM pulse output -#initQuadEM("quadEM1", 0xf000, 0, 1000, 10, "Unidig1", 2) - -# initQuadEMScan(quadEMName, serverName, queueSize) -# quadEMName = name of quadEM object created with initQuadEM -# serverName = name of MPF server (string) -# queueSize = size of MPF queue -#initQuadEMScan("quadEM1", "quadEM1", 100) - -# initQuadEMSweep(quadEMName, serverName, maxPoints, int queueSize) -# quadEMName = name of quadEM object created with initQuadEM -# serverName = name of MPF server (string) -# maxPoints = maximum number of channels per spectrum -# queueSize = size of MPF queue -#initQuadEMSweep("quadEM1", "quadEMSweep", 2048, 400) - -# initQuadEMPID(serverName, quadEMName, quadEMChannel, -# DACName, DACChannel, queueSize) -# serverName = name of MPF server (string) -# quadEMName = name of quadEM object created with initQuadEM -# quadEMChannel = quadEM "channel" to be used for feedback (0-9) -# These are defined as: -# 0 = current 1 -# 1 = current 2 -# 2 = current 3 -# 3 = current 4 -# 4 = sum 1 = current1 + current3 -# 5 = sum 2 = current2 + current4 -# 6 = difference 1 = current3 - current1 -# 7 = difference 2 = current4 - current2 -# 8 = position 1 = difference1/sum1 * 32767 -# 9 = position 2 = difference2/sum2 * 32767 -# DACName = name of DAC128V server created with initDAC128V -# DACVChannel = DAC channel number used for this PID (0-7) -# queueSize = size of MPF queue -#initQuadEMPID("quadEMPID1", "quadEM1", 8, "DAC1", 2, 20) -#initQuadEMPID("quadEMPID2", "quadEM1", 9, "DAC1", 3, 20) - -#Quad electrometer "scan" ai records -#dbLoadRecords("$(QUADEM)/quadEMApp/Db/quadEM.db","P=xxx:, EM=EM1, CARD=0, SERVER=quadEM1") - -### APS Quad Electrometer in sweep mode -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_1,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S0 @quadEMSweep") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_2,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S1 @quadEMSweep") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_3,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S2 @quadEMSweep") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_4,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S3 @quadEMSweep") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_5,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S8 @quadEMSweep") -#dbLoadRecords("$(MCA)/mcaApp/Db/mca.db", "P=xxx:,M=quadEM_6,DTYPE=MPF MCA,NCHAN=2048,INP=#C0 S9 @quadEMSweep") - -# Fast feedback with IP330 and QuadEM -#dbLoadTemplate("pid_fast.substitutions") # Slow feedback #dbLoadTemplate("pid_slow.substitutions") -# CAMAC hardware -# Setup the ksc2917 hardware definitions -# These are all actually the defaults, so this is not really necessary -# num_cards, addrs, ivec, irq_level -#ksc2917_setup(1, 0xFF00, 0x00A0, 2) - -# Initialize the CAMAC library. Note that this is normally done automatically -# in iocInit, but we need to get the CAMAC routines working before iocInit -# because we need to initialize the DXP hardware. -#camacLibInit - -### E500 Motors -# E500 driver setup parameters: -# (1) maximum # of controllers, -# (2) maximum # axis per card -# (3) motor task polling rate (min=1Hz, max=60Hz) -#E500Setup(2, 8, 10) - -# E500 driver configuration parameters: -# (1) controller -# (2) branch -# (3) crate -# (4) slot -#E500Config(0, 0, 0, 13) -#E500Config(1, 0, 0, 14) - -### Scalers: CAMAC scaler -# CAMACScalerSetup(int max_cards) /* maximum number of logical cards */ -#CAMACScalerSetup(1) - -# CAMACScalerConfig(int card, /* logical card */ -# int branch, /* CAMAC branch */ -# int crate, /* CAMAC crate */ -# int timer_type, /* 0=RTC-018 */ -# int timer_slot, /* Timer N */ -# int counter_type, /* 0=QS-450 */ -# int counter_slot) /* Counter N */ -#CAMACScalerConfig(0, 0, 0, 0, 20, 0, 21) -#dbLoadRecords("$(CAMAC)/camacApp/Db/CamacScaler.db","P=xxx:,S=scaler1,C=0") -#dbLoadRecords("$(STD)/stdApp/Db/scaler.db","P=xxx:,S=scaler1,C=0,DTYP=CAMAC scaler,FREQ=10000000") - -# Load the DXP stuff -#< 16element_dxp.cmd - -# Generic CAMAC record -#dbLoadRecords("$(CAMAC)/camacApp/Db/generic_camac.db","P=xxx:,R=camac1,SIZE=2048") - -### Etc. ### -# Love Controllers -#devLoveDebug=1 -#loveServerDebug=1 -#dbLoadRecords("$(IP)/ipApp/Db/love.db", "P=xxx:,Q=Love_0,C=0,PORT=PORT2,ADDR=1"); - ############################################################################### # Set shell prompt (otherwise it is left at mv167 or mv162) shellPromptSet "iocvxWorks> "