diff --git a/GNUmakefile b/GNUmakefile index a30dcb9..75f9ef3 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -29,16 +29,9 @@ EC_MASTER_LIB = ${EPICS_MODULES}/ECmasterECMC/${ECmasterECMC_VERSION}/R${EPICSVE USR_LDFLAGS += -Wl,-rpath=${EC_MASTER_LIB} USR_LDFLAGS += -L ${EC_MASTER_LIB} -# expression parser -#exprtk_DIR = ecmc/exprtkSupport/ -#SOURCES += ${exprtk_DIR}exprtkIF.cpp -#SOURCES += ${exprtk_DIR}exprtkImp.cpp -#SOURCES += ${exprtk_DIR}exprtkWrap.cpp -# -#HEADER += ${exprtk_DIR}/exprtkWrap.h -#HEADER += ${exprtk_DIR}/exprtkIF.h - -SRC_DIR = ecmc_plugin_motion/src +BASE_DIR = ecmc_plugin_motion +SRC_DIR = $(BASE_DIR)/src +DB_DIR = $(BASE_DIR)/db SOURCES += $(SRC_DIR)/ecmcPluginMotion.c SOURCES += $(SRC_DIR)/ecmcMotionPlgWrap.cpp @@ -47,4 +40,7 @@ SOURCES += $(SRC_DIR)/ecmcMotionPlg.cpp #SOURCES += $(foreach d,${SRC_DIR}, $(wildcard $d/*.c) $(wildcard $d/*.cpp)) HEADERS += $(foreach d,${SRC_DIR}, $(wildcard $d/*.h)) DBDS += $(foreach d,${SRC_DIR}, $(wildcard $d/*.dbd)) +SCRIPTS += $(BASE_DIR)/startup.cmd +SCRIPTS += $(BASE_DIR)/addMotionObj.cmd +TEMPLATES += $(wildcard $(DB_DIR)/*.template) diff --git a/iocsh/test_plugin_motion.script b/iocsh/test_plugin_motion.script index c2b68d1..bc22a5b 100644 --- a/iocsh/test_plugin_motion.script +++ b/iocsh/test_plugin_motion.script @@ -36,7 +36,7 @@ ecmcConfigOrDie "Cfg.EcApplyConfig(1)" epicsEnvSet("DEV", "$(IOC)") $(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/el7031.ax) -########################################################################s###### +############################################################################## ## Load plugin: MOTION # epicsEnvSet(ECMC_PLUGIN_CONFIG,"PLUGIN_ID=1,AX=1,BUFF_SIZE=200,DBG=0,ENA=1") diff --git a/iocsh/test_plugin_motion_psi.script b/iocsh/test_plugin_motion_psi.script new file mode 100644 index 0000000..33e0f79 --- /dev/null +++ b/iocsh/test_plugin_motion_psi.script @@ -0,0 +1,51 @@ +############################################################################## +## Example: Configuraftion for running ecmc motion plugin +############################################################################## + +## 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 "sandst_a_v9.0.1_RC1" "ECMC_VER=v9.0.1_RC1" + +############################################################################## +## Configure hardware + +epicsEnvSet("ECMC_EC_SLAVE_NUM", "4") +${SCRIPTEXEC} ${ecmccfg_DIR}configureSlave.cmd, "SLAVE_ID=$(ECMC_EC_SLAVE_NUM), HW_DESC=EL7031, CONFIG=-Motor-Trinamic-QMot-QSH4218-41-10-035" +epicsEnvSet("DRV_ID", "${ECMC_EC_SLAVE_NUM}") + +#Apply hardware configuration +ecmcConfigOrDie "Cfg.EcApplyConfig(1)" + +############################################################################## +## AXIS 1 +# +epicsEnvSet("DEV", "$(IOC)") +$(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/el7031.ax) + +############################################################################## +## Load plugin: MOTION +# +epicsEnvSet(ECMC_PLUGIN_CONFIG,"PLUGIN_ID=1,AX=1,BUFF_SIZE=200,DBG=0,ENA=1") +require ecmc_plugin_motion sandst_a ${ECMC_PLUGIN_CONFIG} +# below needed at ESS but not PSI: +#${SCRIPTEXEC} ${ecmc_plugin_motion_DIR}startup.cmd "${ECMC_PLUGIN_CONFIG}" + +############################################################################## +############# Configure diagnostics: + +ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)" +ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)" +ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)" +ecmcConfigOrDie "Cfg.SetDiagAxisIndex(1)" +ecmcConfigOrDie "Cfg.SetDiagAxisFreq(2)" +ecmcConfigOrDie "Cfg.SetDiagAxisEnable(0)" + +############################################################################## +############# go active: +$(SCRIPTEXEC) ($(ecmccfg_DIR)setAppMode.cmd) + +iocInit +dbl > pvs.log