From d974286b27bb5e3d22e20aae0d8017f5551cae43 Mon Sep 17 00:00:00 2001 From: Anders Sandstrom Date: Thu, 3 Aug 2023 10:49:04 +0200 Subject: [PATCH] WIP --- ecmc_plugin_motion/src/ecmcMotionPlg.cpp | 4 +- iocsh/pvs.log | 48 ++++++------------------ iocsh/test_plugin_motion.script | 19 +++------- 3 files changed, 20 insertions(+), 51 deletions(-) diff --git a/ecmc_plugin_motion/src/ecmcMotionPlg.cpp b/ecmc_plugin_motion/src/ecmcMotionPlg.cpp index c38e0c9..e80d2f7 100644 --- a/ecmc_plugin_motion/src/ecmcMotionPlg.cpp +++ b/ecmc_plugin_motion/src/ecmcMotionPlg.cpp @@ -1001,7 +1001,7 @@ void ecmcMotionPlg::doWriteWorker() { } } -// triggered by work thread +// triggered by low prio work thread only void ecmcMotionPlg::writeBuffers() { //Write all buffers @@ -1020,7 +1020,7 @@ void ecmcMotionPlg::writeBuffers() { xPosBuffer_->writeBuffer(); } -// triggered by work thread +// triggered by ecmc RT thread void ecmcMotionPlg::switchBuffers() { // switch in new empty buffer while data is stored in the other. diff --git a/iocsh/pvs.log b/iocsh/pvs.log index e7b4a48..32922bb 100644 --- a/iocsh/pvs.log +++ b/iocsh/pvs.log @@ -28,8 +28,6 @@ IOC_TEST:Axis1-VelAct IOC_TEST:Axis1-PosSet IOC_TEST:Axis1-PosErr IOC_TEST:Axis1-PLC-Err -IOC_TEST:Plg-Mtn0-BuffSze -IOC_TEST:Plg-Mtn0-ElmCnt IOC_TEST:MCU-AppMode IOC_TEST:MCU-ErrId IOC_TEST:MCU-ThdLatMin @@ -172,24 +170,12 @@ IOC_TEST:m0-Dom-WC-Zero IOC_TEST:m0-Dom-WC-Incomplete IOC_TEST:m0-Dom-WC-Complete IOC_TEST:m0-Stat-OK -REQMOD:raspberrypi-2740:exit -REQMOD:raspberrypi-2740:MODULES -REQMOD:raspberrypi-2740:VERSIONS -REQMOD:raspberrypi-2740:MOD_VER +REQMOD:raspberrypi-3352:exit +REQMOD:raspberrypi-3352:MODULES +REQMOD:raspberrypi-3352:VERSIONS +REQMOD:raspberrypi-3352:MOD_VER IOC_TEST:Axis1-Arr-Stat IOC_TEST:Axis1-PLC-Expr-RB -IOC_TEST:Plg-Mtn0-PosAct-Arr -IOC_TEST:Plg-Mtn0-PosSet-Arr -IOC_TEST:Plg-Mtn0-PosErr-Arr -IOC_TEST:Plg-Mtn0-Time-Arr -IOC_TEST:Plg-Mtn0-Ena-Arr -IOC_TEST:Plg-Mtn0-EnaAct-Arr -IOC_TEST:Plg-Mtn0-Bsy-Arr -IOC_TEST:Plg-Mtn0-Exe-Arr -IOC_TEST:Plg-Mtn0-TrjSrc-Arr -IOC_TEST:Plg-Mtn0-EncSrc-Arr -IOC_TEST:Plg-Mtn0-AtTrg-Arr -IOC_TEST:Plg-Mtn0-ErrId-Arr IOC_TEST:MCU-ErrMsg IOC_TEST:MCU-Updated IOC_TEST:m0s001-Enc01-LtchCmd @@ -210,8 +196,6 @@ IOC_TEST:Axis1-DIR_ IOC_TEST:Axis1-ErrRst IOC_TEST:Axis1-HomProc IOC_TEST:Axis1-MtnCmdData -IOC_TEST:Plg-Mtn0-Mde-RB -IOC_TEST:Plg-Mtn0-Cmd-RB IOC_TEST:m0s001-Stat IOC_TEST:m0s002-Stat IOC_TEST:Axis1-MR-ErrId @@ -222,7 +206,6 @@ IOC_TEST:Axis1-CfgDLLM-En-RB IOC_TEST:Axis1-Stat IOC_TEST:Axis1-ErrId IOC_TEST:Axis1-WrnId -IOC_TEST:Plg-Mtn0-Stat IOC_TEST:m0-Stat IOC_TEST:m0-SlvCntr IOC_TEST:m0-MemmapCntr @@ -245,18 +228,17 @@ IOC_TEST:m0-SlvRsp IOC_TEST:m0-Dom-WC IOC_TEST:m0s001-Enc01-LtchRst IOC_TEST:Axis1-Cmd_ -REQMOD:raspberrypi-2740:BaseVersion -REQMOD:raspberrypi-2740:require_VER -REQMOD:raspberrypi-2740:ecmccfg_VER -REQMOD:raspberrypi-2740:asyn_VER -REQMOD:raspberrypi-2740:exprtk_VER -REQMOD:raspberrypi-2740:motor_VER -REQMOD:raspberrypi-2740:ruckig_VER -REQMOD:raspberrypi-2740:ecmc_VER +REQMOD:raspberrypi-3352:BaseVersion +REQMOD:raspberrypi-3352:require_VER +REQMOD:raspberrypi-3352:ecmccfg_VER +REQMOD:raspberrypi-3352:asyn_VER +REQMOD:raspberrypi-3352:exprtk_VER +REQMOD:raspberrypi-3352:motor_VER +REQMOD:raspberrypi-3352:ruckig_VER +REQMOD:raspberrypi-3352:ecmc_VER IOC_TEST:m0s001-HWType IOC_TEST:m0s002-HWType IOC_TEST:Axis1-MsgTxt -REQMOD:raspberrypi-2740:ecmc_plugin_motion_VER IOC_TEST:m0s001-Drv01-Stat IOC_TEST:m0s001-Enc01-Stat IOC_TEST:m0s001-Stat_ @@ -305,10 +287,6 @@ IOC_TEST:Axis1-TgtVelCmd IOC_TEST:Axis1-Id IOC_TEST:MCU-Cfg-AX1-NxtObjId IOC_TEST:MCU-Cfg-AX-FrstObjId -IOC_TEST:MCU-Cfg-PLG{Index}-NxtObjId -IOC_TEST:MCU-Cfg-PLG-FrstObjId -IOC_TEST:Plg-Mtn0-AxCmd-RB -IOC_TEST:Plg-Mtn0-SmpHz-RB IOC_TEST:MCU-Cfg-Eng-Mode IOC_TEST:m0s001-Enc01-LchAutRstSp IOC_TEST:m0s002-BO01 @@ -337,8 +315,6 @@ IOC_TEST:Axis1-PLC-EnaCmd IOC_TEST:Axis1-CmdFrmPLCCmd IOC_TEST:Axis1-SftLimBwdEna IOC_TEST:Axis1-SftLimFwdEna -IOC_TEST:Plg-Mtn0-EnaCmd-RB -IOC_TEST:Plg-Mtn0-TrgCmd-RB IOC_TEST:MCU-ErrRst IOC_TEST:Axis1-MCU1-asyn IOC_TEST:MCU-Cmd diff --git a/iocsh/test_plugin_motion.script b/iocsh/test_plugin_motion.script index 58ab1a6..c80dac7 100644 --- a/iocsh/test_plugin_motion.script +++ b/iocsh/test_plugin_motion.script @@ -4,13 +4,12 @@ ## 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 "9.0.1_RC1" +require ecmccfg "9.0.1_RC1" # run module startup.cmd (only needed at ESS PSI auto call at require) -$(ECMCCFG_INIT)$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=v9.0.1_RC1" +$(ECMCCFG_INIT="")$(SCRIPTEXEC) ${ecmccfg_DIR}startup.cmd, "IOC=$(IOC),ECMC_VER=v9.0.1_RC1" ############################################################################## @@ -39,17 +38,11 @@ $(SCRIPTEXEC) ($(ecmccfg_DIR)configureAxis.cmd, CONFIG=./cfg/el7031.ax) ########################################################################s###### ## Load plugin: MOTION - -epicsEnvSet(ECMC_PLUGIN_CONFIG,"PLUGIN_ID=1,AX=1,BUFF_SIZE=25,DBG=0,ENA=1") - -require ecmc_plugin_motion master ${ECMC_PLUGIN_CONFIG} -${SCRIPTEXEC} ${ecmc_plugin_motion_DIR}startup.cmd "${ECMC_PLUGIN_CONFIG}" - -#epicsEnvSet(ECMC_PLUGIN_FILNAME,"/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_motion/master/lib/${EPICS_HOST_ARCH=linux-x86_64}/libecmc_plugin_motion.so") # -#${SCRIPTEXEC} ${ecmccfg_DIR}loadPlugin.cmd, "PLUGIN_ID=0,FILE=${ECMC_PLUGIN_FILNAME},CONFIG='${ECMC_PLUGIN_CONFIG}', REPORT=1" -## Note: INDEX is the index of FFT object in FFT plugin and not PLUGIN_ID. In this case the same -##dbLoadRecords(ecmcPluginFFT.template,"P=$(IOC):,INDEX=0, NELM=${FFT_NELM}, AMP_DESC='Sine amplitude',AMP_EGU='',RAW_DESC='Sine',AMP_EGU='', TITLE='FFT of sinus in 5Hz'") +epicsEnvSet(ECMC_PLUGIN_CONFIG,"PLUGIN_ID=1,AX=1,BUFF_SIZE=25,DBG=0,ENA=1") +require ecmc_plugin_motion master ${ECMC_PLUGIN_CONFIG} +# below needed at ESS but not PSI: +${SCRIPTEXEC} ${ecmc_plugin_motion_DIR}startup.cmd "${ECMC_PLUGIN_CONFIG}" ############################################################################## ############# Configure diagnostics: