64 lines
2.7 KiB
Plaintext
64 lines
2.7 KiB
Plaintext
##############################################################################
|
|
# Test to make a triggered scope
|
|
|
|
##############################################################################
|
|
## Initiation:
|
|
epicsEnvSet("IOC" ,"$(IOC="IOC_TEST")")
|
|
epicsEnvSet("ECMCCFG_INIT" ,"") #Only run startup once (auto at PSI, need call at ESS), variable set to "#" in startup.cmd
|
|
epicsEnvSet("SCRIPTEXEC" ,"$(SCRIPTEXEC="iocshLoad")")
|
|
|
|
require ecmccfg develop
|
|
|
|
# run module startup.cmd (only needed at ESS PSI auto call at require)
|
|
$(ECMCCFG_INIT)$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=develop,stream_VER=2.8.10, EC_RATE=1000"
|
|
|
|
##############################################################################
|
|
## Config hardware:
|
|
|
|
## Sampel rate in milliseconds
|
|
epicsEnvSet("ECMC_SAMPLE_RATE_MS", "${RATE="1"}")
|
|
|
|
# Choose sample rate (2, 10 or 100)
|
|
epicsEnvSet("ECMC_OVER_SMP", "${OVERSAMP="100"}")
|
|
|
|
# EL1252: trigger on pos edge timestamp
|
|
epicsEnvSet("SLAVE_NUM_TRIGG", "6")
|
|
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(SLAVE_NUM_TRIGG), HW_DESC=EL1252"
|
|
|
|
# EL3702: Note: Set NELM to define oversampling rate
|
|
epicsEnvSet("SLAVE_NUM_AI", "11")
|
|
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=$(SLAVE_NUM_AI), HW_DESC=EL3702, NELM=${ECMC_OVER_SMP}"
|
|
|
|
#ecmcConfigOrDie "Cfg.EcSelectReferenceDC(0,$(SLAVE_NUM_TRIGG))"
|
|
|
|
#Apply hardware configuration
|
|
ecmcConfigOrDie "Cfg.EcApplyConfig(1)"
|
|
|
|
########################################################################s######
|
|
## Load plugin: Scope
|
|
|
|
require ecmc_plugin_scope master # to get access to db file..
|
|
|
|
epicsEnvSet(RESULT_NELM, 500)
|
|
epicsEnvSet(ECMC_PLUGIN_FILNAME,"${HOME}/epics/base-7.0.4/require/3.3.0/siteMods/ecmc_plugin_scope/master/lib/${EPICS_HOST_ARCH=linux-x86_64}/libecmcPlugin_Scope.so")
|
|
epicsEnvSet(ECMC_PLUGIN_CONFIG,"SOURCE=ec0.s${SLAVE_NUM_AI}.mm.CH1_ARRAY;DBG_PRINT=0;TRIGG=ec0.s${SLAVE_NUM_TRIGG}.CH1_LATCH_POS;SOURCE_NEXTTIME=ec0.s${SLAVE_NUM_AI}.NEXT_TIME;RESULT_ELEMENTS=${RESULT_NELM};")
|
|
${SCRIPTEXEC} ${ecmccfg_DIR}loadPlugin.cmd, "PLUGIN_ID=1,FILE=${ECMC_PLUGIN_FILNAME},CONFIG='${ECMC_PLUGIN_CONFIG}', REPORT=1"
|
|
epicsEnvUnset(ECMC_PLUGIN_FILNAME)
|
|
epicsEnvUnset(ECMC_PLUGIN_CONFIG)
|
|
|
|
dbLoadRecords("ecmcPluginScope.template","P=$(IOC):,PORT=${ECMC_ASYN_PORT},INDEX=0,RESULT_NELM=${RESULT_NELM},RESULT_DTYP=asynInt16ArrayIn,RESULT_FTVL=SHORT")
|
|
epicsEnvUnset(RESULT_NELM, 1024)
|
|
|
|
##############################################################################
|
|
############# Configure diagnostics:
|
|
|
|
ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)"
|
|
ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)"
|
|
ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)"
|
|
|
|
# go active
|
|
$(SCRIPTEXEC) ($(ecmccfg_DIR)setAppMode.cmd)
|
|
|
|
iocInit()
|
|
dbl > pvs.log
|