Files
ecmc_plugin_grbl/iocsh/log.log
Anders Sandstrom 33898dd058 Remove rt block
2022-01-31 14:40:02 +01:00

8679 lines
269 KiB
Plaintext

registerChannelProviderLocal firstTime true
#
# Start at "2022-W05-Jan31-1435-56-CET"
#
# Version information:
# European Spallation Source ERIC : iocsh.bash (3.4.0-PID-15125)
#
# --->--> snip -->-->
# Please Use Version and other environment variables
# in order to report or debug this shell
#
# HOSTDISPLAY=""
# WINDOWID=""
# PWD="/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh"
# USER="pi"
# LOGNAME="pi"
# EPICS_HOST_ARCH="linux-arm"
# EPICS_BASE="/home/pi/epics/base-7.0.5"
# E3_REQUIRE_NAME="require"
# E3_REQUIRE_VERSION="3.4.0"
# E3_REQUIRE_LOCATION="/home/pi/epics/base-7.0.5/require/3.4.0"
# E3_REQUIRE_BIN="/home/pi/epics/base-7.0.5/require/3.4.0/bin"
# E3_REQUIRE_DB="/home/pi/epics/base-7.0.5/require/3.4.0/db"
# E3_REQUIRE_DBD="/home/pi/epics/base-7.0.5/require/3.4.0/dbd"
# E3_REQUIRE_INC="/home/pi/epics/base-7.0.5/require/3.4.0/include"
# E3_REQUIRE_LIB="/home/pi/epics/base-7.0.5/require/3.4.0/lib"
# EPICS_DRIVER_PATH="/home/pi/epics/base-7.0.5/require/3.4.0/siteMods:/home/pi/epics/base-7.0.5/require/3.4.0/siteApps"
# EPICS_CA_AUTO_ADDR_LIST=""
# EPICS_CA_ADDR_LIST=""
# PATH="/home/pi/epics/base-7.0.5/require/3.4.0/bin:/home/pi/epics/base-7.0.5/bin/linux-arm:/home/pi/berryconda3/bin:/home/pi/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games"
# --->--> snip -->-->
#
# Set REQUIRE_IOC for its internal PVs
epicsEnvSet REQUIRE_IOC "REQMOD:raspberrypi-15125"
#
# Enable an exit subroutine for sotfioc
dbLoadRecords "/home/pi/epics/base-7.0.5/db/softIocExit.db" "IOC=REQMOD:raspberrypi-15125"
#
# Set E3_IOCSH_TOP for the absolute path where iocsh.bash is executed.
epicsEnvSet E3_IOCSH_TOP "/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh"
#
#
# Load require module, which has the version 3.4.0
#
dlload /home/pi/epics/base-7.0.5/require/3.4.0/lib/linux-arm/librequire.so
dbLoadDatabase /home/pi/epics/base-7.0.5/require/3.4.0/dbd/require.dbd
require_registerRecordDeviceDriver
Loading module info records for require
#
# Set E3_CMD_TOP for the absolute path where test.script exists
epicsEnvSet E3_CMD_TOP "/home/pi/sources/e3-ecmc_plugin_grbl/ecmc_plugin_grbl-dev/iocsh"
#
iocshLoad 'test.script',''
##############################################################################
## Example: Demo of ecmc grbl g-code plugin
## https://github.com/anderssandstrom/ecmc_plugin_grbl
## https://github.com/anderssandstrom/e3-ecmc_plugin_grbl
##
## The plugin exposes:
##
## Initiation:
epicsEnvSet("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" ,"iocshLoad")
require ecmccfg ruckig
Module ecmccfg version ruckig found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/lib/linux-arm/libecmccfg.so
Loaded ecmccfg version ruckig
Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/dbd/ecmccfg.dbd
Calling function ecmccfg_registerRecordDeviceDriver
Loading module info records for ecmccfg
# Epics Motor record driver that will be used:
epicsEnvShow(ECMC_MR_MODULE)
ECMC_MR_MODULE is not an environment variable.
# run module startup.cmd (only needed at ESS PSI auto call at require)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/startup.cmd, "IOC=IOC_TEST,ECMC_VER=ruckig"
#==============================================================================
# startup.cmd
on error halt
require ecmc "ruckig"
Module ecmc version ruckig found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/
Module ecmc depends on asyn 4.41.0
Module asyn version 4.41.0 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/lib/linux-arm/libasyn.so
Loaded asyn version 4.41.0
Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/asyn/4.41.0/dbd/asyn.dbd
Calling function asyn_registerRecordDeviceDriver
Loading module info records for asyn
Module ecmc depends on exprtk 1.2.1
Module exprtk version 1.2.1 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/exprtk/1.2.1/
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/exprtk/1.2.1/lib/linux-arm/libexprtk.so
Loaded exprtk version 1.2.1
exprtk has no dbd file
Loading module info records for exprtk
Module ecmc depends on motor develop
Module motor version develop found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/
Module motor depends on asyn 4.41.0
Module asyn version 4.41.0 already loaded
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/lib/linux-arm/libmotor.so
Loaded motor version develop
Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/motor/develop/dbd/motor.dbd
Calling function motor_registerRecordDeviceDriver
Loading module info records for motor
Module ecmc depends on ruckig 1.0.0
Module ruckig version 1.0.0 found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ruckig/1.0.0/
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ruckig/1.0.0/lib/linux-arm/libruckig.so
Loaded ruckig version 1.0.0
ruckig has no dbd file
Loading module info records for ruckig
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/lib/linux-arm/libecmc.so
Loaded ecmc version ruckig
Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc/ruckig/dbd/ecmc.dbd
Calling function ecmc_registerRecordDeviceDriver
Loading module info records for ecmc
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'ecmcMotorRecord'='EthercatMC'", "require EthercatMC 3.0.2 # Using EthercatMC motor record support.","# Using ecmcMotorRecord motor record support.")
# Using ecmcMotorRecord motor record support.
epicsEnvUnset(ECMC_EXE_CMD)
epicsEnvSet("ECMC_CONFIG_ROOT", "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/")
epicsEnvSet("ECMC_CONFIG_DB", "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/db")
epicsEnvSet("SCRIPTEXEC", "iocshLoad")
epicsEnvSet("SM_PREFIX", "IOC_TEST:") # colon added since IOC is _not_ PREFIX
epicsEnvSet("ECMC_PROC_HOOK", "")
epicsEnvSet(ECMC_MODE, FULL)
ecmcEpicsEnvSetCalcTernary(ECMC_SUPPORT_MOTION, "'FULL'!='DAQ'","","# MODE == DAQ, DISABLING MOTION.")
epicsEnvShow(ECMC_SUPPORT_MOTION)
ECMC_SUPPORT_MOTION=
ecmcEpicsEnvSetCalcTernary(ECMC_USE_MOTOR_RECORD, "'FULL'=='FULL'","","# MODE != FULL, DISABLING MOTOR RECORD.")
epicsEnvShow(ECMC_USE_MOTOR_RECORD)
ECMC_USE_MOTOR_RECORD=
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAll.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAll.cmd"
#==============================================================================
# initAll.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/init.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/init.cmd
#==============================================================================
# init.cmd
epicsEnvSet("ECMC_ASYN_TIMEOUT", 1) # Asyn timeout
epicsEnvSet("ECMC_ASYN_ADDR", 0) # Asyn Address
epicsEnvSet("ECMC_MOTOR_PORT", "NOT SET")
epicsEnvSet("ECMC_ASYN_PORT", "NOT SET")
epicsEnvSet("ECMC_PREFIX", "NOT SET")
epicsEnvSet("ECMC_GEN_EC_RECORDS", "NOT SET")
epicsEnvSet("ECMC_GEN_AX_RECORDS", "NOT SET")
epicsEnvSet("ECMC_EC_AXIS_HEALTH", "NOT SET")
epicsEnvSet("ECMC_PLC_SAMPLE_RATE_MS", "NOT SET")
epicsEnvSet("ECMC_TSE", -2)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAxis.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/initAxis.cmd"
#==============================================================================
# initAxis.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd"
#==============================================================================
# ecmc_axis_unset.cmd
epicsEnvUnset(ECMC_AXISCONFIG)
epicsEnvUnset(ECMC_AXISFIELDINIT)
epicsEnvUnset(ECMC_PREC)
epicsEnvUnset(ECMC_EGU)
epicsEnvUnset(ECMC_DESC)
epicsEnvUnset(ECMC_R)
epicsEnvUnset(ECMC_MOTOR_NAME)
epicsEnvUnset(ECMC_EC_AXIS_HEALTH)
epicsEnvUnset(ECMC_MOD_RANGE)
epicsEnvUnset(ECMC_MOD_TYPE)
epicsEnvUnset(ECMC_EMERG_DECEL)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_ACCL)
epicsEnvUnset(ECMC_ACCS_EGU_PER_S2)
epicsEnvUnset(ECMC_HOME_VEL_TO)
epicsEnvUnset(ECMC_HOME_VEL_FRM)
epicsEnvUnset(ECMC_CNTRL_KP)
epicsEnvUnset(ECMC_CNTRL_KI)
epicsEnvUnset(ECMC_CNTRL_KD)
epicsEnvUnset(ECMC_CNTRL_KFF)
epicsEnvUnset(ECMC_EC_ENC_ACTPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCHPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL)
epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS)
epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET)
epicsEnvUnset(ECMC_ENC_SCALE_DENOM)
epicsEnvUnset(ECMC_ENC_SCALE_NUM)
epicsEnvUnset(ECMC_ENC_TYPE)
epicsEnvUnset(ECMC_ENC_BITS)
epicsEnvUnset(ECMC_ENC_ABS_BITS)
epicsEnvUnset(ECMC_ENC_ABS_OFFSET)
epicsEnvUnset(ECMC_ENC_VEL_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE)
epicsEnvUnset(ECMC_EC_ENC_RESET)
epicsEnvUnset(ECMC_EC_ENC_ALARM_0)
epicsEnvUnset(ECMC_EC_ENC_ALARM_1)
epicsEnvUnset(ECMC_EC_ENC_ALARM_2)
epicsEnvUnset(ECMC_EC_ENC_WARNING)
epicsEnvUnset(ECMC_EC_DRV_CONTROL)
epicsEnvUnset(ECMC_EC_DRV_STATUS)
epicsEnvUnset(ECMC_EC_DRV_VELOCITY)
epicsEnvUnset(ECMC_EC_DRV_BRAKE)
epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE)
epicsEnvUnset(ECMC_EC_DRV_RESET)
epicsEnvUnset(ECMC_EC_DRV_ALARM_0)
epicsEnvUnset(ECMC_EC_DRV_ALARM_1)
epicsEnvUnset(ECMC_EC_DRV_ALARM_2)
epicsEnvUnset(ECMC_EC_DRV_WARNING)
epicsEnvUnset(ECMC_DRV_SCALE_DENOM)
epicsEnvUnset(ECMC_DRV_SCALE_NUM)
epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME)
epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_EC_MON_LOWLIM)
epicsEnvUnset(ECMC_EC_MON_HIGHLIM)
epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH)
epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK)
epicsEnvUnset(ECMC_MON_AT_TARGET_TOL)
epicsEnvUnset(ECMC_MON_AT_TARGET_TIME)
epicsEnvUnset(ECMC_MON_AT_TARGET_ENA)
epicsEnvUnset(ECMC_MON_LAG_MON_TOL)
epicsEnvUnset(ECMC_MON_LAG_MON_TIME)
epicsEnvUnset(ECMC_MON_LAG_MON_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX)
epicsEnvUnset(ECMC_MON_VELO_MAX_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME)
epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME)
epicsEnvUnset(ECMC_JOG_VEL)
epicsEnvUnset(ECMC_JAR)
epicsEnvUnset(ECMC_HOME_PROC)
epicsEnvUnset(ECMC_HOME_POS)
epicsEnvUnset(ECMC_HOME_ACC)
epicsEnvUnset(ECMC_HOME_DEC)
epicsEnvUnset(ECMC_DRV_TYPE)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA)
epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS)
epicsEnvUnset(ECMC_TRAJ_TYPE)
epicsEnvUnset(ECMC_JERK)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd"
#==============================================================================
# ecmc_axis_sync_unset.cmd
epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE)
epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10)
epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_ENC_SOURCE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_TRAJ_SOURCE)
epicsEnvSet("ECMC_EGU", "mm")
epicsEnvSet("ECMC_PREC", 3)
epicsEnvSet("ECMC_AXISFIELDINIT", "") # Extra field ini2022/01/31 14:35:57.191
ECMC Initializes.............
2022/01/31 14:35:57.191 ESS Open Source EtherCAT Motion Control Epics Module2022/01/31 14:35:57.191
Mode: Configuration
2022/01/31 14:35:57.191 OK
2022/01/31 14:35:57.191 OK
2022/01/31 14:35:57.192 OK
2022/01/31 14:35:57.194 OK
2022/01/31 14:35:57.215 OK
2022/01/31 14:35:57.215 OK
2022/01/31 14:35:57.215 OK
t to motor record
epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver
############################################################
############# ASYN Configuration:
epicsEnvSet("ECMC_MOTOR_PORT" "MCU1")
epicsEnvSet("ECMC_ASYN_PORT" "MC_CPU1")
epicsEnvSet("ECMC_PREFIX" "IOC_TEST:")
ecmcAsynPortDriverConfigure(MC_CPU1,1000,0,0,100)
ecmcAsynPortDriverConfigure: portName = MC_CPU1, paramTableSize = 1000, disableAutoConnect = 0, priority = 0, defaultSampleRateMS = 100.000000
asynOctetSetOutputEos(MC_CPU1, -1, ";\n")
asynOctetSetInputEos(MC_CPU1, -1, ";\n")
asynSetTraceMask(MC_CPU1, -1, 0x41)
asynSetTraceIOMask(MC_CPU1, -1, 6)
asynSetTraceInfoMask(MC_CPU1, -1, 1)
ecmcMotorRecordCreateController(MCU1, MC_CPU1, "64", 200, 1000, "")
############################################################
############# Misc settings:
# Disable function call trace printouts
ecmcConfigOrDie "Cfg.SetEnableFuncCallDiag(0)"
# Disable on change printouts from objects (enable for easy logging)
ecmcConfigOrDie "Cfg.SetTraceMaskBit(15,0)"
# Choose to generate EPICS-records for EtherCAT-entries
# (For records use ECMC_GEN_EC_RECORDS="-records" otherwise ECMC_GEN_EC_RECORDS="")
epicsEnvSet("ECMC_GEN_EC_RECORDS", "-records")
# Choose to generate EPICS-records for ax-entries (PosAct, SetPos,..)
# (For records use ECMC_GEN_AX_RECORDS="-records" otherwise ECMC_GEN_AX_RECORDS="")
epicsEnvSet("ECMC_GEN_AX_RECORDS", "-records")
# suffix for pva enabled scripts, templates and substitutions
ecmcEpicsEnvSetCalcTernary(ECMC_PVA, "0", "Pva","")
# Set EtherCAT frequency (defaults to 1000)
ecmcConfigOrDie "Cfg.SetSampleRate(1000)"
epicsEnvSet("ECMC_EC_SAMPLE_RATE" , 1000)
ecmcEpicsEnvSetCalc("ECMC_EC_SAMPLE_RATE_MS" ,1000/1000)
# Update records in 10ms (100Hz) for FULL MODE and in EC_RATE for DAQ mode
ecmcEpicsEnvSetCalcTernary(ECMC_SAMPLE_RATE_MS, "'FULL'=='DAQ'","1","10")
epicsEnvSet("ECMC_P_SCRIPT", "mXsXXX")
ecmcEpicsEnvSetCalcTernary(ECMC_MASTER_CMD, "0>=0", "","#- ")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addMaster.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addMaster.cmd", "MASTER_ID=0"
#===============================================================================
# addMaster.cfg
epicsEnvSet("ECMC_EC_MASTER_ID" "0")
# Claim master
ecmcConfigOrDie "Cfg.EcSetMaster(0)"
epicsEnvSet("ECMC_EC_MASTER_ID" ,0)
epicsEnvSet("ECMC_TMP_DIR", "/tmp/IOC_TEST/EcMaster_0/")
system "mkdir -p /tmp/IOC_TEST/EcMaster_0/"
epicsEnvSet("ECMC_TMP_DIR", "/tmp/IOC_TEST/EcMaster_0/")
system "mkdir -p /tmp/IOC_TEST/EcMaster_0/"
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setDiagnostics.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setDiagnostics.cmd
#==============================================================================
# setDiagnostics.cmd
ecmcConfigOrDie "Cfg.EcSetDiagnostics(1)"
ecmcConfigOrDie "Cfg.EcEnablePrintouts(0)"
ecmcConfigOrDie "Cfg.EcSetDomainFailedCyclesLimit(100)"
epicsEnvSet("ECMCCFG_INIT" ,"#")
##############################################################################
## Configure hardware:
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcMCU1021_coupler.cmd
############################################################
############# MCU1021:
#Configure EK1100 coupler terminal
epicsEnvSet(ECMC_EC_SLAVE_NUM,0)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=0, HW_DESC=EK1100"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "0")
epicsEnvSet("HW_DESC", "EK1100")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEK1100.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEK1100.cmd" 2022/01/31 14:35:57.217 OK
2022/01/31 14:35:57.218 OK
2022/01/31 14:35:57.225 OK
2022/01/31 14:35:57.226 OK
2022/01/31 14:35:57.226 OK
2022/01/31 14:35:57.226 OK
2022/01/31 14:35:57.226 OK
"NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EK1100")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x044c2c52")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,0,0x2,0x044c2c52)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ")
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
ecmcConfigOrDie "Cfg.EcAddSlave(0,0,0x2,0x044c2c52)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "0","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s000")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s000-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEK1100.substitutions,ECMC_P=IOC_TEST:m0s000-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEK1100.substitutions,1,1)
dbLoadTemplate(ecmcEK1100.substitutions,"ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s000-,ECMC_G=IOC_TEST:m0s000,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=0,HWTYPE=EK1100,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "0+1","%d")
#Configure EL1018 digital input terminal
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "0+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=1, HW_DESC=EL1018"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "1")
epicsEnvSet("HW_DESC", "EL1018")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1018.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1018.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL1018")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x03fa3052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,1,0x2,0x03fa3052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ")
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX1008.cmd
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a00,0x6000,0x1,B1,binaryInput01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a01,0x6010,0x1,B1,binaryInput02)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a02,0x6020,0x1,B1,binaryInput03)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a03,0x6030,0x1,B1,binaryInput04)"
ecmcConfigOrDie "Cfg.EcAddEn2022/01/31 14:35:57.227 OK
2022/01/31 14:35:57.227 OK
2022/01/31 14:35:57.227 OK
2022/01/31 14:35:57.227 OK
2022/01/31 14:35:57.235 OK
2022/01/31 14:35:57.237 OK
2022/01/31 14:35:57.237 OK
2022/01/31 14:35:57.237 OK
2022/01/31 14:35:57.237 OK
2022/01/31 14:35:57.237 OK
2022/01/31 14:35:57.238 OK
tryDT(1,0x2,0x03fa3052,2,0,0x1a04,0x6040,0x1,B1,binaryInput05)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a05,0x6050,0x1,B1,binaryInput06)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a06,0x6060,0x1,B1,binaryInput07)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(1,0x2,0x03fa3052,2,0,0x1a07,0x6070,0x1,B1,binaryInput08)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "1","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s001")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s001-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL1018.substitutions,ECMC_P=IOC_TEST:m0s001-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL1018.substitutions,1,1)
dbLoadTemplate(ecmcEL1018.substitutions,"ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s001-,ECMC_G=IOC_TEST:m0s001,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=1,HWTYPE=EL1018,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "1+1","%d")
#Configure EL2808 digital output terminal
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "1+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=2, HW_DESC=EL2808"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "2")
epicsEnvSet("HW_DESC", "EL2808")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL2808.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL2808.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL2808")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x0af83052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,2,0x2,0x0af83052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ")
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX2008.cmd
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1600,0x7000,0x1,B1,binaryOutput01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1601,0x7010,0x1,B1,binaryOutput02)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1602,0x7020,0x1,B1,binaryOutput03)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1603,0x7030,0x1,B1,binaryOutput04)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1604,0x7040,0x1,B1,binaryOutput05)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1605,0x7050,0x1,B1,binaryOutput06)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1606,0x7060,0x1,B1,binaryOutp2022/01/31 14:35:57.238 OK
2022/01/31 14:35:57.238 OK
2022/01/31 14:35:57.247 OK
2022/01/31 14:35:57.312 OK
2022/01/31 14:35:57.422 14385
2022/01/31 14:35:57.424 OK
2022/01/31 14:35:57.424 OK
2022/01/31 14:35:57.424 OK
2022/01/31 14:35:57.425 OK
2022/01/31 14:35:57.425 OK
ut07)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(2,0x2,0x0af83052,1,0,0x1607,0x7070,0x1,B1,binaryOutput08)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "2","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s002")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s002-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL2808.substitutions,ECMC_P=IOC_TEST:m0s002-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL2808.substitutions,1,1)
dbLoadTemplate(ecmcEL2808.substitutions,"ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s002-,ECMC_G=IOC_TEST:m0s002,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=2,HWTYPE=EL2808,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "2+1","%d")
# Save the slave number for later
epicsEnvSet("ECMC_EC_SLAVE_NUM_DIG_OUT", "2")
#Configure EL5101 Incremental Encoder Interface
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "2+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=3, HW_DESC=EL5101"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "3")
epicsEnvSet("HW_DESC", "EL5101")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL5101")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x13ed3052")
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,3,0x2,0x13ed3052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ")
ecmcConfigOrDie "Cfg.EcWriteSdo(3,0x1011,0x1,1684107116,4)"
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
ecmcConfig "EcReadSdo(3,0x100a,0x0,2)"
ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "14385", "0x%04x")
# Firmware version: 0x3831
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,1,2,0x1600,0x7000,0x01,8,encoderControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,1,2,0x1600,0x7000,0x02,16,encoderValue01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x00,16,encoderStatus01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x10,16,positionActual01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(3,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x20,16,encoderLatchPostion01)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/re2022/01/31 14:35:57.443 OK
2022/01/31 14:35:57.532 OK
2022/01/31 14:35:57.612 14385
2022/01/31 14:35:57.615 OK
2022/01/31 14:35:57.615 OK
2022/01/31 14:35:57.616 OK
2022/01/31 14:35:57.616 OK
2022/01/31 14:35:57.616 OK
quire/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "3","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s003")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s003-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL5101.substitutions,ECMC_P=IOC_TEST:m0s003-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL5101.substitutions,1,1)
dbLoadTemplate(ecmcEL5101.substitutions,"ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s003-,ECMC_G=IOC_TEST:m0s003,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=3,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "3+1","%d")
#Configure EL5101 Incremental Encoder Interface
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "3+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=4, HW_DESC=EL5101"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "4")
epicsEnvSet("HW_DESC", "EL5101")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL5101.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL5101")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x13ed3052")
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,4,0x2,0x13ed3052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ")
ecmcConfigOrDie "Cfg.EcWriteSdo(4,0x1011,0x1,1684107116,4)"
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
ecmcConfig "EcReadSdo(4,0x100a,0x0,2)"
ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "14385", "0x%04x")
# Firmware version: 0x3831
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,1,2,0x1600,0x7000,0x01,8,encoderControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,1,2,0x1600,0x7000,0x02,16,encoderValue01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x00,16,encoderStatus01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x10,16,positionActual01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(4,0x2,0x13ed3052,2,3,0x1a03,0x6010,0x20,16,encoderLatchPostion01)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101"
#=======================================================================2022/01/31 14:35:57.636 OK
2022/01/31 14:35:57.639 OK
2022/01/31 14:35:57.639 OK
=======
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "4","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s004")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s004-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL5101.substitutions,ECMC_P=IOC_TEST:m0s004-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL5101.substitutions,1,1)
dbLoadTemplate(ecmcEL5101.substitutions,"ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s004-,ECMC_G=IOC_TEST:m0s004,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=4,HWTYPE=EL5101,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "4+1","%d")
# Configure EL9505 Power supply terminal 5V
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "4+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=5, HW_DESC=EL9505"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "5")
epicsEnvSet("HW_DESC", "EL9505")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL9505.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL9505.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL9505")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x25213052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,5,0x2,0x25213052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ")
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
ecmcConfigOrDie "Cfg.EcAddEntryComplete(5,0x2,0x25213052,2,0,0x1a00,0x6000,0x1,1,powerOk01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(5,0x2,0x25213052,2,0,0x1a00,0x6000,0x2,1,overload01)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "5","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s005")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s005-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL9505.substitutions,ECMC_P=IOC_TEST:m0s005-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL9505.substitutions,1,1)
dbLoadTemplate(ecmcEL9505.substitutions,"ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "",2022/01/31 14:35:57.655 OK
2022/01/31 14:35:57.658 OK
2022/01/31 14:35:57.658 OK
2022/01/31 14:35:57.659 OK
2022/01/31 14:35:57.659 OK
2022/01/31 14:35:57.659 OK
2022/01/31 14:35:57.659 OK
2022/01/31 14:35:57.659 OK
2022/01/31 14:35:57.660 OK
"#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s005-,ECMC_G=IOC_TEST:m0s005,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=5,HWTYPE=EL9505,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "5+1","%d")
# Configure EL1252 digital input terminal
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "5+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd, "SLAVE_ID=6, HW_DESC=EL1252"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "6")
epicsEnvSet("HW_DESC", "EL1252")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1252.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL1252.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL1252")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x04e43052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,6,0x2,0x04e43052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "0>0", "","#- ")
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX1002.cmd
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,0,0x1a00,0x6000,0x1,B1,binaryInput01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,0,0x1a01,0x6010,0x1,B1,binaryInput02)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xae,U8,status01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xaf,U8,status02)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xb0,U64,timestampLatchPositive01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xb8,U64,timestampLatchNegative01)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xc0,U64,timestampLatchPositive02)"
ecmcConfigOrDie "Cfg.EcAddEntryDT(6,0x2,0x04e43052,2,1,0x1a13,0x1d09,0xc8,U64,timestampLatchNegative02)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "6","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s006")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s006-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL1252.substitutions,ECMC_P=IOC_TEST:m0s006-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL1252.substitutions,1,1)
dbLoadTemplate(ecmcEL1252.substitutions,"ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006"
#==================2022/01/31 14:35:57.683 OK
2022/01/31 14:35:57.802 OK
2022/01/31 14:35:57.882 12848
2022/01/31 14:35:57.883 OK
2022/01/31 14:35:57.883 OK
2022/01/31 14:35:57.883 OK
2022/01/31 14:35:57.883 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
2022/01/31 14:35:57.884 OK
============================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s006-,ECMC_G=IOC_TEST:m0s006,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=6,HWTYPE=EL1252,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "6+1","%d")
# Configure EL9410 Power supply with refresh of E-Bus.
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "6+1")
#${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=${ECMC_EC_SLAVE_NUM}, HW_DESC=EL9410"
#Configure EL7037 stepper drive terminal, motor 1
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "7+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureSlave.cmd, "SLAVE_ID=8, HW_DESC=EL7037, CONFIG=-Motor-Nanotec-ST4118L1804-B"
#==============================================================================
# configureSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "8")
epicsEnvSet("HW_DESC", "EL7037")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd "SLAVE_ID=8, HW_DESC=EL7037, NELM=1"
#==============================================================================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "8")
epicsEnvSet("HW_DESC", "EL7037")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL7037")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x1b7d3052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,8,0x2,0x1b7d3052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ")
ecmcConfigOrDie "Cfg.EcWriteSdo(8,0x1011,0x1,1684107116,4)"
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
ecmcConfig "EcReadSdo(8,0x100a,0x0,2)"
ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "12848", "0x%04x")
# Firmware version: 0x3230
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX70XX.cmd
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x01,16,encoderControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x11,16,encoderValue01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1602,0x7010,0x1,16,driveControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,1,2,0x1604,0x7010,0x21,16,1,velocitySetpoint01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x0,16,encoderStatus01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x11,16,positionActual01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x12,16,encoderLatchPostion01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(8,0x2,0x1b7d3052,2,3,0x1a03,0x6010,0x1,16,driveStatus01)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x5,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0xA,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x8,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8012,0x9,0,1)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "8","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s008")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s008-")
epicsE2022/01/31 14:35:57.894 OK
2022/01/31 14:35:57.894 OK
2022/01/31 14:35:57.894 OK
2022/01/31 14:35:57.894 OK
2022/01/31 14:35:57.894 OK
2022/01/31 14:35:57.894 OK
nvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL7037.substitutions,ECMC_P=IOC_TEST:m0s008-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL7037.substitutions,1,1)
dbLoadTemplate(ecmcEL7037.substitutions,"ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s008-,ECMC_G=IOC_TEST:m0s008,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=8,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "8+1","%d")
# apply config ${CONFIG} for ${HW_DESC}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd ""
epicsEnvSet(I_MAX_MA_LOCAL,"1500")
epicsEnvSet(I_RUN_MA_LOCAL,1000)
epicsEnvSet(I_STDBY_MA_LOCAL,500)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd "I_RUN_MA=1000,I_STDBY_MA=500,I_MAX_MA=1500"
#==============================================================================
# chkValidCurrentSetOrDie.cmd
# Ensure running current is below max current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "1000>1500 or 1000<=0", "ecmcExit Error: Run current setpoint to high or negative...","# Run current setting OK (1000)...")
# Result:
# Run current setting OK (1000)...
epicsEnvUnset(ECMC_EXE_CMD)
# Ensure standby current is below max current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1500 or 500<0", "ecmcExit Error: Standby current setpoint to high or negative...","# Standby current setting OK (500)...")
# Result:
# Standby current setting OK (500)...
epicsEnvUnset(ECMC_EXE_CMD)
# Ensure standby current is below run current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1000", "ecmcExit Error: Standby current higher than run current...","# Standby current and run current setting OK (500<1000)...")
# Result:
# Standby current and run current setting OK (500<1000)...
epicsEnvUnset(ECMC_EXE_CMD)
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x1,1000,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x2,500,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x3,2400,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x4,175,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0x6,200,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(8,0x8010,0xA,330,2)"
epicsEnvUnset("I_RUN_MA_LOCAL")
epicsEnvUnset("I_STDBY_MA_LOCAL")
epicsEnvUnset("I_MAX_MA_LOCAL")
#Configure EL7037 stepper drive terminal, motor 2
ecmcEpicsEnvSetCalc(ECMC_EC_SLAVE_NUM, "8+1")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureSlave.cmd, "SLAVE_ID=9, HW_DESC=EL7037, CONFIG=-Motor-Nanotec-ST4118L1804-B"
#==============================================================================
# configureSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "9")
epicsEnvSet("HW_DESC", "EL7037")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addSlave.cmd "SLAVE_ID=9, HW_DESC=EL7037, NELM=1"
#==============================================================2022/01/31 14:35:57.897 OK
2022/01/31 14:35:58.012 OK
2022/01/31 14:35:58.092 12848
2022/01/31 14:35:58.093 OK
2022/01/31 14:35:58.093 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.094 OK
2022/01/31 14:35:58.095 OK
2022/01/31 14:35:58.095 OK
2022/01/31 14:35:58.095 OK
2022/01/31 14:35:58.095 OK
================
# addSlave.cmd
epicsEnvSet("ECMC_EC_SLAVE_NUM", "9")
epicsEnvSet("HW_DESC", "EL7037")
epicsEnvSet("P_SCRIPT", "mXsXXX")
# add ${HW_DESC} to the bus at position ${SLAVE_ID}
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037.cmd" "NELM=1"
epicsEnvSet("ECMC_EC_HWTYPE" "EL7037")
epicsEnvSet("ECMC_EC_VENDOR_ID" "0x2")
epicsEnvSet("ECMC_EC_PRODUCT_ID" "0x1b7d3052")
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/slaveVerify.cmd "RESET=true"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_VERIFY, "0==0", "","#- ")
ecmcConfigOrDie "Cfg.EcSlaveVerify(0,9,0x2,0x1b7d3052)"
ecmcEpicsEnvSetCalcTernary(ECMC_SLAVE_RESET, "true>0", "","#- ")
ecmcConfigOrDie "Cfg.EcWriteSdo(9,0x1011,0x1,1684107116,4)"
epicsEnvSet(ECMC_EC_SLAVE_FW, "0x0000")
ecmcConfig "EcReadSdo(9,0x100a,0x0,2)"
ecmcEpicsEnvSetCalc("ECMC_EC_SLAVE_FW", "12848", "0x%04x")
# Firmware version: 0x3230
epicsEnvUnset(ECMC_SLAVE_VERIFY)
epicsEnvUnset(ECMC_COMMENT)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEX70XX.cmd
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x01,16,encoderControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1600,0x7000,0x11,16,encoderValue01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1602,0x7010,0x1,16,driveControl01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,1,2,0x1604,0x7010,0x21,16,1,velocitySetpoint01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x0,16,encoderStatus01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x11,16,positionActual01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a00,0x6000,0x12,16,encoderLatchPostion01)"
ecmcConfigOrDie "Cfg.EcAddEntryComplete(9,0x2,0x1b7d3052,2,3,0x1a03,0x6010,0x1,16,driveStatus01)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x5,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0xA,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x8,1,1)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8012,0x9,0,1)"
# deduce what the prefix should be
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd",1)
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcmXsXXX.cmd" "MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037"
#==============================================================================
# ecmcmXsXXX.cmd
ecmcEpicsEnvSetCalc("sid", "9","%03d")
ecmcEpicsEnvSetCalc("mid", "0","%01d")
epicsEnvSet("ECMC_G", "IOC_TEST:m0s009")
epicsEnvSet("ECMC_P", "IOC_TEST:m0s009-")
epicsEnvUnset(sid)
epicsEnvUnset(mid)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SUBS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applySubstitutions.cmd" "SUBST_FILE=ecmcEL7037.substitutions,ECMC_P=IOC_TEST:m0s009-"
#==============================================================================
# applySubstitutions.cmd
ecmcFileExist(ecmcEL7037.substitutions,1,1)
dbLoadTemplate(ecmcEL7037.substitutions,"ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,NELM=1")
epicsEnvUnset(DEFAULT_SUBS)
ecmcEpicsEnvSetCalcTernary(DEFAULT_SLAVE_PVS, "True", "","#- ")
iocshLoad "/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyTemplate.cmd" "TEMPLATE_FILE=ecmcEcSlave.template,ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009"
#==============================================================================
# applyTemplate.cmd
ecmcFileExist(ecmcEcSlave.template,1,1)
dbLoadRecords("ecmcEcSlave.template", "ECMC_P=IOC_TEST:m0s009-,ECMC_G=IOC_TEST:m0s009,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,SLAVE_POS=9,HWTYPE=EL7037,T_SMP_MS=10,TSE=-2,")
epicsEnvUnset(DEFAULT_SLAVE_PVS)
# increment SLAVE_ID
ecmcEpicsEnvSetCalc("SLAVE_ID", "9+1","%d")
# apply config ${CONFIG} for ${HW_DESC}
e2022/01/31 14:35:58.104 OK
2022/01/31 14:35:58.104 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.105 OK
2022/01/31 14:35:58.106 OK
2022/01/31 14:35:58.106 OK
2022/01/31 14:35:58.106 OK
cmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmcEL7037-Motor-Nanotec-ST4118L1804-B.cmd ""
epicsEnvSet(I_MAX_MA_LOCAL,"1500")
epicsEnvSet(I_RUN_MA_LOCAL,1000)
epicsEnvSet(I_STDBY_MA_LOCAL,500)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/chkValidCurrentSetOrDie.cmd "I_RUN_MA=1000,I_STDBY_MA=500,I_MAX_MA=1500"
#==============================================================================
# chkValidCurrentSetOrDie.cmd
# Ensure running current is below max current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "1000>1500 or 1000<=0", "ecmcExit Error: Run current setpoint to high or negative...","# Run current setting OK (1000)...")
# Result:
# Run current setting OK (1000)...
epicsEnvUnset(ECMC_EXE_CMD)
# Ensure standby current is below max current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1500 or 500<0", "ecmcExit Error: Standby current setpoint to high or negative...","# Standby current setting OK (500)...")
# Result:
# Standby current setting OK (500)...
epicsEnvUnset(ECMC_EXE_CMD)
# Ensure standby current is below run current otherwise exit
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "500>1000", "ecmcExit Error: Standby current higher than run current...","# Standby current and run current setting OK (500<1000)...")
# Result:
# Standby current and run current setting OK (500<1000)...
epicsEnvUnset(ECMC_EXE_CMD)
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x1,1000,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x2,500,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x3,2400,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x4,175,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0x6,200,2)"
ecmcConfigOrDie "Cfg.EcAddSdo(9,0x8010,0xA,330,2)"
epicsEnvUnset("I_RUN_MA_LOCAL")
epicsEnvUnset("I_STDBY_MA_LOCAL")
epicsEnvUnset("I_MAX_MA_LOCAL")
#Apply hardware configuration
ecmcConfigOrDie "Cfg.EcApplyConfig(1)"
# ADDITIONAL SETUP
# Set all outputs to feed switches
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput01,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput02,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput03,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput04,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput05,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput06,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput07,1)"
ecmcConfigOrDie "Cfg.WriteEcEntryIDString(2,binaryOutput08,1)"
# END of ADDITIONAL SETUP
##############################################################################
## AXIS 1
#
epicsEnvSet("DEV", "IOC_TEST")
iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureAxis.cmd, CONFIG=./cfg/linear_1.ax)
#==============================================================================
# configureAxis.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")
epicsEnvUnset(ECMC_EXE_CMD)
epicsEnvSet("ECMC_PREFIX" "IOC_TEST:")
ecmcFileExist("./cfg/linear_1.ax",1)
iocshLoad ./cfg/linear_1.ax ""
#General
epicsEnvSet("ECMC_MOTOR_NAME", "Axis1")
epicsEnvSet("ECMC_AXIS_NO", "1")
epicsEnvSet("ECMC_DESC", "MCU1021 Lower Axis (1)")
epicsEnvSet("ECMC_EGU", "mm") # Motor Record Unit
epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision
epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver
epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0)
epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE)
epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance
#Encoder
epicsEnvSet("ECMC_ENC_SCALE_NUM" "-60")
epicsEnvSet("ECMC_ENC_SCALE_DENOM" "2000")
epicsEnvSet("ECMC_ENC_TYPE" "1") # Type: 0=Incremental, 1=Absolute
epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data
epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS
epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders)
epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s3.positionActual01") # Ethercat entry for actual position input (encoder)
epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty)
#Drive
epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. DS402: 1 (DS402 = servos and advanced stepper drives)
epicsEnvSet("ECMC_DRV_SCALE_NUM" "600.0") # Fastest speed in engineering units
epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET
epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s8.driveControl01.0") # Ethercat entry for control word or bit output
epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s8.driveStatus01.1") # Ethercat entry for status word or bit input
epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s8.velocitySetpoint01") # Ethercat entry for velocity setpoint output
epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s8.driveControl01.2") # Ethercat entry for reduce torque output
epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output
epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz)
epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz)
epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s8.driveControl01.1") # Reset
epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s8.driveStatus01.3") # Error
epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s8.driveStatus01.7") # Stall
epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s8.driveStatus01.14") # Sync error
epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s8.driveStatus01.2") # Warning
#Trajectory
epicsEnvSet("ECMC_TRAJ_TYPE" "1") # Trapetz: 0. S-Curve: 1
epicsEnvSet("ECMC_VELO", "10.0")
epicsEnvSet("ECMC_JOG_VEL", "5")
epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL
epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "10")
epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration
epicsEnvSet("ECMC_JERK", "10.0") # Only valid for ECMC_TRAJ_TYPE==1
#Homing
epicsEnvSet("ECMC_HOME_PROC", "3")
epicsEnvSet("ECMC_HOME_POS", "0.0")
epicsEnvSet("ECMC_HOME_VEL_TO", "5")
epicsEnvSet("ECMC_HOME_VEL_FRM", "4")
epicsEnvSet("ECMC_HOME_ACC", "21")
epicsEnvSet("ECMC_HOME_DEC", "100")
epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing
epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing
#Controller
epicsEnvSet("ECMC_CNTRL_KP", "15.0")
epicsEnvSet("ECMC_CNTRL_KI", "0.02")
epicsEnvSet("ECMC_CNTRL_KD", "0.0")
epicsEnvSet("ECMC_CNTRL_KFF", "1.0")
#Monitoring
# Switches
epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s1.binaryInput02.0") # Ethercat entry for low limit switch input
epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s1.binaryInput01.0") # Ethercat entry for high limit switch inpuit
epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s1.binaryInput03.0") # Ethercat entry for home switch input
epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s1.ONE.0") # Ethercat entry for external interlock input
# Softlimits (disable with 0,0,0)
epicsEnvSet("ECMC_SOFT_LOW_LIM", "-20")
epicsEnvSet("ECMC_SOFT_HIGH_LIM", "130")
epicsEnvSet("ECMC_DXLM_ENABLE", "1")
# Position lag
epicsEnvSet("ECMC_MON_LAG_MON_TOL", "1.0")
epicsEnvSet("ECMC_MON_LAG_MON_TIME", "10")
epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1")
# At target
epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.1")
epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100")
epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1")
# Velocity
epicsEnvSet("ECMC_MON_VELO_MAX", "100.0")
epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100")
epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200")
epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd
#==============================================================================
# addAxis.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd
#==============================================================================
# ecmc_axis-records.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd
#==============================================================================
# ecmc_axis.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(-60)<>0',SUCCESS_STR='ECMC_ENC_SCALE_NUM value OK == -60...',ERROR_STR='ECMC_ENC_SCALE_NUM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(-60)<>0","# ECMC_ENC_SCALE_NUM value OK == -60...", "ecmcExit Error: ECMC_ENC_SCALE_NUM == 0...")
# ECMC_ENC_SCALE_NUM value OK == -60...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(2000)<>0',SUCCESS_STR='ECMC_ENC_SCALE_DENOM value OK == 2000...',ERROR_STR='ECMC_ENC_SCALE_DENOM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(2000)<>0","# ECMC_ENC_SCALE_DENOM value OK == 2000...", "ecmcExit Error: ECMC_ENC_SCALE_DENOM == 0...")
# ECMC_ENC_SCALE_DENOM value OK == 2000...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(600.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_NUM value OK == 600.0...',ERROR_STR='ECMC_DRV_SCALE_NUM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(600.0)<>0","# ECMC_DRV_SCALE2022/01/31 14:35:58.115 OK
2022/01/31 14:35:58.115 OK
2022/01/31 14:35:58.115 OK
2022/01/31 14:35:58.115 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.118 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.119 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
_NUM value OK == 600.0...", "ecmcExit Error: ECMC_DRV_SCALE_NUM == 0...")
# ECMC_DRV_SCALE_NUM value OK == 600.0...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(32768.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_DENOM value OK == 32768.0...',ERROR_STR='ECMC_DRV_SCALE_DENOM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(32768.0)<>0","# ECMC_DRV_SCALE_DENOM value OK == 32768.0...", "ecmcExit Error: ECMC_DRV_SCALE_DENOM == 0...")
# ECMC_DRV_SCALE_DENOM value OK == 32768.0...
epicsEnvUnset(ECMC_EXE_CMD)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_MRES setting is deprecated and will not be used. (MRES will be calulated instead: ECMC_ENC_SCALE_NUM/ECMC_ENC_SCALE_DENOM).. '"
#==============================================================================
# issueWarning.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcConfigOrDie "Cfg.CreateAxis(1,1,0,1)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.health")"
ecmcConfigOrDie "Cfg.SetAxisModRange(1, 0)"
ecmcConfigOrDie "Cfg.SetAxisModType(1, 0)"
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_ACCL setting is deprecated. Please use ECMC_ACCS_EGU_PER_S2 instead..'"
#==============================================================================
# issueWarning.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCL,"'EMPTY'!='EMPTY'","", "#-")
ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCS,"'EMPTY'=='EMPTY'","", "#-")
ecmcConfigOrDie "Cfg.SetAxisAcc(1,10)"
ecmcConfigOrDie "Cfg.SetAxisDec(1,10)"
ecmcConfigOrDie "Cfg.SetAxisJerk(1,10.0)"
ecmcConfigOrDie "Cfg.SetAxisVel(1,10.0)"
ecmcConfigOrDie "Cfg.SetAxisEmergDeceleration(1,100)"
ecmcConfigOrDie "Cfg.SetAxisHomeVelTwordsCam(1,5)"
ecmcConfigOrDie "Cfg.SetAxisHomeVelOffCam(1,4)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKp(1,15.0)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKi(1,0.02)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKd(1,0.0)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKff(1,1.0)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s3.positionActual01,"ax1.enc.actpos")"
ecmcConfigOrDie "Cfg.SetAxisEncScaleDenom(1,2000)"
ecmcConfigOrDie "Cfg.SetAxisEncScaleNum(1,-60)"
ecmcConfigOrDie "Cfg.SetAxisEncType(1,1)"
ecmcConfigOrDie "Cfg.SetAxisEncBits(1,16)"
ecmcConfigOrDie "Cfg.SetAxisEncAbsBits(1,0)"
ecmcConfigOrDie "Cfg.SetAxisEncOffset(1,0)"
ecmcConfigOrDie "Cfg.SetAxisEncVelFilterSize(1,100)"
ecmcConfigOrDie "Cfg.SetAxisEncPosFilterSize(1,1)"
ecmcConfigOrDie "Cfg.SetAxisEncPosFilterEnable(1,0)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.reset")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm0")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm1")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.alarm2")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.warning")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchpos")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchcontrol")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.enc.latchstatus")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.0,"ax1.drv.control")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.1,"ax1.drv.status")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.velocitySetpoint01,"ax1.drv.velocity")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.drv.position")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax1.drv.brake")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl01.2,"ax1.drv.reducetorque")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveControl2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.120 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.121 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.122 OK
2022/01/31 14:35:58.123 OK
2022/01/31 14:35:58.123 OK
2022/01/31 14:35:58.123 OK
2022/01/31 14:35:58.123 OK
2022/01/31 14:35:58.123 OK
2022/01/31 14:35:58.123 ecmcMotorRecord:: setIntegerParam(1 motorPowerAutoOnOff_)=2
2022/01/31 14:35:58.123 ecmcMotorRecord:: setDoubleParam(1 motorPowerOnDelay_)=6
2022/01/31 14:35:58.123 ecmcMotorRecord:: setDoubleParam(1 motorPowerOffDelay_=-1
2022/01/31 14:35:58.124 ecmcMotorRecord:: udateMotorLimitsRO(1) enabledHighAndLow=1 valid=1 fValueHigh=130 fValueLow=-20
2022/01/31 14:35:58.124 ecmcMotorRecord:: connected(1)
2022/01/31 14:35:58.124 ecmcMotorRecord:: initialPoll(1) status=0
01.1,"ax1.drv.reset")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.3,"ax1.drv.alarm0")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.7,"ax1.drv.alarm1")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.14,"ax1.drv.alarm2")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s8.driveStatus01.2,"ax1.drv.warning")"
ecmcConfigOrDie "Cfg.SetAxisDrvScaleDenom(1,32768.0)"
ecmcConfigOrDie "Cfg.SetAxisDrvScaleNum(1,600.0)"
ecmcConfigOrDie "Cfg.SetAxisDrvBrakeOpenDelayTime(1,0)"
ecmcConfigOrDie "Cfg.SetAxisDrvBrakeCloseAheadTime(1,0)"
ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosBwd(1,-20)"
ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitBwd(1,1)"
ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosFwd(1,130)"
ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitFwd(1,1)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput02.0,"ax1.mon.lowlim")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput01.0,"ax1.mon.highlim")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput03.0,"ax1.mon.homesensor")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.ONE.0,"ax1.mon.extinterlock")"
ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTol(1,0.1)"
ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTime(1,100)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableAtTargetMon(1,1)"
ecmcConfigOrDie "Cfg.SetAxisMonPosLagTol(1,1.0)"
ecmcConfigOrDie "Cfg.SetAxisMonPosLagTime(1,10)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableLagMon(1,1)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVel(1,100.0)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableMaxVel(1,1)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVelDriveILDelay(1,200)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVelTrajILDelay(1,100)"
ecmcConfigOrDie "Cfg.SetAxisMonHomeSwitchPolarity(1,0)"
ecmcConfigOrDie "Cfg.SetAxisHomeLatchCountOffset(1,0.0)"
ecmcConfigOrDie "Cfg.SetAxisHomePosition(1,0.0)"
ecmcConfigOrDie "Cfg.SetAxisHomePostMoveEnable(1, 0)"
ecmcConfigOrDie "Cfg.SetAxisHomePostMoveTargetPosition(1, 0)"
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd
#==============================================================================
# ecmc_axis_mr.cmd
ecmcMotorRecordCreateAxis(MCU1, "1", "6", )
ecmcEpicsEnvSetCalc("ECMC_TEMP_SREV","if(abs(2000)>0){RESULT:=abs(2000);} else {RESULT:=1.0};","%d")
ecmcEpicsEnvSetCalc("ECMC_TEMP_UREV","if(abs(-60)>0){RESULT:=abs(-60);} else {RESULT:=1.0};","%lf")
ecmcFileExist(ecmcMotorRecord.template,1,1)
dbLoadRecords(ecmcMotorRecord.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis1, MOTOR_PORT=MCU1, AXIS_NO=1, DESC=MCU1021 Lower Axis (1), EGU=mm, PREC=3, VELO=10.0, JVEL=5, JAR=0.0, ACCS=10, RDBD=0.1, DLLM=-20, DHLM=130, HOMEPROC=3,SREV=2000,UREV=60.000000, ")
epicsEnvSet("ECMC_AXISFIELDINIT", "")
ecmcFileExist(ecmcMotorRecordhome.template,1,1)
dbLoadRecords(ecmcMotorRecordhome.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis1, MOTOR_PORT=MCU1, AXIS_NO=1,HOMEPROC=3, HOMEPOS=0.0, HVELTO=5, HVELFRM=4, HOMEACC=21, HOMEDEC=100")
epicsEnvUnset(ECMC_TEMP_SREV)
epicsEnvUnset(ECMC_TEMP_UREV)
epicsEnvUnset(ECMC_BLOCK_ACCL)
epicsEnvUnset(ECMC_BLOCK_ACCS)
ecmcFileExist("ecmcAxis.db",1,1)
dbLoadRecords("ecmcAxis.db","P=IOC_TEST:,AXIS_NAME=Axis1,AXIS_NO=1,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2")
ecmcFileExist("ecmcAxisType.db",1,1)
dbLoadRecords("ecmcAxisType.db","P=IOC_TEST:,AXIS_NAME=Axis1,AXIS_TYPE=1")
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd
#==============================================================================
# ecmc_axis_unset.cmd
epicsEnvUnset(ECMC_AXISCONFIG)
epicsEnvUnset(ECMC_AXISFIELDINIT)
epicsEnvUnset(ECMC_PREC)
epicsEnvUnset(ECMC_EGU)
epicsEnvUnset(ECMC_DESC)
epicsEnvUnset(ECMC_R)
epicsEnvUnset(ECMC_MOTOR_NAME)
epicsEnvUnset(ECMC_EC_AXIS_HEALTH)
epicsEnvUnset(ECMC_MOD_RANGE)
epicsEnvUnset(ECMC_MOD_TYPE)
epicsEnvUnset(ECMC_EMERG_DECEL)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_ACCL)
epicsEnvUnset(ECMC_ACCS_EGmacLib: macro ECMC_EXE_CMD is undefined (expanding string ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'${ECMC_MODE=FULL}'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")${ECMC_EXE_CMD})
macLib: macro ECMC_EXE_CMD is undefined (expanding string ${ECMC_EXE_CMD})
U_PER_S2)
epicsEnvUnset(ECMC_HOME_VEL_TO)
epicsEnvUnset(ECMC_HOME_VEL_FRM)
epicsEnvUnset(ECMC_CNTRL_KP)
epicsEnvUnset(ECMC_CNTRL_KI)
epicsEnvUnset(ECMC_CNTRL_KD)
epicsEnvUnset(ECMC_CNTRL_KFF)
epicsEnvUnset(ECMC_EC_ENC_ACTPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCHPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL)
epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS)
epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET)
epicsEnvUnset(ECMC_ENC_SCALE_DENOM)
epicsEnvUnset(ECMC_ENC_SCALE_NUM)
epicsEnvUnset(ECMC_ENC_TYPE)
epicsEnvUnset(ECMC_ENC_BITS)
epicsEnvUnset(ECMC_ENC_ABS_BITS)
epicsEnvUnset(ECMC_ENC_ABS_OFFSET)
epicsEnvUnset(ECMC_ENC_VEL_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE)
epicsEnvUnset(ECMC_EC_ENC_RESET)
epicsEnvUnset(ECMC_EC_ENC_ALARM_0)
epicsEnvUnset(ECMC_EC_ENC_ALARM_1)
epicsEnvUnset(ECMC_EC_ENC_ALARM_2)
epicsEnvUnset(ECMC_EC_ENC_WARNING)
epicsEnvUnset(ECMC_EC_DRV_CONTROL)
epicsEnvUnset(ECMC_EC_DRV_STATUS)
epicsEnvUnset(ECMC_EC_DRV_VELOCITY)
epicsEnvUnset(ECMC_EC_DRV_BRAKE)
epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE)
epicsEnvUnset(ECMC_EC_DRV_RESET)
epicsEnvUnset(ECMC_EC_DRV_ALARM_0)
epicsEnvUnset(ECMC_EC_DRV_ALARM_1)
epicsEnvUnset(ECMC_EC_DRV_ALARM_2)
epicsEnvUnset(ECMC_EC_DRV_WARNING)
epicsEnvUnset(ECMC_DRV_SCALE_DENOM)
epicsEnvUnset(ECMC_DRV_SCALE_NUM)
epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME)
epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_EC_MON_LOWLIM)
epicsEnvUnset(ECMC_EC_MON_HIGHLIM)
epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH)
epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK)
epicsEnvUnset(ECMC_MON_AT_TARGET_TOL)
epicsEnvUnset(ECMC_MON_AT_TARGET_TIME)
epicsEnvUnset(ECMC_MON_AT_TARGET_ENA)
epicsEnvUnset(ECMC_MON_LAG_MON_TOL)
epicsEnvUnset(ECMC_MON_LAG_MON_TIME)
epicsEnvUnset(ECMC_MON_LAG_MON_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX)
epicsEnvUnset(ECMC_MON_VELO_MAX_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME)
epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME)
epicsEnvUnset(ECMC_JOG_VEL)
epicsEnvUnset(ECMC_JAR)
epicsEnvUnset(ECMC_HOME_PROC)
epicsEnvUnset(ECMC_HOME_POS)
epicsEnvUnset(ECMC_HOME_ACC)
epicsEnvUnset(ECMC_HOME_DEC)
epicsEnvUnset(ECMC_DRV_TYPE)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA)
epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS)
epicsEnvUnset(ECMC_TRAJ_TYPE)
epicsEnvUnset(ECMC_JERK)
epicsEnvSet("ECMC_PREFIX" "IOC_TEST:")
# Set external setpoints
iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyAxisSynchronization.cmd, CONFIG=./cfg/linear_1.sax)
#==============================================================================
# applyAxisSynchronization.cmd
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad ./cfg/linear_1.sax
############# Encoder
epicsEnvSet("ECMC_ENC_SOURCE", "0") # 0 Internal (from hardware), 1 from PLC
epicsEnvSet("ECMC_ENC_VELO_FILT_ENABLE", "1") # Enable velocity filter
epicsEnvSet("ECMC_ENC_VELO_FILT_SIZE", "20") # Encoder velocity Low pass filter size
############# Trajectory
epicsEnvSet("ECMC_TRAJ_SOURCE", "1") # 0 Internal (from hardware), 1 from PLC
epicsEnvSet("ECMC_TRAJ_VELO_FILT_ENABLE", "1") # Enable velocity filter
epicsEnvSet("ECMC_TRAJ_VELO_FILT_SIZE", "20") # Trajectory velocity Low pass filter size
############# Commands
epicsEnvSet("ECMC_CMD_FRM_OTHER_PLC_ENABLE", "1") # Allow commands from PLC
epicsEnvSet("ECMC_CMD_AXIS_PLC_ENABLE", "0") # Enable Axis PLC
# Each line below is appended to one single expression/source.
# Executed in sync with axis (before)
epicsEnvSet("ECMC_AXIS_EXPR_LINE_1", "var a:=1|")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_2", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_3", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_4", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_5", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_6", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_7", "2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.137 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.138 OK
2022/01/31 14:35:58.139 OK
")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_8", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_9", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_10", "")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd
#==============================================================================
# ecmc_axis_sync.cmd
ecmcConfigOrDie "Cfg.SetAxisAllowCommandsFromPLC(1,1)"
ecmcConfigOrDie "Cfg.SetAxisPLCEnable(1,0)"
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)=var a:=1|"
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(1)="
ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterSize(1,20)"
ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterEnable(1,1)"
ecmcConfigOrDie "Cfg.SetAxisEncSourceType(1,0)"
ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterSize(1,20)"
ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterEnable(1,1)"
ecmcConfigOrDie "Cfg.SetAxisTrajSourceType(1,1)"
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd
#==============================================================================
# ecmc_axis_sync_unset.cmd
epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE)
epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10)
epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_ENC_SOURCE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_TRAJ_SOURCE)
##############################################################################
## AXIS 2
#
#epicsEnvSet("DEV", "$(IOC)")
iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/configureAxis.cmd, CONFIG=./cfg/linear_2.ax)
#==============================================================================
# configureAxis.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")
epicsEnvUnset(ECMC_EXE_CMD)
epicsEnvSet("ECMC_PREFIX" "IOC_TEST:")
ecmcFileExist("./cfg/linear_2.ax",1)
iocshLoad ./cfg/linear_2.ax ""
#General
epicsEnvSet("ECMC_MOTOR_NAME", "Axis2")
epicsEnvSet("ECMC_R", "Axis2-")
epicsEnvSet("ECMC_AXIS_NO", "2")
epicsEnvSet("ECMC_DESC", "MCU1021 Upper Axis (2)")
epicsEnvSet("ECMC_EGU", "mm") # Motor Record Unit
epicsEnvSet("ECMC_PREC", "3") # Motor Record Precision
epicsEnvSet("ECMC_AXISCONFIG", "") # Extra parameters to driver
epicsEnvSet("ECMC_EC_AXIS_HEALTH", "") # Entry for axis health output (example: ec0.s1.binaryOutput01.0)
epicsEnvSet("ECMC_MOD_RANGE" , "0") # Modulo range (traj setpoints and encoder values will be in range 0..ECMC_MOD_RANGE)
epicsEnvSet("ECMC_MOD_TYPE", "0") # For positioning and MOD_RANGE>0: 0 = Normal, 1 = Always Fwd, 2 = Always Bwd, 3 = Closest Distance
#Encoder
epicsEnvSet("ECMC_ENC_SCALE_NUM" "60")
epicsEnvSet("ECMC_ENC_SCALE_DENOM" "2000")
epicsEnvSet("ECMC_ENC_TYPE" "0") # Type: 0=Incremental, 1=Absolute
epicsEnvSet("ECMC_ENC_BITS" "16") # Total bit count of encoder raw data
epicsEnvSet("ECMC_ENC_ABS_BITS", "0") # Absolute bit count (for absolute encoders) always least significant part of ECMC_ENC_BITS
epicsEnvSet("ECMC_ENC_ABS_OFFSET" "0") # Encoder offset in eng units (for absolute encoders)
epicsEnvSet("ECMC_EC_ENC_ACTPOS", "ec0.s4.positionActual01") # Ethercat entry for actual position input (encoder)
epicsEnvSet("ECMC_EC_ENC_RESET", "") # Reset (if no encoder reset bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_0", "") # Error 0 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_1", "") # Error 1 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_ALARM_2", "") # Error 2 (if no encoder error bit then leave empty)
epicsEnvSet("ECMC_EC_ENC_WARNING", "") # Warning (if no encoder warning bit then leave empty)
#Drive
epicsEnvSet("ECMC_DRV_TYPE" "0") # Stepper: 0. DS402: 1 (DS402 = servos and advanced stepper drives)
epicsEnvSet("ECMC_DRV_SCALE_NUM" "-600.0") # Fastest speed in engineering units
epicsEnvSet("ECMC_DRV_SCALE_DENOM" "32768.0") # I/O range for ECMC_EC_ALIAS_DRV_VELO_SET
epicsEnvSet("ECMC_EC_DRV_CONTROL", "ec0.s9.driveControl01.0") # Ethercat entry for control word or bit output
epicsEnvSet("ECMC_EC_DRV_STATUS", "ec0.s9.driveStatus01.1") # Ethercat entry for status word or bit input
epicsEnvSet("ECMC_EC_DRV_VELOCITY", "ec0.s9.velocitySetpoint01") # Ethercat entry for velocity setpoint output
epicsEnvSet("ECMC_EC_DRV_REDUCE_TORQUE", "ec0.s9.driveControl01.2") # Ethercat entry for reduce torque output
epicsEnvSet("ECMC_EC_DRV_BRAKE", "") # Ethercat entry for brake output
epicsEnvSet("ECMC_DRV_BRAKE_OPEN_DLY_TIME", "0") # Brake timing parameter in cycles (default 1kHz)
epicsEnvSet("ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME", "0") # Brake timing parameter in cycles (default 1kHz)
epicsEnvSet("ECMC_EC_DRV_RESET", "ec0.s9.driveControl01.1") # Reset
epicsEnvSet("ECMC_EC_DRV_ALARM_0", "ec0.s9.driveStatus01.3") # Error
epicsEnvSet("ECMC_EC_DRV_ALARM_1", "ec0.s9.driveStatus01.7") # Stall
epicsEnvSet("ECMC_EC_DRV_ALARM_2", "ec0.s9.driveStatus01.14") # Sync error
epicsEnvSet("ECMC_EC_DRV_WARNING", "ec0.s9.driveStatus01.2") # Warning
#Trajectory
epicsEnvSet("ECMC_VELO", "10.0")
epicsEnvSet("ECMC_JOG_VEL", "5")
epicsEnvSet("ECMC_JAR", "0.0") # JAR defaults to VELO/ACCL
epicsEnvSet("ECMC_ACCS_EGU_PER_S2", "10")
epicsEnvSet("ECMC_EMERG_DECEL", "100") # Emergency deceleration
#Homing
epicsEnvSet("ECMC_HOME_PROC", "3")
epicsEnvSet("ECMC_HOME_POS", "0.0")
epicsEnvSet("ECMC_HOME_VEL_TO", "5")
epicsEnvSet("ECMC_HOME_VEL_FRM", "4")
epicsEnvSet("ECMC_HOME_ACC", "21")
epicsEnvSet("ECMC_HOME_DEC", "100")
epicsEnvSet("ECMC_HOME_POS_MOVE_ENA", "0") # Enable move to position after successfull homing
epicsEnvSet("ECMC_HOME_POS_MOVE_TARG_POS","0") # Target position to go to after successfull homing
#Controller
epicsEnvSet("ECMC_CNTRL_KP", "15.0")
epicsEnvSet("ECMC_CNTRL_KI", "0.02")
epicsEnvSet("ECMC_CNTRL_KD", "0.0")
epicsEnvSet("ECMC_CNTRL_KFF", "1.0")
#Monitoring
# Switches
epicsEnvSet("ECMC_EC_MON_LOWLIM", "ec0.s1.binaryInput06.0") # Ethercat entry for low limit switch input
epicsEnvSet("ECMC_EC_MON_HIGHLIM", "ec0.s1.binaryInput05.0") # Ethercat entry for high limit switch inpuit
epicsEnvSet("ECMC_EC_MON_HOME_SWITCH", "ec0.s1.binaryInput07.0") # Ethercat entry for home switch input
epicsEnvSet("ECMC_EC_MON_EXT_INTERLOCK", "ec0.s0.ONE.0") # Ethercat entry for external interlock input
# Softlimits (disable with 0,0)
epicsEnvSet("ECMC_SOFT_LOW_LIM", "-130")
epicsEnvSet("ECMC_SOFT_HIGH_LIM", "20")
epicsEnvSet("ECMC_DXLM_ENABLE", "1")
# Position lag
epicsEnvSet("ECMC_MON_LAG_MON_TOL", "1.0")
epicsEnvSet("ECMC_MON_LAG_MON_TIME", "10")
epicsEnvSet("ECMC_MON_LAG_MON_ENA", "1")
# At target
epicsEnvSet("ECMC_MON_AT_TARGET_TOL", "0.1")
epicsEnvSet("ECMC_MON_AT_TARGET_TIME", "100")
epicsEnvSet("ECMC_MON_AT_TARGET_ENA", "1")
# Velocity
epicsEnvSet("ECMC_MON_VELO_MAX", "100.0")
epicsEnvSet("ECMC_MON_VELO_MAX_TRAJ_TIME","100")
epicsEnvSet("ECMC_MON_VELO_MAX_DRV_TIME", "200")
epicsEnvSet("ECMC_MON_VELO_MAX_ENA", "1")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/addAxis.cmd
#==============================================================================
# addAxis.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'FULL'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis-records.cmd
#==============================================================================
# ecmc_axis-records.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis.cmd
#==============================================================================
# ecmc_axis.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(60)<>0',SUCCESS_STR='ECMC_ENC_SCALE_NUM value OK == 60...',ERROR_STR='ECMC_ENC_SCALE_NUM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(60)<>0","# ECMC_ENC_SCALE_NUM value OK == 60...", "ecmcExit Error: ECMC_ENC_SCALE_NUM == 0...")
# ECMC_ENC_SCALE_NUM value OK == 60...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(2000)<>0',SUCCESS_STR='ECMC_ENC_SCALE_DENOM value OK == 2000...',ERROR_STR='ECMC_ENC_SCALE_DENOM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(2000)<>0","# ECMC_ENC_SCALE_DENOM value OK == 2000...", "ecmcExit Error: ECMC_ENC_SCALE_DENOM == 0...")
# ECMC_ENC_SCALE_DENOM value OK == 2000...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(-600.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_NUM value OK == -600.0...',ERROR_STR='ECMC_DRV_SCALE_NUM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(-600.0)<>0","# ECMC_DRV_SCALE_NUM value OK == -600.0...", "ecmcExit Error: ECMC_DRV_SCALE_NUM == 0...")
# ECMC_DRV_SCALE_NUM value OK == -600.0...
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/verifyOrDie.cmd "EXPR_STR='abs(32768.0)<>0',SUCCESS_STR='ECMC_DRV_SCALE_DENOM value OK == 32768.0...',ERROR_STR='ECMC_DRV_SCALE_DENOM == 0...'"
#==============================================================================
# verifyOrDie.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"abs(32768.0)<>0","# ECMC_DRV_SCALE_DENOM value OK == 32768.0...", "ecmcExit Error: ECMC_DRV_SCALE_2022/01/31 14:35:58.151 OK
2022/01/31 14:35:58.151 OK
2022/01/31 14:35:58.151 OK
2022/01/31 14:35:58.151 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.154 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.155 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.156 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
2022/01/31 14:35:58.157 OK
DENOM == 0...")
# ECMC_DRV_SCALE_DENOM value OK == 32768.0...
epicsEnvUnset(ECMC_EXE_CMD)
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_MRES setting is deprecated and will not be used. (MRES will be calulated instead: ECMC_ENC_SCALE_NUM/ECMC_ENC_SCALE_DENOM).. '"
#==============================================================================
# issueWarning.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcConfigOrDie "Cfg.CreateAxis(2,1,0,0)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.health")"
ecmcConfigOrDie "Cfg.SetAxisModRange(2, 0)"
ecmcConfigOrDie "Cfg.SetAxisModType(2, 0)"
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/issueWarning.cmd "EXPR_STR='-1>0',WARNING_STR='WARNING: ECMC_ACCL setting is deprecated. Please use ECMC_ACCS_EGU_PER_S2 instead..'"
#==============================================================================
# issueWarning.cmd
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD,"-1>0","", "#-")
epicsEnvUnset(ECMC_EXE_CMD)
ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCL,"'EMPTY'!='EMPTY'","", "#-")
ecmcEpicsEnvSetCalcTernary(ECMC_BLOCK_ACCS,"'EMPTY'=='EMPTY'","", "#-")
ecmcConfigOrDie "Cfg.SetAxisAcc(2,10)"
ecmcConfigOrDie "Cfg.SetAxisDec(2,10)"
ecmcConfigOrDie "Cfg.SetAxisJerk(2,0)"
ecmcConfigOrDie "Cfg.SetAxisVel(2,10.0)"
ecmcConfigOrDie "Cfg.SetAxisEmergDeceleration(2,100)"
ecmcConfigOrDie "Cfg.SetAxisHomeVelTwordsCam(2,5)"
ecmcConfigOrDie "Cfg.SetAxisHomeVelOffCam(2,4)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKp(2,15.0)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKi(2,0.02)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKd(2,0.0)"
ecmcConfigOrDie "Cfg.SetAxisCntrlKff(2,1.0)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s4.positionActual01,"ax2.enc.actpos")"
ecmcConfigOrDie "Cfg.SetAxisEncScaleDenom(2,2000)"
ecmcConfigOrDie "Cfg.SetAxisEncScaleNum(2,60)"
ecmcConfigOrDie "Cfg.SetAxisEncType(2,0)"
ecmcConfigOrDie "Cfg.SetAxisEncBits(2,16)"
ecmcConfigOrDie "Cfg.SetAxisEncAbsBits(2,0)"
ecmcConfigOrDie "Cfg.SetAxisEncOffset(2,0)"
ecmcConfigOrDie "Cfg.SetAxisEncVelFilterSize(2,100)"
ecmcConfigOrDie "Cfg.SetAxisEncPosFilterSize(2,1)"
ecmcConfigOrDie "Cfg.SetAxisEncPosFilterEnable(2,0)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.reset")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm0")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm1")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.alarm2")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.warning")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchpos")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchcontrol")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.enc.latchstatus")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.0,"ax2.drv.control")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.1,"ax2.drv.status")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.velocitySetpoint01,"ax2.drv.velocity")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.drv.position")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(,"ax2.drv.brake")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.2,"ax2.drv.reducetorque")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveControl01.1,"ax2.drv.reset")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.3,"ax2.drv.alarm0")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.7,"ax2.drv.alarm1")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.14,"ax2.drv.alarm2")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s9.driveStatus01.2,"ax2.drv.warning")"
ecmcConfigOrDie "Cfg.SetAxisDrvScaleDenom(2,32768.0)"
ecmcConfigOrDie "Cfg.SetAxisDrvScaleNum(2,-600.0)"
ecmcConfigOrDie "Cfg.SetAxisDrvBrakeOpenDelayTime(2,0)"
ecmcConfigOrDie "Cfg.SetAxisDrvBrakeCloseAheadTime(2,0)"
ecmcConfigOrDie "Cfg.SetAxis2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.158 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.159 OK
2022/01/31 14:35:58.160 OK
2022/01/31 14:35:58.160 ecmcMotorRecord:: setIntegerParam(2 motorPowerAutoOnOff_)=2
2022/01/31 14:35:58.160 ecmcMotorRecord:: setDoubleParam(2 motorPowerOnDelay_)=6
2022/01/31 14:35:58.160 ecmcMotorRecord:: setDoubleParam(2 motorPowerOffDelay_=-1
2022/01/31 14:35:58.160 ecmcMotorRecord:: udateMotorLimitsRO(2) enabledHighAndLow=1 valid=1 fValueHigh=20 fValueLow=-130
2022/01/31 14:35:58.161 ecmcMotorRecord:: connected(2)
2022/01/31 14:35:58.161 ecmcMotorRecord:: initialPoll(2) status=0
SoftLimitPosBwd(2,-130)"
ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitBwd(2,1)"
ecmcConfigOrDie "Cfg.SetAxisSoftLimitPosFwd(2,20)"
ecmcConfigOrDie "Cfg.SetAxisEnableSoftLimitFwd(2,1)"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput06.0,"ax2.mon.lowlim")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput05.0,"ax2.mon.highlim")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s1.binaryInput07.0,"ax2.mon.homesensor")"
ecmcConfigOrDie "Cfg.LinkEcEntryToObject(ec0.s0.ONE.0,"ax2.mon.extinterlock")"
ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTol(2,0.1)"
ecmcConfigOrDie "Cfg.SetAxisMonAtTargetTime(2,100)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableAtTargetMon(2,1)"
ecmcConfigOrDie "Cfg.SetAxisMonPosLagTol(2,1.0)"
ecmcConfigOrDie "Cfg.SetAxisMonPosLagTime(2,10)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableLagMon(2,1)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVel(2,100.0)"
ecmcConfigOrDie "Cfg.SetAxisMonEnableMaxVel(2,1)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVelDriveILDelay(2,200)"
ecmcConfigOrDie "Cfg.SetAxisMonMaxVelTrajILDelay(2,100)"
ecmcConfigOrDie "Cfg.SetAxisMonHomeSwitchPolarity(2,0)"
ecmcConfigOrDie "Cfg.SetAxisHomeLatchCountOffset(2,0.0)"
ecmcConfigOrDie "Cfg.SetAxisHomePosition(2,0.0)"
ecmcConfigOrDie "Cfg.SetAxisHomePostMoveEnable(2, 0)"
ecmcConfigOrDie "Cfg.SetAxisHomePostMoveTargetPosition(2, 0)"
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_mr.cmd
#==============================================================================
# ecmc_axis_mr.cmd
ecmcMotorRecordCreateAxis(MCU1, "2", "6", )
ecmcEpicsEnvSetCalc("ECMC_TEMP_SREV","if(abs(2000)>0){RESULT:=abs(2000);} else {RESULT:=1.0};","%d")
ecmcEpicsEnvSetCalc("ECMC_TEMP_UREV","if(abs(60)>0){RESULT:=abs(60);} else {RESULT:=1.0};","%lf")
ecmcFileExist(ecmcMotorRecord.template,1,1)
dbLoadRecords(ecmcMotorRecord.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis2, MOTOR_PORT=MCU1, AXIS_NO=2, DESC=MCU1021 Upper Axis (2), EGU=mm, PREC=3, VELO=10.0, JVEL=5, JAR=0.0, ACCS=10, RDBD=0.1, DLLM=-130, DHLM=20, HOMEPROC=3,SREV=2000,UREV=60.000000, ")
epicsEnvSet("ECMC_AXISFIELDINIT", "")
ecmcFileExist(ecmcMotorRecordhome.template,1,1)
dbLoadRecords(ecmcMotorRecordhome.template, "PREFIX=IOC_TEST:, MOTOR_NAME=Axis2, MOTOR_PORT=MCU1, AXIS_NO=2,HOMEPROC=3, HOMEPOS=0.0, HVELTO=5, HVELFRM=4, HOMEACC=21, HOMEDEC=100")
epicsEnvUnset(ECMC_TEMP_SREV)
epicsEnvUnset(ECMC_TEMP_UREV)
epicsEnvUnset(ECMC_BLOCK_ACCL)
epicsEnvUnset(ECMC_BLOCK_ACCS)
ecmcFileExist("ecmcAxis.db",1,1)
dbLoadRecords("ecmcAxis.db","P=IOC_TEST:,AXIS_NAME=Axis2,AXIS_NO=2,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2")
ecmcFileExist("ecmcAxisType.db",1,1)
dbLoadRecords("ecmcAxisType.db","P=IOC_TEST:,AXIS_NAME=Axis2,AXIS_TYPE=1")
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_unset.cmd
#==============================================================================
# ecmc_axis_unset.cmd
epicsEnvUnset(ECMC_AXISCONFIG)
epicsEnvUnset(ECMC_AXISFIELDINIT)
epicsEnvUnset(ECMC_PREC)
epicsEnvUnset(ECMC_EGU)
epicsEnvUnset(ECMC_DESC)
epicsEnvUnset(ECMC_R)
epicsEnvUnset(ECMC_MOTOR_NAME)
epicsEnvUnset(ECMC_EC_AXIS_HEALTH)
epicsEnvUnset(ECMC_MOD_RANGE)
epicsEnvUnset(ECMC_MOD_TYPE)
epicsEnvUnset(ECMC_EMERG_DECEL)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_ACCL)
epicsEnvUnset(ECMC_ACCS_EGU_PER_S2)
epicsEnvUnset(ECMC_HOME_VEL_TO)
epicsEnvUnset(ECMC_HOME_VEL_FRM)
epicsEnvUnset(ECMC_CNTRL_KP)
epicsEnvUnset(ECMC_CNTRL_KI)
epicsEnvUnset(ECMC_CNTRL_KD)
epicsEnvUnset(ECMC_CNTRL_KFF)
epicsEnvUnset(ECMC_EC_ENC_ACTPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCHPOS)
epicsEnvUnset(ECMC_EC_ENC_LATCH_CONTROL)
epicsEnvUnset(ECMC_EC_ENC_LATCH_STATUS)
epicsEnvUnset(ECMC_HOME_LATCH_COUNT_OFFSET)
epicsEnvUnset(ECMC_ENC_SCALE_DENOM)
epicsEnvUnset(ECMC_ENC_SCALE_NUM)
epicsEnvUnset(ECMC_ENC_TYPE)
epicsEnvUnset(ECMC_ENC_BITS)
epicsEnvUnset(ECMC_ENC_ABS_BITS)
epicsEnvUnset(ECMC_ENC_ABS_OFFSET)
epicsEnvUnset(ECMC_ENmacLib: macro ECMC_EXE_CMD is undefined (expanding string ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, "'${ECMC_MODE=FULL}'='DAQ'","ecmcExit Error: ECMC started in DAQ mode. Motion not supported..","#-")${ECMC_EXE_CMD})
macLib: macro ECMC_EXE_CMD is undefined (expanding string ${ECMC_EXE_CMD})
2022/01/31 14:35:58.172 OK
2022/01/31 14:35:58.172 OK
2022/01/31 14:35:58.173 OK
C_VEL_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_SIZE)
epicsEnvUnset(ECMC_ENC_POS_FILTER_ENABLE)
epicsEnvUnset(ECMC_EC_ENC_RESET)
epicsEnvUnset(ECMC_EC_ENC_ALARM_0)
epicsEnvUnset(ECMC_EC_ENC_ALARM_1)
epicsEnvUnset(ECMC_EC_ENC_ALARM_2)
epicsEnvUnset(ECMC_EC_ENC_WARNING)
epicsEnvUnset(ECMC_EC_DRV_CONTROL)
epicsEnvUnset(ECMC_EC_DRV_STATUS)
epicsEnvUnset(ECMC_EC_DRV_VELOCITY)
epicsEnvUnset(ECMC_EC_DRV_BRAKE)
epicsEnvUnset(ECMC_EC_DRV_REDUCE_TORQUE)
epicsEnvUnset(ECMC_EC_DRV_RESET)
epicsEnvUnset(ECMC_EC_DRV_ALARM_0)
epicsEnvUnset(ECMC_EC_DRV_ALARM_1)
epicsEnvUnset(ECMC_EC_DRV_ALARM_2)
epicsEnvUnset(ECMC_EC_DRV_WARNING)
epicsEnvUnset(ECMC_DRV_SCALE_DENOM)
epicsEnvUnset(ECMC_DRV_SCALE_NUM)
epicsEnvUnset(ECMC_DRV_BRAKE_OPEN_DLY_TIME)
epicsEnvUnset(ECMC_DRV_BRAKE_CLOSE_AHEAD_TIME)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_DXLM_ENABLE)
epicsEnvUnset(ECMC_EC_MON_LOWLIM)
epicsEnvUnset(ECMC_EC_MON_HIGHLIM)
epicsEnvUnset(ECMC_EC_MON_HOME_SWITCH)
epicsEnvUnset(ECMC_EC_MON_EXT_INTERLOCK)
epicsEnvUnset(ECMC_MON_AT_TARGET_TOL)
epicsEnvUnset(ECMC_MON_AT_TARGET_TIME)
epicsEnvUnset(ECMC_MON_AT_TARGET_ENA)
epicsEnvUnset(ECMC_MON_LAG_MON_TOL)
epicsEnvUnset(ECMC_MON_LAG_MON_TIME)
epicsEnvUnset(ECMC_MON_LAG_MON_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX)
epicsEnvUnset(ECMC_MON_VELO_MAX_ENA)
epicsEnvUnset(ECMC_MON_VELO_MAX_DRV_TIME)
epicsEnvUnset(ECMC_MON_VELO_MAX_TRAJ_TIME)
epicsEnvUnset(ECMC_JOG_VEL)
epicsEnvUnset(ECMC_JAR)
epicsEnvUnset(ECMC_HOME_PROC)
epicsEnvUnset(ECMC_HOME_POS)
epicsEnvUnset(ECMC_HOME_ACC)
epicsEnvUnset(ECMC_HOME_DEC)
epicsEnvUnset(ECMC_DRV_TYPE)
epicsEnvUnset(ECMC_VELO)
epicsEnvUnset(ECMC_SOFT_LOW_LIM)
epicsEnvUnset(ECMC_SOFT_HIGH_LIM)
epicsEnvUnset(ECMC_HOME_POS_MOVE_ENA)
epicsEnvUnset(ECMC_HOME_POS_MOVE_TARG_POS)
epicsEnvUnset(ECMC_TRAJ_TYPE)
epicsEnvUnset(ECMC_JERK)
epicsEnvSet("ECMC_PREFIX" "IOC_TEST:")
# Set external setpoints
iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/applyAxisSynchronization.cmd, CONFIG=./cfg/linear_2.sax)
#==============================================================================
# applyAxisSynchronization.cmd
epicsEnvUnset(ECMC_EXE_CMD)
iocshLoad ./cfg/linear_2.sax
############# Encoder
epicsEnvSet("ECMC_ENC_SOURCE", "0") # 0 Internal (from hardware), 1 from PLC
epicsEnvSet("ECMC_ENC_VELO_FILT_ENABLE", "1") # Enable velocity filter
epicsEnvSet("ECMC_ENC_VELO_FILT_SIZE", "20") # Encoder velocity Low pass filter size
############# Trajectory
epicsEnvSet("ECMC_TRAJ_SOURCE", "1") # 0 Internal (from hardware), 1 from PLC
epicsEnvSet("ECMC_TRAJ_VELO_FILT_ENABLE", "1") # Enable velocity filter
epicsEnvSet("ECMC_TRAJ_VELO_FILT_SIZE", "20") # Trajectory velocity Low pass filter size
############# Commands
epicsEnvSet("ECMC_CMD_FRM_OTHER_PLC_ENABLE", "1") # Allow commands from PLC
epicsEnvSet("ECMC_CMD_AXIS_PLC_ENABLE", "0") # Enable Axis PLC
# Each line below is appended to one single expression/source.
# Executed in sync with axis (before)
epicsEnvSet("ECMC_AXIS_EXPR_LINE_1", "var a:=1|")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_2", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_3", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_4", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_5", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_6", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_7", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_8", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_9", "")
epicsEnvSet("ECMC_AXIS_EXPR_LINE_10", "")
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync.cmd
#==============================================================================
# ecmc_axis_sync.cmd
ecmcConfigOrDie "Cfg.SetAxisAllowCommandsFromPLC(2,1)"
ecmcConfigOrDie "Cfg.SetAxisPLCEnable(2,0)"
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)=var a:=1|"
2022/01/31 14:35:58.173 OK
2022/01/31 14:35:58.173 OK
2022/01/31 14:35:58.173 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
2022/01/31 14:35:58.174 OK
epicsMutex pthread_mutex_unlock epicsMutexOsdUnlock failed: error Operation not permitted
epicsMutex pthread_mutex_unlock epicsMutexOsdUnlock failed: error Operation not permitted
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.AppendAxisPLCExpr(2)="
ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterSize(2,20)"
ecmcConfigOrDie "Cfg.SetAxisPLCEncVelFilterEnable(2,1)"
ecmcConfigOrDie "Cfg.SetAxisEncSourceType(2,0)"
ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterSize(2,20)"
ecmcConfigOrDie "Cfg.SetAxisPLCTrajVelFilterEnable(2,1)"
ecmcConfigOrDie "Cfg.SetAxisTrajSourceType(2,1)"
ecmcFileExist(/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd,1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/ecmc_axis_sync_unset.cmd
#==============================================================================
# ecmc_axis_sync_unset.cmd
epicsEnvUnset(ECMC_CMD_FRM_OTHER_PLC_ENABLE)
epicsEnvUnset(ECMC_CMD_AXIS_PLC_ENABLE)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_1)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_2)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_3)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_4)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_5)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_6)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_7)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_8)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_9)
epicsEnvUnset(ECMC_AXIS_EXPR_LINE_10)
epicsEnvUnset(ECMC_ENC_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_ENC_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_ENC_SOURCE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_SIZE)
epicsEnvUnset(ECMC_TRAJ_VELO_FILT_ENABLE)
epicsEnvUnset(ECMC_TRAJ_SOURCE)
##############################################################################
## Load plugin:
epicsEnvSet("PLUGIN_VER" ,"develop")
require ecmc_plugin_grbl develop
Module ecmc_plugin_grbl version develop found in /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/
Module ecmc_plugin_grbl depends on asyn 4.41.0
Module asyn version 4.41.0 already loaded
Module ecmc_plugin_grbl depends on ecmc ruckig
Module ecmc version ruckig already loaded
Loading library /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so
Loaded ecmc_plugin_grbl version develop
Loading dbd file /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/dbd/ecmc_plugin_grbl.dbd
Calling function ecmc_plugin_grbl_registerRecordDeviceDriver
Loading module info records for ecmc_plugin_grbl
epicsEnvSet(ECMC_PLUGIN_FILNAME,"/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so")
epicsEnvSet(ECMC_PLUGIN_CONFIG,"DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;") # Only one option implemented in this plugin
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/loadPlugin.cmd, "PLUGIN_ID=0,FILE=/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so,CONFIG='DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;', REPORT=1"
#==============================================================================
# loadPlugin.cmd
ecmcConfigOrDie "Cfg.LoadPlugin(0,/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so,DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;)"
../ecmc_plugin_grbl/ecmcGrbl.cpp:doMainWorker:390
../grbl/grbl_serial.c:serial_init:108:
../grbl/grbl_eeprom.c:ecmc_init_file:53
../ecmc_plugin_grbl/ecmcGrbl.cpp:doWriteWorker:275
GRBL: INFO: Waiting for grbl init..../grbl/grbl_settings.c:settings_restore:132 settings_restore complete!!!..
../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file..
../grbl/grbl_stepper.c:stepper_init:605:
../grbl/grbl_system.c:system_init:26:
../grbl/grbl_gcode.c:gc_init:44:
../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file..
../grbl/grbl_spindle_control.c:spindle_init:31 Not supported yet..
..2022/01/31 14:35:58.380 OK
2022/01/31 14:35:58.381 OK
/grbl/grbl_coolant_control.c:coolant_init:25 Not supported yet..
../grbl/grbl_limits.c:limits_init:44 Not supported yet..
../grbl/grbl_probe.c:probe_init:31 Not supported yet..
../grbl/grbl_stepper.c:st_reset:572:
../grbl/grbl_stepper.c:st_go_idle:259:
../grbl/grbl_stepper.c:st_generate_step_dir_invert_masks:550:
../grbl/grbl_protocol.c:protocol_main_loop:40:
../grbl/grbl_system.c:system_check_safety_door_ajar:93:
../grbl/grbl_system.c:system_execute_startup:107:
../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file..
../grbl/grbl_eeprom.c:memcpy_from_eeprom_with_checksum:215 EEPROM simulated by file..
GRBL: INFO: Ready for commands:
Grbl 1.1h ['$' for help]
.ecmcEpicsEnvSetCalcTernary("ECMC_PLUGIN_REPORT", "1>0","","#")
ecmcConfigOrDie "Cfg.ReportPlugin(0)"
Plugin info:
Index = 0
Name = ecmcPluginGrbl
Description = grbl plugin for use with ecmc.
Option description =
DBG_PRINT=<1/0> : Enables/disables printouts from plugin, default = disabled (=0).
X_AXIS=<axis id>: Ecmc Axis id for use as grbl X axis, default = disabled (=-1).
Y_AXIS=<axis id>: Ecmc Axis id for use as grbl Y axis, default = disabled (=-1).
Z_AXIS=<axis id>: Ecmc Axis id for use as grbl Z axis, default = disabled (=-1).
SPINDLE_AXIS=<axis id>: Ecmc Axis id for use as grbl spindle axis, default = disabled (=-1).
AUTO_ENABLE=<1/0>: Auto enable the linked ecmc axes autmatically before start, default = disabled (=0).
AUTO_START=<1/0>: Auto start g-code at ecmc start, default = disabled (=0).
Filename = /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmc_plugin_grbl/develop/lib/linux-arm/libecmc_plugin_grbl.so
Config string = DBG_PRINT=1;X_AXIS=1;Y_AXIS=2;AUTO_ENABLE=1;AUTO_START=1;
Version = 2
Interface version = 65536 (ecmc = 65536)
max plc funcs = 64
max plc func args = 10
max plc consts = 64
Construct func = @0xb4e5ea70
Enter realtime func = @0xb4e5e9e8
Exit realtime func = @0xb4e5e9b4
Realtime func = @0xb4e5e9e4
Destruct func = @0xb4e5e9bc
dlhandle = @0x86a808
Plc functions:
funcs[00]:
Name = "grbl_set_execute(arg0);"
Desc = double grbl_set_execute(<exe>) : Trigg execution of loaded g-code at positive edge of <exe>
Arg count = 1
func = @0xb4e5e9ec
funcs[01]:
Name = "grbl_mc_halt(arg0);"
Desc = double grbl_mc_halt(<halt>) : Halt grbl motion at positive edge of <halt>
Arg count = 1
func = @0xb4e5ea08
funcs[02]:
Name = "grbl_mc_resume(arg0);"
Desc = double grbl_mc_resume(<resume>) : Resume halted grbl motion at positive edge of <resume>
Arg count = 1
func = @0xb4e5ea24
funcs[03]:
Name = "grbl_mc_reset(arg0);"
Desc = double grbl_mc_reset(<reset>) : Reset grbl at positive edge of <reset>
Arg count = 1
func = @0xb4e5ea40
funcs[04]:
Name = "grbl_get_busy();"
Desc = double grbl_get_busy() : Get grbl system busy
Arg count = 0
func = @0xb4e5ea5c
Plc constants:
epicsEnvUnset(ECMC_PLUGIN_REPORT);
epicsEnvUnset(ECMC_PLUGIN_FILNAME)
epicsEnvUnset(ECMC_PLUGIN_CONFIG)
ecmcGrblLoadFile("./cfg/test.nc",0)
../ecmc_plugin_grbl/ecmcGrbl.cpp:loadFile:763:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 1
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 2
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 3
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 4
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 5
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 6
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 7
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 8
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 9
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 10
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 11
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 12
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 13
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 14
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 15
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 16
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 17
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 18
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 19
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 20
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 21
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 22
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 23
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 24
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 25
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 26
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 27
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 28
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 29
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 30
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 31
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 32
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 33
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 34
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 35
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:751:
../ecmc_plugin_grbl/ecmcGrbl.cpp:addCommand:758: GRBL: INFO: Buffer size 36
#ecmcGrblAddCommand("G1X20Y20F360");
#ecmcGrblAddCommand("G4P2");
#ecmcGrblAddCommand("G2X0Y0R20");
#ecmcGrblAddCommand("G4P2");
#ecmcGrblAddCommand("G0X10Y10");
#ecmcGrblAddCommand("G4P2");
#ecmcGrblAddCommand("G1X0Y0");
#ecmcGrblAddCommand("G2X0adadsdY0R20"
#
# Test of GRBL plugin for g-code parsing
#
println('GRBL busy:', grbl_get_busy());
if(not(grbl_get_busy())) {
println('Retrigger g-code!!');
grbl_set_execute(0);
grbl_set_execute(1);
};
2022/01/31 14:35:58.413 OK
2022/01/31 14:35:58.413 OK
2022/01/31 14:35:58.430 OK
2022/01/31 14:35:58.431 OK
2022/01/31 14:35:58.431 OK
2022/01/31 14:35:58.432 OK
2022/01/31 14:35:58.432 OK
2022/01/31 14:35:58.433 OK
2022/01/31 14:35:58.455 INFO: Locking memory
2022/01/31 14:35:58.552 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10).
2022/01/31 14:35:58.552 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315).
2022/01/31 14:35:58.552 ../devEcmcSup/motion/ecmcMonitor.cpp/checkLimits:501: ERROR_MON_BOTH_LIMIT_INTERLOCK (0x14c10).
2022/01/31 14:35:58.552 ../devEcmcSup/motion/ecmcAxisReal.cpp/execute:185: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 0: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 1: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 2: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 3: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 4: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 5: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 6: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 8: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:374: ERROR: Slave 9: Not operational (0x24011).
2022/01/31 14:35:58.552 ../devEcmcSup/ethercat/ecmcEcSlave.cpp/checkConfigState:379: ERROR_EC_SLAVE_NOT_OPERATIONAL (0x24011).
2022/01/31 14:35:58.591 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=0 bExecute=0 bEnabled=0 atTarget=0 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000077
2022/01/31 14:35:58.591 ecmcMotorRecord:: poll(1) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
2022/01/31 14:35:58.591 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=4 old=-1 ErrID=0x0 old=0x0 Warn=0 nCmd=0 old=0 txt=NULL
2022/01/31 14:35:58.623 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=0 bExecute=0 bEnabled=0 atTarget=0 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000012
2022/01/31 14:35:58.623 ecmcMotorRecord:: poll(2) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
2022/01/31 14:35:58.623 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=4 old=-1 ErrID=0x0 old=0x0 Warn=0 nCmd=0 old=0 txt=NULL
2022/01/31 14:35:58.629 Starting up EtherCAT bus: 0 second(s). Max wait time 30 second(s).
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(1) homed=1
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000065
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(1) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315
2022/01/31 14:35:58.824 ecmcMotorRecord:: sErrorMessage(1)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK"
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=1 old=4 ErrID=0x14315 old=0x0 Warn=0 nCmd=0 old=0 txt=E: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315)
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000026
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(2) bError=1 drvlocal.statusBinData.onChangeData.error=0x14315
2022/01/31 14:35:58.824 ecmcMotorRecord:: sErrorMessage(2)="ERROR_AXIS_HARDWARE_STATUS_NOT_OK"
2022/01/31 14:35:58.824 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=1 old=4 ErrID=0x14315 old=0x0 Warn=0 nCmd=0 old=0 txt=E: ERROR_AXIS_HARDWARE_STATUS_NOT_OK (0x14315)
2022/01/31 14:35:59.024 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000012
2022/01/31 14:35:59.024 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=0 fPos=0 fActPosition=0 time=0.000005
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(1) LLS=0
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(1) HLS=0
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000087
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(2) LLS=0
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(2) HLS=0
2022/01/31 14:35:59.224 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=1.44 time=0.000037
2022/01/31 14:35:59.424 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000012
2022/01/31 14:35:59.424 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=1.44 time=0.000006
2022/01/31 14:35:59.464 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 1): Drive hardware in warning state.
2022/01/31 14:35:59.625 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000013
2022/01/31 14:35:59.625 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=1.44 time=0.000005
2022/01/31 14:35:59.629 Starting up EtherCAT bus: 1 second(s). Max wait time 30 second(s).
2022/01/31 14:35:59.694 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:328: WARNING (axis 2): Drive hardware in warning state.
2022/01/31 14:35:59.825 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000076
2022/01/31 14:35:59.825 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=1.44 time=0.000006
2022/01/31 14:36:00.025 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000011
2022/01/31 14:36:00.025 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=1.44 time=0.000006
2022/01/31 14:36:00.056 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
2022/01/31 14:36:00.056 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
2022/01/31 14:36:00.056 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
2022/01/31 14:36:00.056 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
2022/01/31 14:36:00.056 ../devEcmcSup/main/ecmcError.cpp/errorReset:103: NO_ERROR (0x0).
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000011
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(1) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(1) callParamCallbacksUpdateError Error=0 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000007
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(2) bError=0 drvlocal.statusBinData.onChangeData.error=0x0
2022/01/31 14:36:00.225 ecmcMotorRecord:: poll(2) callParamCallbacksUpdateError Error=4 old=1 ErrID=0x0 old=0x14315 Warn=0 nCmd=0 old=0 txt=NULL
2022/01/31 14:36:00.426 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000011
2022/01/31 14:36:00.426 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000005
2022/01/31 14:36:00.626 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000058
2022/01/31 14:36:00.626 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000006
2022/01/31 14:36:00.826 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000019
2022/01/31 14:36:00.826 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000011
2022/01/31 14:36:01.026 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000012
2022/01/31 14:36:01.026 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000006
2022/01/31 14:36:01.227 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000012
2022/01/31 14:36:01.227 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000006
2022/01/31 14:36:01.427 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000011
2022/01/31 14:36:01.427 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000007
2022/01/31 14:36:01.627 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000010
2022/01/31 14:36:01.627 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000007
2022/01/31 14:36:01.629 EtherCAT bus started!
2022/01/31 14:36:01.629 OK
2022/01/31 14:36:01.630 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocBuild (0). Allow callbacks: true.
Starting iocInit
2022/01/31 14:36:01.630 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtBeginning (1). Allow callbacks: true.
2022/01/31 14:36:01.645 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCallbackInit (2). Allow callbacks: true.
2022/01/31 14:36:01.657 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaLinkInit (3). Allow callbacks: true.
2022/01/31 14:36:01.657 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDrvSup (4). Allow callbacks: true.
2022/01/31 14:36:01.657 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitRecSup (5). Allow callbacks: true.
2022/01/31 14:36:01.666 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDevSup (6). Allow callbacks: true.
2022/01/31 14:36:01.676 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.positionActual01 linked to record (asyn reason 1).
2022/01/31 14:36:01.677 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderLatchPostion01 linked to record (asyn reason 2).
2022/01/31 14:36:01.678 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderControl01 linked to record (asyn reason 3).
2022/01/31 14:36:01.679 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderValue01 linked to record (asyn reason 4).
2022/01/31 14:36:01.680 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.positionActual01 linked to record (asyn reason 5).
2022/01/31 14:36:01.681 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderLatchPostion01 linked to record (asyn reason 6).
2022/01/31 14:36:01.682 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderControl01 linked to record (asyn reason 7).
2022/01/31 14:36:01.683 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderValue01 linked to record (asyn reason 8).
2022/01/31 14:36:01.684 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive01 linked to record (asyn reason 9).
2022/01/31 14:36:01.685 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative01 linked to record (asyn reason 10).
2022/01/31 14:36:01.685 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchPositive02 linked to record (asyn reason 11).
2022/01/31 14:36:01.686 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.timestampLatchNegative02 linked to record (asyn reason 12).
2022/01/31 14:36:01.687 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveControl01 linked to record (asyn reason 13).
2022/01/31 14:36:01.688 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.velocitySetpoint01 linked to record (asyn reason 14).
2022/01/31 14:36:01.690 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.positionActual01 linked to record (asyn reason 15).
2022/01/31 14:36:01.691 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderLatchPostion01 linked to record (asyn reason 16).
2022/01/31 14:36:01.692 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderControl01 linked to record (asyn reason 17).
2022/01/31 14:36:01.693 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderValue01 linked to record (asyn reason 18).
2022/01/31 14:36:01.694 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveControl01 linked to record (asyn reason 19).
2022/01/31 14:36:01.696 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.velocitySetpoint01 linked to record (asyn reason 20).
2022/01/31 14:36:01.697 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.positionActual01 linked to record (asyn reason 21).
2022/01/31 14:36:01.698 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderLatchPostion01 linked to record (asyn reason 22).
2022/01/31 14:36:01.699 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderControl01 linked to record (asyn reason 23).
2022/01/31 14:36:01.700 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderValue01 linked to record (asyn reason 24).
2022/01/31 14:36:01.703 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.actpos linked to record (asyn reason 25).
2022/01/31 14:36:01.708 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.setpos linked to record (asyn reason 26).
2022/01/31 14:36:01.711 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.poserr linked to record (asyn reason 27).
2022/01/31 14:36:01.713 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.error linked to record (asyn reason 28).
2022/01/31 14:36:01.716 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.actpos linked to record (asyn reason 29).
2022/01/31 14:36:01.718 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.setpos linked to record (asyn reason 30).
2022/01/31 14:36:01.721 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.poserr linked to record (asyn reason 31).
2022/01/31 14:36:01.723 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.error linked to record (asyn reason 32).
2022/01/31 14:36:01.726 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.scantime linked to record (asyn reason 33).
2022/01/31 14:36:01.729 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.error linked to record (asyn reason 34).
2022/01/31 14:36:01.731 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.appmode linked to record (asyn reason 35).
2022/01/31 14:36:01.734 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.id linked to record (asyn reason 36).
2022/01/31 14:36:01.736 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.min linked to record (asyn reason 37).
2022/01/31 14:36:01.739 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.latency.max linked to record (asyn reason 38).
2022/01/31 14:36:01.741 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.min linked to record (asyn reason 39).
2022/01/31 14:36:01.744 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.period.max linked to record (asyn reason 40).
2022/01/31 14:36:01.748 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.min linked to record (asyn reason 41).
2022/01/31 14:36:01.749 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.execute.max linked to record (asyn reason 42).
2022/01/31 14:36:01.751 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.min linked to record (asyn reason 43).
2022/01/31 14:36:01.752 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.thread.send.max linked to record (asyn reason 44).
2022/01/31 14:36:01.754 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput01 linked to record (asyn reason 45).
2022/01/31 14:36:01.756 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput02 linked to record (asyn reason 46).
2022/01/31 14:36:01.758 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput03 linked to record (asyn reason 47).
2022/01/31 14:36:01.762 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput04 linked to record (asyn reason 48).
2022/01/31 14:36:01.765 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput05 linked to record (asyn reason 49).
2022/01/31 14:36:01.767 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput06 linked to record (asyn reason 50).
2022/01/31 14:36:01.769 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput07 linked to record (asyn reason 51).
2022/01/31 14:36:01.772 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.binaryInput08 linked to record (asyn reason 52).
2022/01/31 14:36:01.775 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput01 linked to record (asyn reason 53).
2022/01/31 14:36:01.778 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput02 linked to record (asyn reason 54).
2022/01/31 14:36:01.780 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput03 linked to record (asyn reason 55).
2022/01/31 14:36:01.783 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput04 linked to record (asyn reason 56).
2022/01/31 14:36:01.786 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput05 linked to record (asyn reason 57).
2022/01/31 14:36:01.789 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput06 linked to record (asyn reason 58).
2022/01/31 14:36:01.792 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput07 linked to record (asyn reason 59).
2022/01/31 14:36:01.797 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.binaryOutput08 linked to record (asyn reason 60).
2022/01/31 14:36:01.799 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.powerOk01 linked to record (asyn reason 61).
2022/01/31 14:36:01.805 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.overload01 linked to record (asyn reason 62).
2022/01/31 14:36:01.809 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput01 linked to record (asyn reason 63).
2022/01/31 14:36:01.812 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.binaryInput02 linked to record (asyn reason 64).
2022/01/31 14:36:01.816 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.enable linked to record (asyn reason 65).
2022/01/31 14:36:01.819 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax1.plc.firstscan linked to record (asyn reason 66).
2022/01/31 14:36:01.824 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.enable linked to record (asyn reason 67).
2022/01/31 14:36:01.827 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000018
2022/01/31 14:36:01.827 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000008
2022/01/31 14:36:01.828 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.ax2.plc.firstscan linked to record (asyn reason 68).
2022/01/31 14:36:01.831 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.ok linked to record (asyn reason 69).
2022/01/31 14:36:01.835 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.diagnostic linked to record (asyn reason 70).
2022/01/31 14:36:01.837 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.plc.expression linked to record (asyn reason 71).
2022/01/31 14:36:01.839 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.diagnostic linked to record (asyn reason 72).
2022/01/31 14:36:01.842 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.plc.expression linked to record (asyn reason 73).
2022/01/31 14:36:01.844 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.msg linked to record (asyn reason 74).
2022/01/31 14:36:01.846 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.updated linked to record (asyn reason 75).
2022/01/31 14:36:01.849 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.command linked to record (asyn reason 76).
2022/01/31 14:36:01.854 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.command linked to record (asyn reason 77).
);
#ecmcGrblAddCommand("G1X0Y20");
#ecmcGrblAddCommand("G1X10Y0F360");
#ecmcGrblAddCommand("G4P1");
#ecmcGrblAddCommand("G1X50Y50F180");
#ecmcGrblAddCommand("G1X0Y0");
##############################################################################
## PLC 0
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/loadPLCFile.cmd, "PLC_ID=0, SAMPLE_RATE_MS=1000,FILE=./plc/grbl.plc")
#==============================================================================
# loadPLCFile.cmd
epicsEnvSet("ECMC_PLC_ID", "0")
ecmcEpicsEnvSetCalc(ECMC_PLC_RATE_, "1000/1000", "%f")
epicsEnvSet("ECMC_PLC_SAMPLE_RATE_MS", "1000")
ecmcEpicsEnvSetCalcTernary(ECMC_PLC_SAMPLE_RATE_MS, "1000>0", "1000","1.000000")
epicsEnvUnset(ECMC_PLC_RATE_) # clean up, temp variable
epicsEnvSet("ECMC_TMP_FILE", "/tmp/PLC0.plc")
ecmcFileExist("./plc/grbl.plc",1)
system "msi -V -M 'EMPTY' -o /tmp/PLC0.plc ./plc/grbl.plc"
ecmcEpicsEnvSetCalcTernary(ECMC_EXE_CMD, 1=1,"", "#-" )
########### Parsed PLC file:
system "cat /tmp/PLC0.plc"
############ PLC file end
#
epicsEnvUnset(ECMC_EXE_CMD)
ecmcFileExist("/tmp/PLC0.plc",1)
ecmcConfigOrDie "Cfg.CreatePLC(0,1000)"
ecmcConfigOrDie "Cfg.LoadPLCFile(0,/tmp/PLC0.plc)"
system "rm -f /tmp/PLC0.plc"
ecmcFileExist(ecmcPlc.substitutions,1,1)
ecmcEpicsEnvSetCalc(ECMC_PLC_ID_2_CHARS, "0", "%02d")
dbLoadTemplate(ecmcPlc.substitutions, "PORT=MC_CPU1,A=0,Index=0,Name=IOC_TEST:,Index2Char=00,T_SMP_MS=10")
epicsEnvUnset(ECMC_PLC_ID_2_CHARS)
##############################################################################
############# 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)"
iocshLoad (/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/setAppMode.cmd)
#==============================================================================
# setAppMode.cmd
ecmcFileExist("/home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/general.cmd",1)
iocshLoad /home/pi/epics/base-7.0.5/require/3.4.0/siteMods/ecmccfg/ruckig/general.cmd
#==============================================================================
# general.cmd
ecmcFileExist("ecmcGeneral.db",1,1)
dbLoadRecords("ecmcGeneral.db","P=IOC_TEST:,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,T_SMP_MS=10,TSE=-2,ECMC_PROC_HOOK=")
# Examples of commands for info:
# ecmcReport <level> or asynReport <level>
# ecmcReport 3
# ecmcGrepParam <pattern>
# List all ecmc params for ethercat slave 2:
# ecmcGrepParam *s2*
#
ecmcEpicsEnvSetCalcTernary(ECMC_MASTER_CMD, "0>=0", "","#- ")
ecmcFileExist("ecmcEc.db",1,1)
dbLoadRecords("ecmcEc.db","P=IOC_TEST:,PORT=MC_CPU1,ADDR=0,TIMEOUT=1,MASTER_ID=0,T_SMP_MS=10,TSE=-2")
ecmcConfigOrDie "Cfg.SetAppMode(1)"
GRBL busy: 1.00000
GRBL busy: 1.00000
#asynSetTraceMask(MC_CPU1, -1, 0x41)
# Note need to test 0x21 later..
#asynSetTraceMask(MC_CPU1, -1, 0x21)
asynSetTraceMask(MC_CPU1, -1, 0x41)
iocInit()
############################################################################
## EPICS R7.0.5-E3-7.0.5-patch
## Rev. 2021-05-05T19:45+0200
############################################################################
ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI01-TimeRiseTS
ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI01-TimeFallTS
ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI02-TimeRiseTS
ECATtimestamp aSubRecord: IOC_TEST:m0s006-BI02-TimeFallTS
2022/01/31 14:36:01.859 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ONE linked to record (asyn reason 78).
2022/01/31 14:36:01.863 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.ZERO linked to record (asyn reason 79).
2022/01/31 14:36:01.866 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ONE linked to record (asyn reason 80).
2022/01/31 14:36:01.869 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.ZERO linked to record (asyn reason 81).
2022/01/31 14:36:01.871 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ONE linked to record (asyn reason 82).
2022/01/31 14:36:01.875 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.ZERO linked to record (asyn reason 83).
2022/01/31 14:36:01.880 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ONE linked to record (asyn reason 84).
2022/01/31 14:36:01.884 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.ZERO linked to record (asyn reason 85).
2022/01/31 14:36:01.888 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ONE linked to record (asyn reason 86).
2022/01/31 14:36:01.891 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.ZERO linked to record (asyn reason 87).
2022/01/31 14:36:01.894 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ONE linked to record (asyn reason 88).
2022/01/31 14:36:01.896 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.ZERO linked to record (asyn reason 89).
2022/01/31 14:36:01.899 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ONE linked to record (asyn reason 90).
2022/01/31 14:36:01.903 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.ZERO linked to record (asyn reason 91).
2022/01/31 14:36:01.906 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ONE linked to record (asyn reason 92).
2022/01/31 14:36:01.910 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.ZERO linked to record (asyn reason 93).
2022/01/31 14:36:01.916 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ONE linked to record (asyn reason 94).
2022/01/31 14:36:01.921 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.ZERO linked to record (asyn reason 95).
2022/01/31 14:36:01.926 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.cmddata linked to record (asyn reason 96).
2022/01/31 14:36:01.929 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.cmddata linked to record (asyn reason 97).
2022/01/31 14:36:01.932 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s0.slavestatus linked to record (asyn reason 98).
2022/01/31 14:36:01.935 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s1.slavestatus linked to record (asyn reason 99).
2022/01/31 14:36:01.939 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s2.slavestatus linked to record (asyn reason 100).
2022/01/31 14:36:01.943 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.slavestatus linked to record (asyn reason 101).
2022/01/31 14:36:01.946 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.slavestatus linked to record (asyn reason 102).
2022/01/31 14:36:01.951 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s5.slavestatus linked to record (asyn reason 103).
2022/01/31 14:36:01.954 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.slavestatus linked to record (asyn reason 104).
2022/01/31 14:36:01.958 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.slavestatus linked to record (asyn reason 105).
2022/01/31 14:36:01.961 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.slavestatus linked to record (asyn reason 106).
2022/01/31 14:36:01.965 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.status linked to record (asyn reason 107).
2022/01/31 14:36:01.969 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.errorid linked to record (asyn reason 108).
2022/01/31 14:36:01.972 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.status linked to record (asyn reason 109).
2022/01/31 14:36:01.975 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.errorid linked to record (asyn reason 110).
2022/01/31 14:36:01.978 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.masterstatus linked to record (asyn reason 111).
2022/01/31 14:36:01.980 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.slavecounter linked to record (asyn reason 112).
2022/01/31 14:36:01.984 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.memmapcounter linked to record (asyn reason 113).
2022/01/31 14:36:01.988 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainfailcountertotal linked to record (asyn reason 114).
2022/01/31 14:36:01.992 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.entrycounter linked to record (asyn reason 115).
2022/01/31 14:36:01.995 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.domainstatus linked to record (asyn reason 116).
2022/01/31 14:36:01.998 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.control linked to record (asyn reason 117).
2022/01/31 14:36:02.002 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.control linked to record (asyn reason 118).
2022/01/31 14:36:02.006 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s3.encoderStatus01 linked to record (asyn reason 119).
2022/01/31 14:36:02.010 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s4.encoderStatus01 linked to record (asyn reason 120).
2022/01/31 14:36:02.013 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status01 linked to record (asyn reason 121).
2022/01/31 14:36:02.017 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s6.status02 linked to record (asyn reason 122).
2022/01/31 14:36:02.020 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.driveStatus01 linked to record (asyn reason 123).
2022/01/31 14:36:02.024 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s8.encoderStatus01 linked to record (asyn reason 124).
2022/01/31 14:36:02.027 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.driveStatus01 linked to record (asyn reason 125).
2022/01/31 14:36:02.027 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000028
2022/01/31 14:36:02.028 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000145
2022/01/31 14:36:02.031 ecmcAsynPortDriver:drvUserCreate: Parameter ec0.s9.encoderStatus01 linked to record (asyn reason 126).
2022/01/31 14:36:02.069 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targpos linked to record (asyn reason 127).
2022/01/31 14:36:02.074 ecmcAsynPortDriver:drvUserCreate: Parameter ax1.targvelo linked to record (asyn reason 128).
2022/01/31 14:36:02.080 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targpos linked to record (asyn reason 129).
2022/01/31 14:36:02.084 ecmcAsynPortDriver:drvUserCreate: Parameter ax2.targvelo linked to record (asyn reason 130).
2022/01/31 14:36:02.101 ecmcAsynPortDriver:drvUserCreate: Parameter plcs.plc0.enable linked to record (asyn reason 131).
2022/01/31 14:36:02.107 ecmcAsynPortDriver:drvUserCreate: Parameter ecmc.error.reset linked to record (asyn reason 132).
2022/01/31 14:36:02.111 ecmcMotorRecord:: setIntegerParam(1 motorUpdateStatus_)=0
2022/01/31 14:36:02.112 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000011
2022/01/31 14:36:02.112 ecmcMotorRecord:: setIntegerParam(2 motorUpdateStatus_)=0
2022/01/31 14:36:02.112 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000010
2022/01/31 14:36:02.157 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitDatabase (7). Allow callbacks: true.
2022/01/31 14:36:02.157 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterFinishDevSup (8). Allow callbacks: true.
2022/01/31 14:36:02.228 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000057
2022/01/31 14:36:02.228 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000008
2022/01/31 14:36:02.428 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000009
2022/01/31 14:36:02.428 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000006
2022/01/31 14:36:02.628 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=0 fActPosition=19.05 time=0.000010
2022/01/31 14:36:02.628 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000005
2022/01/31 14:36:02.695 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterScanInit (9). Allow callbacks: true.
2022/01/31 14:36:02.696 ecmcMotorRecord:: setIntegerParam(1 HomProc_)=3 motorNotHomedProblem=0
2022/01/31 14:36:02.697 ecmcMotorRecord:: setIntegerParam(2 HomProc_)=3 motorNotHomedProblem=0
2022/01/31 14:36:02.698 ecmcMotorRecord:: setDoubleParam(1 HomPos_)=0.000000
2022/01/31 14:36:02.698 ecmcMotorRecord:: setDoubleParam(2 HomPos_)=0.000000
2022/01/31 14:36:02.698 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInitialProcess (10). Allow callbacks: true.
2022/01/31 14:36:02.706 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (11). Allow callbacks: true.
2022/01/31 14:36:02.706 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocBuilt (12). Allow callbacks: true.
2022/01/31 14:36:02.742 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAtIocRun (13). Allow callbacks: true.
2022/01/31 14:36:02.742 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterDatabaseRunning (14). Allow callbacks: true.
2022/01/31 14:36:02.742 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterInterruptAccept (28). Allow callbacks: true.
2022/01/31 14:36:02.742 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterCaServerRunning (15). Allow callbacks: true.
2022/01/31 14:36:02.742 ecmcAsynPortDriver:getEpicsState: EPICS state: Unknown state (29). Allow callbacks: true.
iocRun: All initialization complete
2022/01/31 14:36:02.784 ecmcAsynPortDriver:getEpicsState: EPICS state: initHookAfterIocRunning (16). Allow callbacks: true.
2022/01/31 14:36:02.789 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 1): Drive hardware warning state cleared.
2022/01/31 14:36:02.789 ../devEcmcSup/motion/ecmcDriveBase.cpp/readEntries:336: INFO (axis 2): Drive hardware warning state cleared.
2022/01/31 14:36:02.828 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=19.05 fActPosition=19.05 time=0.000019
2022/01/31 14:36:02.829 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=49 fPos=0 fActPosition=0.03 time=0.000007
2022/01/31 14:36:02.111 [devMotorAsyn.c:439 IOC_TEST:Axis1] init_record IOC_TEST:Axis1 position=19.050000 encoderPos=19.050000 velocity=0.000000 MSTAstatus=0x4d00 flagsValue=0x3f flagsWritten=0x3f pmr->mflg=0x0
2022/01/31 14:36:02.111 [devMotorAsyn.c:185 IOC_TEST:Axis1] init_controller IOC_TEST:Axis1 set encoder ratio=1.000000 status=0
2022/01/31 14:36:02.111 [devMotorAsyn.c:266 IOC_TEST:Axis1] update_soft_limits IOC_TEST:Axis1 RawHLM_RO=130.000000 RawLLM_RO=-20.000000 valid=1 DHLM_RO=130.000000 DLLM_RO=-20.000000
2022/01/31 14:36:02.111 [motorDevSup.c:327 IOC_TEST:Axis1] PositionRestoreNeeded IOC_TEST:Axis1 rstm=2 dval=0.000000 drbv=19.050000 pmr->rdbd=0.100000 rdbd=0.100000 pmr->mres=0.030000 pmr->mflg=0x3f dval_non_zero_pos_near_zero=0 ret=0
2022/01/31 14:36:02.111 [motorRecord.cc:782 IOC_TEST:Axis1] init_re_init start neverPolled=0 stat=17 nsta=0
2022/01/31 14:36:02.111 [motorRecord.cc:720 IOC_TEST:Axis1] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000
2022/01/31 14:36:02.111 [motorRecord.cc:4484 IOC_TEST:Axis1] pmr->dhlm=130 softLimitRO=130
2022/01/31 14:36:02.111 [motorRecord.cc:4545 IOC_TEST:Axis1] pmr->dllm=-20 softLimitRO=-20
2022/01/31 14:36:02.111 [motorRecord.cc:833 IOC_TEST:Axis1] init_re_init end dval=19.050000 drbv=19.050000 rdbd=0.100000 spdb=0.100000
2022/01/31 14:36:02.111 [motorRecord.cc:968 IOC_TEST:Axis1] init_record process_reason="callbackdata + soft limits" dval=19.050000 drbv=19.050000 rdbd=0.100000 spdb=0.100000 stat=0 msta=0x4d00 neverPolled=0
2022/01/31 14:36:02.112 [devMotorAsyn.c:439 IOC_TEST:Axis2] init_record IOC_TEST:Axis2 position=0.000000 encoderPos=0.000000 velocity=0.000000 MSTAstatus=0x0f08 flagsValue=0x3f flagsWritten=0x3f pmr->mflg=0x0
2022/01/31 14:36:02.112 [devMotorAsyn.c:185 IOC_TEST:Axis2] init_controller IOC_TEST:Axis2 set encoder ratio=1.000000 status=0
2022/01/31 14:36:02.112 [devMotorAsyn.c:266 IOC_TEST:Axis2] update_soft_limits IOC_TEST:Axis2 RawHLM_RO=20.000000 RawLLM_RO=-130.000000 valid=1 DHLM_RO=20.000000 DLLM_RO=-130.000000
2022/01/31 14:36:02.112 [motorDevSup.c:327 IOC_TEST:Axis2] PositionRestoreNeeded IOC_TEST:Axis2 rstm=2 dval=0.000000 drbv=0.000000 pmr->rdbd=0.100000 rdbd=0.100000 pmr->mres=0.030000 pmr->mflg=0x3f dval_non_zero_pos_near_zero=0 ret=0
2022/01/31 14:36:02.112 [motorRecord.cc:782 IOC_TEST:Axis2] init_re_init start neverPolled=0 stat=17 nsta=0
2022/01/31 14:36:02.112 [motorRecord.cc:720 IOC_TEST:Axis2] enforceMinRetryDeadband spdb=0.100000 rdbd=0.100000 mres=0.030000
2022/01/31 14:36:02.112 [motorRecord.cc:4484 IOC_TEST:Axis2] pmr->dhlm=20 softLimitRO=20
2022/01/31 14:36:02.112 [motorRecord.cc:4545 IOC_TEST:Axis2] pmr->dllm=-130 softLimitRO=-130
2022/01/31 14:36:02.112 [motorRecord.cc:833 IOC_TEST:Axis2] init_re_init end dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000
2022/01/31 14:36:02.112 [motorRecord.cc:968 IOC_TEST:Axis2] init_record process_reason="callbackdata + soft limits" dval=0.000000 drbv=0.000000 rdbd=0.100000 spdb=0.100000 stat=0 msta=0xf08 neverPolled=0
GRBL busy: 1.00000
dbpf IOC_TEST:Axis1.SPAM 0
DBF_SHORT: 0 = 0x0
dbpf IOC_TEST:Axis2.SPAM 0
DBF_SHORT: 0 = 0x0
# Set the IOC Prompt String One
epicsEnvSet IOCSH_PS1 "raspberrypi-15125 > "
#
DIFF 18759
DIFF 7667
DIFF 9481
DIFF 5019
DIFF 5352
DIFF 6759
DIFF 5667
DIFF 5481
DIFF 7315
DIFF 7315
DIFF 6629
DIFF 8796
DIFF 8130
DIFF 5389
DIFF 7018
DIFF 5389
DIFF 7037
DIFF 11111
DIFF 6926
DIFF 12926
DIFF 9925
DIFF 7907
DIFF 12944
DIFF 10444
DIFF 9222
DIFF 17259
DIFF 13981
DIFF 8611
DIFF 5833
DIFF 5722
DIFF 6815
DIFF 5074
DIFF 7536
DIFF 5371
DIFF 6851
DIFF 5685
raspberrypi-15125 > 2022/01/31 14:36:03.029 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=64900 fPos=19.05 fActPosition=19.05 time=0.000076
2022/01/31 14:36:03.029 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=0 atTarget=1 wf=0 ENC=49 fPos=0 fActPosition=0.03 time=0.000006
2022/01/31 14:36:03.229 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64899 fPos=19.048 fActPosition=19.08 time=0.000018
2022/01/31 14:36:03.229 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=50 fPos=0.028 fActPosition=0.06 time=0.000012
2022/01/31 14:36:03.430 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64900 fPos=19.048 fActPosition=19.05 time=0.000015
2022/01/31 14:36:03.430 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=49 fPos=0.028 fActPosition=0.03 time=0.000010
2022/01/31 14:36:03.630 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64900 fPos=19.048 fActPosition=19.05 time=0.000018
2022/01/31 14:36:03.630 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=49 fPos=0.056 fActPosition=0.03 time=0.000009
2022/01/31 14:36:03.830 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64900 fPos=19.064 fActPosition=19.05 time=0.000011
2022/01/31 14:36:03.831 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=61 fPos=0.392 fActPosition=0.39 time=0.000006
2022/01/31 14:36:04.031 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64899 fPos=19.1 fActPosition=19.08 time=0.000011
2022/01/31 14:36:04.031 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=85 fPos=1.096 fActPosition=1.11 time=0.000007
2022/01/31 14:36:04.231 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64897 fPos=19.152 fActPosition=19.14 time=0.000011
2022/01/31 14:36:04.231 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=121 fPos=2.172 fActPosition=2.19 time=0.000007
2022/01/31 14:36:04.431 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64895 fPos=19.208 fActPosition=19.2 time=0.000010
2022/01/31 14:36:04.432 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=161 fPos=3.372 fActPosition=3.39 time=0.000006
DIFF 5574
DIFF 5648
DIFF 6259
DIFF 6315
DIFF 6463
DIFF 11389
DIFF 10055
DIFF 5167
DIFF 5166
DIFF 6388
DIFF 8203
DIFF 6278
DIFF 5981
DIFF 5259
DIFF 6981
DIFF 9351
DIFF 6796
DIFF 9759
DIFF 7722
DIFF 9334
DIFF 5426
DIFF 9814
DIFF 9685
DIFF 5204
DIFF 5315
DIFF 5389
DIFF 5204
DIFF 5074
DIFF 5130
DIFF 6167
DIFF 5556
DIFF 5222
DIFF 6185
DIFF 6796
DIFF 5129
DIFF 5149
DIFF 5241
DIFF 5204
DIFF 5167
DIFF 5093
DIFF 5130
DIFF 7129
DIFF 6722
DIFF 5148
DIFF 5129
DIFF 5277
DIFF 5167
DIFF 5037
DIFF 5204
DIFF 5315
DIFF 5055
DIFF 6092
DIFF 5703
DIFF 5296
DIFF 5056
DIFF 6092
DIFF 5630
DIFF 6000
DIFF 5481
DIFF 5981
DIFF 5518
DIFF 5518
DIFF 6982
DIFF 6130
DIFF 5444
DIFF 6056
DIFF 5037
DIFF 7741
DIFF 6185
DIFF 6037
DIFF 7185
DIFF 9852
DIFF 8556
DIFF 8407
DIFF 7055
DIFF 7667
DIFF 7222
DIFF 7130
DIFF 8037
DIFF 9093
DIFF 8777
DIFF 5981
DIFF 5777
DIFF 9741
DIFF 7186
DIFF 7333
DIFF 10592
DIFF 7018
DIFF 5759
DIFF 5277
DIFF 5278
DIFF 6741
DIFF 10333
DIFF 5482
DIFF 9130
DIFF 5371
DIFF 5185
DIFF 7334
DIFF 5889
DIFF 5648
DIFF 6445
DIFF 6019
DIFF 10592
DIFF 9666
DIFF 8111
DIFF 7648
DIFF 6945
DIFF 6259
DIFF 5537
DIFF 9981
DIFF 13796
DIFF 7833
DIFF 11425
DIFF 10537
DIFF 7444
DIFF 11871
DIFF 6870
DIFF 5908
DIFF 9981
DIFF 10574
DIFF 7444
DIFF 15870
DIFF 9426
DIFF 5093
DIFF 9982
DIFF 5092
DIFF 5870
DIFF 5648
DIFF 8685
DIFF 5204
DIFF 5982
DIFF 6407
DIFF 5611
DIFF 5166
DIFF 8686
DIFF 5111
DIFF 5056
DIFF 5055
DIFF 5907
DIFF 6944
DIFF 7203
DIFF 5277
DIFF 5445
DIFF 6982
DIFF 9796
DIFF 7111
DIFF 5185
DIFF 6704
DIFF 6500
DIFF 5111
DIFF 5185
DIFF 5686
DIFF 5278
DIFF 5759
DIFF 6907
DIFF 5130
DIFF 10815
DIFF 7592
DIFF 6185
DIFF 5666
DIFF 5370
DIFF 5388
DIFF 8593
DIFF 8352
DIFF 6148
DIFF 6370
DIFF 5666
DIFF 5500
DIFF 5167
DIFF 6370
DIFF 6148
DIFF 5167
DIFF 5407
DIFF 5241
DIFF 5148
DIFF 5833
DIFF 5037
DIFF 5778
DIFF 5018
GRBL busy: 0.00000
Retrigger g-code!!
GRBL: INFO: Write command (command[0] = G1X20Y20F360)
Added: G1X20Y20F360DIFF 5722
DIFF 5056
../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL: INFO: Reply OK (command[0] = G1X20Y20F360)
GRBL: INFO: Write command (command[1] = G4P2)
Added: G4P2../grbl/grbl_stepper.c:st_wake_up:228:
../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_dwell:200:
DIFF 5148
DIFF 5741
DIFF 5352
DIFF 6000
DIFF 5056
DIFF 5315
DIFF 5204
DIFF 5315
DIFF 5241
DIFF 5574
DIFF 5352
DIFF 5185
DIFF 5148
DIFF 6241
DIFF 7537
DIFF 5074
DIFF 6463
DIFF 5333
DIFF 7574
DIFF 8148
DIFF 9167
DIFF 9444
DIFF 6574
DIFF 6334
DIFF 9296
DIFF 10260
DIFF 7852
DIFF 32185
DIFF 5111
DIFF 5741
DIFF 7352
DIFF 5203
DIFF 6407
DIFF 7963
DIFF 11722
DIFF 9277
DIFF 7574
DIFF 8222
DIFF 6926
DIFF 10296
DIFF 10981
DIFF 10111
DIFF 10408
DIFF 9648
DIFF 12425
DIFF 10129
DIFF 12389
DIFF 12148
DIFF 10037
DIFF 12963
DIFF 7611
DIFF 9796
DIFF 19852
DIFF 22314
DIFF 23129
DIFF 12926
DIFF 13351
DIFF 7036
DIFF 23241
DIFF 15055
DIFF 18833
DIFF 9852
DIFF 19074
DIFF 17685
DIFF 18796
DIFF 14129
DIFF 10222
DIFF 9037
DIFF 6241
DIFF 8574
DIFF 8537
DIFF 9981
DIFF 10352
DIFF 8407
DIFF 8814
DIFF 11129
DIFF 7223
DIFF 5518
DIFF 10741
DIFF 9425
DIFF 8445
DIFF 9111
DIFF 7870
DIFF 7926
DIFF 9555
DIFF 9259
DIFF 9371
DIFF 12074
DIFF 8796
DIFF 6093
DIFF 9408
DIFF 5351
DIFF 7425
DIFF 13296
DIFF 13833
DIFF 10796
DIFF 10222
DIFF 12833
DIFF 11074
DIFF 12260
DIFF 10129
DIFF 13314
DIFF 11740
DIFF 9000
DIFF 12518
DIFF 17278
DIFF 7334
DIFF 6148
DIFF 5574
DIFF 6092
DIFF 5926
DIFF 6426
DIFF 6167
DIFF 7056
DIFF 5945
DIFF 11389
DIFF 5296
DIFF 5815
DIFF 5963
DIFF 5130
DIFF 5018
DIFF 6777
DIFF 5778
DIFF 7093
DIFF 5963
DIFF 7093
DIFF 10703
DIFF 7926
DIFF 5611
DIFF 9463
DIFF 5092
DIFF 6408
DIFF 7185
DIFF 7185
DIFF 6352
DIFF 5889
DIFF 6777
DIFF 5907
DIFF 6056
DIFF 7685
DIFF 7222
DIFF 6333
DIFF 7444
DIFF 6685
DIFF 5593
DIFF 6371
DIFF 7314
DIFF 6536
DIFF 12056
DIFF 5278
DIFF 6111
DIFF 5389
DIFF 6407
DIFF 5444
DIFF 5222
DIFF 5278
DIFF 5222
DIFF 5056
DIFF 5166
DIFF 5277
DIFF 5370
DIFF 5185
DIFF 5796
DIFF 5241
DIFF 7500
DIFF 7760
DIFF 6407
DIFF 6166
DIFF 11000
DIFF 7537
DIFF 8074
DIFF 6111
DIFF 7518
DIFF 6556
DIFF 9426
DIFF2022/01/31 14:36:04.632 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64893 fPos=19.264 fActPosition=19.26 time=0.000142
2022/01/31 14:36:04.632 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=201 fPos=4.576 fActPosition=4.59 time=0.000011
2022/01/31 14:36:04.832 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64891 fPos=19.32 fActPosition=19.32 time=0.000017
2022/01/31 14:36:04.833 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=241 fPos=5.78 fActPosition=5.79 time=0.000490
10333
DIFF 8556
DIFF 17407
DIFF 6148
DIFF 5371
DIFF 5630
DIFF 5666
DIFF 11907
DIFF 8277
DIFF 11981
DIFF 10518
DIFF 12055
DIFF 13445
DIFF 8833
DIFF 6907
DIFF 16018
DIFF 8796
DIFF 16630
DIFF 9093
DIFF 14667
DIFF 11018
DIFF 10111
DIFF 5148
DIFF 6000
DIFF 5333
DIFF 6555
DIFF 5963
DIFF 9037
DIFF 9259
DIFF 7352
DIFF 5333
DIFF 5018
DIFF 5463
DIFF 5093
DIFF 5240
DIFF 5778
DIFF 5296
DIFF 6481
DIFF 5574
DIFF 5982
DIFF 5260
DIFF 5445
DIFF 5555
DIFF 5185
DIFF 5370
DIFF 7407
DIFF 5537
DIFF 8055
DIFF 5074
DIFF 5111
DIFF 5370
DIFF 5185
DIFF 5185
DIFF 5204
DIFF 5259
DIFF 5778
DIFF 5185
DIFF 5907
DIFF 5297
DIFF 5296
DIFF 5278
DIFF 5203
DIFF 5351
DIFF 5574
DIFF 5093
GRBL busy: 1.00000
DIFF 6370
DIFF 5148
DIFF 8129
DIFF 5741
DIFF 5148
DIFF 5111
DIFF 5462
DIFF 5204
DIFF 5129
DIFF 5445
DIFF 5259
DIFF 6556
DIFF 6092
DIFF 5149
DIFF 5111
DIFF 5222
DIFF 5074
DIFF 5056
DIFF 5388
DIFF 5796
DIFF 5111
DIFF 6648
DIFF 6908
DIFF 5203
DIFF 5278
DIFF 5370
DIFF 5352
DIFF 5259
DIFF 5352
DIFF 5574
DIFF 5166
DIFF 8055
DIFF 5945
DIFF 5111
DIFF 5148
DIFF 5055
DIFF 5296
DIFF 5129
DIFF 5481
DIFF 6092
DIFF 5407
DIFF 6536
DIFF 5870
DIFF 5074
DIFF 5074
DIFF 5259
DIFF 5129
DIFF 5259
DIFF 5648
DIFF 5166
DIFF 6463
DIFF 5851
DIFF 5222
DIFF 5148
DIFF 5241
DIFF 5148
DIFF 5240
DIFF 5167
DIFF 5389
DIFF 5241
DIFF 7111
DIFF 5796
DIFF 5463
DIFF 5185
DIFF 5130
DIFF 5148
DIFF 5296
DIFF 5222
DIFF 5408
DIFF 5185
DIFF 6204
DIFF 5944
DIFF 6129
DIFF 5241
DIFF 6148
DIFF 5555
DIFF 5093
DIFF 5296
DIFF 6019
DIFF 7574
DIFF 7889
DIFF 6037
DIFF 5092
DIFF 5463
DIFF 5278
DIFF 5186
DIFF 5074
DIFF 5167
DIFF 6944
DIFF 5037
DIFF 10870
DIFF 9592
DIFF 9111
DIFF 10462
DIFF 8277
DIFF 6889
DIFF 6926
DIFF 9629
DIFF 9648
DIFF 12129
DIFF 8667
DIFF 5814
DIFF 5167
DIFF 5111
DIFF 5204
DIFF 8648
DIFF 5481
DIFF 5833
DIFF 5852
DIFF 5203
DIFF 8185
DIFF 6314
DIFF 5111
DIFF 5148
DIFF 5370
DIFF 5241
DIFF 5148
DIFF 5278
DIFF 5759
DIFF 5222
DIFF 7499
DIFF 6407
DIFF 5352
DIFF 8777
DIFF 6907
DIFF 10351
DIFF 8000
DIFF 12259
DIFF 9278
DIFF 5537
DIFF 7889
DIFF 5463
DIFF 5314
DIFF 5148
DIFF 5222
DIFF 5167
DIFF 6074
DIFF 5870
DIFF 5851
DIFF 5167
DIFF 7481
DIFF 5870
DIFF 5259
DIFF 5186
DIFF 5537
DIFF 5389
DIFF 5389
DIFF 5241
DIFF 6407
DIFF 5370
DIFF 6370
DIFF 5278
DIFF 5259
DIFF 5259
DIFF 5982
DIFF 5371
DIFF 5074
DIFF 5167
DIFF 5592
DIFF 5203
DIFF 5759
DIFF 5296
DIFF 5222
DIFF 5222
DIFF 5185
DIFF 5148
DIFF 5203
DIFF 5389
DIFF 5185
DIFF 6519
DIFF 5889
DIFF 5296
DIFF 5407
DIFF 5074
DIFF 5166
DIFF 5167
DIFF 5315
DIFF 5703
DIFF 5204
DIFF 6351
DIFF 5777
DIFF 5111
DIFF 5111
DIFF 5222
DIFF 5296
DIFF 5130
DIFF 5093
DIFF 5556
DIFF 5129
DIFF 6426
DIFF 5778
DIFF 5203
DIFF 5111
DIFF 5148
DIFF 5278
DIFF 5463
DIFF 5166
DIFF 5500
DIFF 5148
DIFF 6389
DIFF 5982
DIFF 5574
DIFF 5093
DIFF 5037
DIFF 5148
DIFF 5259
DIFF 5666
DIFF 5185
DIFF 6389
DIFF 5851
DIFF 5278
DIFF 5167
DIFF 5296
DIFF 5297
DIFF 5130
DIFF 5296
DIFF 6370
DIFF 5185
DIFF 6611
DIFF 6204
DIFF 5037
DIFF 5148
DIFF 5111
DIFF 5074
DIFF 5055
DIFF 5129
DIFF 5519
DIFF 5037
DIFF 7630
DIFF 5796
DIFF 5130
DIFF 5278
DIFF 5111
DIFF 5370
DIFF 5129
DIFF 5166
DIFF 7074
DIFF 9759
DIFF 11259
DIFF 7370
DIFF 5370
DIFF 5203
DIFF 5130
DIFF 5259
DIFF 5241
DIFF 5203
DIFF 5648
DIFF 5297
DIFF 7555
DIFF 9259
DIFF 8037
DIFF 9833
DIFF 9481
DIFF 10499
DIFF 10185
DIFF 9648
DIFF 9037
DIFF 9815
DIFF 7518
DIFF 5944
DIFF 5167
DIFF 5166
DIFF 5074
DIFF 5204
DIFF 5111
DIFF 7648
DIFF 5482
DIFF 5092
DIFF 8296
DIFF 5870
DIFF 5222
DIFF 5407
DIFF 5296
DIFF 5333
DIFF 5851
DIFF 5111
DIFF 5407
DIFF 9074
DIFF 8296
DIFF 5871
DIFF 5093
DIFF 5092
DIFF 5333
DIFF 6926
DIFF 5537
DIFF 8833
DIFF 9870
DIFF 6666
DIFF 8204
DIFF 7148
DIFF 6426
DIFF 7944
DIFF 7000
DIFF 8797
DIFF 8037
DIFF 7759
DIFF 12685
DIFF 11259
DIFF 15555
DIFF 7555
DIFF 10222
DIFF 8741
DIFF 6462
DIFF 6277
DIFF 9611
DIFF 8944
DIFF 6166
DIFF 5555
DIFF 8000
DIFF 7130
DIFF 7444
DIFF 6444
DIFF 6259
DIFF 5018
DIFF 5166
DIFF 5148
DIFF 8426
DIFF 5593
DIFF 5740
DIFF 5759
DIFF 7222
DIFF 5741
DIFF 5203
DIFF 5796
DIFF 5167
DIFF 5055
DIFF 5259
DIFF 5389
DIFF 5926
DIFF 5371
DIFF 8852
DIFF 6018
DIFF 5129
DIFF 5166
DIFF 5130
DIFF 5518
DIFF 5314
DIFF 5204
DIFF 5611
DIFF 5111
DIFF 2022/01/31 14:36:05.034 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64889 fPos=19.38 fActPosition=19.38 time=0.000035
2022/01/31 14:36:05.034 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=281 fPos=6.984 fActPosition=6.99 time=0.000304
2022/01/31 14:36:05.235 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64887 fPos=19.436 fActPosition=19.44 time=0.000010
2022/01/31 14:36:05.235 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=321 fPos=8.192 fActPosition=8.19 time=0.000007
2022/01/31 14:36:05.435 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64885 fPos=19.496 fActPosition=19.5 time=0.000011
2022/01/31 14:36:05.435 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=361 fPos=9.388 fActPosition=9.39 time=0.000006
2022/01/31 14:36:05.636 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64883 fPos=19.552 fActPosition=19.56 time=0.000011
2022/01/31 14:36:05.636 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=401 fPos=10.588 fActPosition=10.59 time=0.000006
2022/01/31 14:36:05.836 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64881 fPos=19.608 fActPosition=19.62 time=0.000078
2022/01/31 14:36:05.836 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=441 fPos=11.792 fActPosition=11.79 time=0.000012
2022/01/31 14:36:06.037 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64879 fPos=19.664 fActPosition=19.68 time=0.000011
2022/01/31 14:36:06.037 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=481 fPos=12.988 fActPosition=12.99 time=0.000006
2022/01/31 14:36:06.237 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64878 fPos=19.724 fActPosition=19.71 time=0.000015
2022/01/31 14:36:06.237 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=521 fPos=14.196 fActPosition=14.19 time=0.000006
2022/01/31 14:36:06.437 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64876 fPos=19.78 fActPosition=19.77 time=0.000009
2022/01/31 14:36:06.437 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=561 fPos=15.396 fActPosition=15.39 time=0.000006
2022/01/31 14:36:06.637 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64874 fPos=19.836 fActPosition=19.83 time=0.000017
2022/01/31 14:36:06.638 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=602 fPos=16.596 fActPosition=16.62 time=0.000244
6222
DIFF 8907
DIFF 5462
DIFF 7148
DIFF 5352
DIFF 6351
DIFF 5296
DIFF 5056
DIFF 6018
DIFF 5222
DIFF 6500
DIFF 5259
DIFF 5277
DIFF 7519
DIFF 6648
DIFF 7759
DIFF 5407
DIFF 6463
DIFF 7111
DIFF 7611
DIFF 9000
DIFF 6167
DIFF 5926
DIFF 6130
DIFF 7537
DIFF 5926
DIFF 6018
DIFF 5722
DIFF 6333
DIFF 7611
DIFF 9277
DIFF 7519
DIFF 10944
DIFF 7426
DIFF 7741
DIFF 11148
DIFF 6500
DIFF 6963
DIFF 6981
DIFF 5371
DIFF 9796
DIFF 10425
DIFF 14000
DIFF 7759
DIFF 5352
DIFF 5407
DIFF 5351
DIFF 5389
DIFF 11037
DIFF 5148
DIFF 14463
DIFF 16074
DIFF 7685
DIFF 5500
DIFF 5315
DIFF 5204
DIFF 5092
DIFF 5333
DIFF 5648
DIFF 6148
DIFF 7945
DIFF 6334
DIFF 6370
DIFF 7741
DIFF 7463
DIFF 9851
DIFF 8241
DIFF 6574
DIFF 8889
DIFF 13222
DIFF 9926
DIFF 8981
DIFF 6574
DIFF 9537
DIFF 11500
DIFF 9203
DIFF 5352
DIFF 5222
DIFF 6388
DIFF 5852
DIFF 5797
DIFF 6519
DIFF 6685
DIFF 5759
DIFF 8611
DIFF 5333
DIFF 8722
DIFF 5815
DIFF 5185
DIFF 6148
DIFF 7167
DIFF 6333
DIFF 7574
DIFF 5593
DIFF 7722
DIFF 5129
DIFF 6871
DIFF 6648
GRBL busy: 1.00000
DIFF 6036
DIFF 6981
DIFF 6630
DIFF 7389
DIFF 8092
DIFF 7167
DIFF 7481
DIFF 7740
DIFF 5130
DIFF 5130
DIFF 5130
DIFF 5351
DIFF 5148
DIFF 5315
DIFF 5444
DIFF 5185
DIFF 6203
DIFF 5444
DIFF 5223
DIFF 5130
DIFF 5629
DIFF 8982
DIFF 5611
DIFF 5556
DIFF 6962
DIFF 5741
DIFF 7426
DIFF 6425
DIFF 5444
DIFF 5611
DIFF 6945
DIFF 5389
DIFF 5629
DIFF 5611
DIFF 7481
DIFF 5666
DIFF 9148
DIFF 7203
DIFF 5574
DIFF 6093
DIFF 5833
DIFF 5500
DIFF 5833
DIFF 7444
DIFF 7666
DIFF 5333
DIFF 9463
DIFF 6870
DIFF 5870
DIFF 5759
DIFF 5815
DIFF 5407
DIFF 5778
DIFF 5981
DIFF 5889
DIFF 6259
DIFF 7352
DIFF 7648
DIFF 5555
DIFF 5537
DIFF 5222
DIFF 5907
DIFF 5889
DIFF 5407
DIFF 6685
DIFF 5926
DIFF 8092
DIFF 6111
DIFF 5426
DIFF 5555
DIFF 14277
DIFF 5796
DIFF 5888
DIFF 5481
DIFF 6445
DIFF 5407
DIFF 9018
DIFF 7500
DIFF 5371
DIFF 9629
DIFF 9185
DIFF 6389
DIFF 5667
DIFF 5888
DIFF 6537
DIFF 6185
DIFF 8759
DIFF 7630
DIFF 5815
DIFF 5944
DIFF 8167
DIFF 9000
DIFF 9593
DIFF 9778
DIFF 10907
DIFF 9611
DIFF 10204
DIFF 9093
DIFF 12704
DIFF 8851
DIFF 7241
DIFF 6130
DIFF 13370
DIFF 12204
DIFF 11518
DIFF 12277
DIFF 17703
DIFF 5926
DIFF 5518
DIFF 5426
DIFF 5019
DIFF 6240
DIFF 5389
DIFF 5315
DIFF 6851
DIFF 10833
DIFF 9777
DIFF 5518
DIFF 5352
DIFF 6371
DIFF 7537
DIFF 9703
DIFF 6111
DIFF 7888
DIFF 6926
DIFF 5760
DIFF 11093
DIFF 10036
DIFF 5037
DIFF 6185
DIFF 5241
DIFF 60758
DIFF 5056
DIFF 6611
DIFF 5833
DIFF 8556
DIFF 5241
DIFF 5722
DIFF 6333
DIFF 6426
DIFF 5037
DIFF 8796
DIFF 5333
DIFF 5611
DIFF 6222
DIFF 6981
DIFF 5871
DIFF 6277
DIFF 5407
DIFF 5889
DIFF 6222
DIFF 9518
DIFF 5759
DIFF 5056
GRBL busy: 1.00000
DIFF 6333
DIFF 5463
DIFF 5407
DIFF 7463
DIFF 6167
DIFF 5277
DIFF 5222
DIFF 5259
DIFF 5389
DIFF 5352
DIFF 5278
DIFF 5593
DIFF 5204
DIFF 5852
DIFF 5222
DIFF 5240
DIFF 5222
DIFF 5259
DIFF 5111
DIFF 5297
DIFF 5556
DIFF 5056
DIFF 6296
DIFF 5740
DIFF 5333
DIFF 5388
DIFF 5111
DIFF 5093
DIFF 5222
DIFF 5166
DIFF 5500
DIFF 5148
DIFF 6407
DIFF 6425
DIFF 5185
DIFF 5315
DIFF 5203
DIFF 5333
DIFF 5241
DIFF 5352
DIFF 5611
DIFF 5296
DIFF 6315
DIFF 5797
DIFF 5222
DIFF 5093
DIFF 5296
DIFF 5296
DIFF 5185
DIFF 5426
DIFF 5722
DIFF 5296
DIFF 5685
DIFF 5315
DIFF 5259
DIFF 5426
DIFF 5537
DIFF 5351
DIFF 5593
DIFF 5204
DIFF 5426
DIFF 5056
DIFF 7130
DIFF 5778
DIFF 5148
DIFF 5260
DIFF 6833
DIFF 6778
DIFF 5351
DIFF 5166
DIFF 6907
DIFF 5426
DIFF 7315
DIFF 6592
DIFF 5167
DIFF 5296
DIFF 5148
DIFF 5389
DIFF 5666
DIFF 5352
DIFF 7463
DIFF 5871
DIFF 8630
DIFF 7629
DIFF 7037
DIFF 8889
DIFF 8500
DIFF 5222
DIFF 5371
DIFF 11074
DIFF 10814
DIFF 14704
DIFF 13945
DIFF 7574
DIFF 6037
DIFF 5111
DIFF 6019
DIFF 5519
DIFF 5241
DIFF 5259
DIFF 5611
DIFF 5166
DIFF 7259
DIFF 5907
DIFF 5222
DIFF 5259
DIFF 5185
DIFF 5241
DIFF 5222
DIFF 5204
DIFF 5796
DIFF 9018
DIFF 8259
DIFF 6130
DIFF 7648
DIFF 10555
DIFF 7037
DIFF 6315
DIFF 6167
DIFF 6611
DIFF 9519
DIFF 9074
DIFF 12056
DIFF 5333
DIFF 6111
DIFF 5204
DIFF 5278
DIFF 5703
DIFF 6500
DIFF 5129
DIFF 7074
DIFF 5167
DIFF 12537
DIFF 5167
DIFF 5333
DIFF 5129
DIFF 5037
DIFF 11296
DIFF 5907
DIFF 5222
DIFF 6389
DIFF 5351
DIFF 7611
DIFF 5814
DIFF 7314
DIFF 5167
DIFF 5296
DIFF 5204
DIFF 5389
DIFF 5519
DIFF 51852022/01/31 14:36:06.838 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64872 fPos=19.896 fActPosition=19.89 time=0.000014
2022/01/31 14:36:06.839 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=642 fPos=17.796 fActPosition=17.82 time=0.000009
2022/01/31 14:36:07.039 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64870 fPos=19.948 fActPosition=19.95 time=0.000015
2022/01/31 14:36:07.039 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=678 fPos=18.9 fActPosition=18.9 time=0.000011
2022/01/31 14:36:07.239 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.98 fActPosition=19.98 time=0.000016
2022/01/31 14:36:07.240 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=702 fPos=19.616 fActPosition=19.62 time=0.000012
2022/01/31 14:36:07.440 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000159
2022/01/31 14:36:07.440 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=714 fPos=19.968 fActPosition=19.98 time=0.000011
DIFF 7852
DIFF 5925
DIFF 5333
DIFF 5518
DIFF 5130
DIFF 5149
DIFF 5222
DIFF 5611
DIFF 5667
DIFF 5074
DIFF 7019
DIFF 7907
DIFF 6426
DIFF 7463
DIFF 5499
DIFF 8185
DIFF 7926
DIFF 9111
DIFF 11296
DIFF 10796
DIFF 10148
DIFF 12240
DIFF 10223
DIFF 10518
DIFF 21593
DIFF 5815
DIFF 5296
DIFF 6481
DIFF 5945
DIFF 5370
DIFF 7019
DIFF 6018
DIFF 5111
DIFF 5018
DIFF 5167
DIFF 5241
DIFF 5185
DIFF 5315
DIFF 6407
DIFF 5259
DIFF 8297
DIFF 5963
DIFF 5018
DIFF 5204
DIFF 5870
DIFF 8352
DIFF 10500
DIFF 6722
DIFF 11871
DIFF 9055
DIFF 6815
DIFF 6667
DIFF 7018
DIFF 5407
DIFF 7611
DIFF 5093
DIFF 7000
DIFF 7463
DIFF 6760
DIFF 6611
DIFF 7666
DIFF 11556
DIFF 5204
DIFF 6444
DIFF 5222
DIFF 6185
DIFF 5778
DIFF 5074
DIFF 5259
DIFF 5185
DIFF 5185
DIFF 5259
DIFF 5278
DIFF 5908
DIFF 6907
DIFF 7925
DIFF 8018
DIFF 8611
DIFF 8982
DIFF 6611
DIFF 11796
DIFF 5518
DIFF 5629
DIFF 6796
DIFF 5222
DIFF 7167
DIFF 5926
DIFF 16278
DIFF 7185
DIFF 5092
DIFF 5259
DIFF 7426
DIFF 5389
DIFF 11907
DIFF 6352
DIFF 5204
DIFF 5056
DIFF 5093
DIFF 5166
DIFF 5315
DIFF 5203
DIFF 5630
DIFF 5019
DIFF 7907
DIFF 5833
DIFF 5537
DIFF 5314
DIFF 5074
DIFF 5185
DIFF 5149
DIFF 5630
DIFF 5240
DIFF 7556
DIFF 5908
DIFF 5149
DIFF 5297
DIFF 5074
DIFF 5092
DIFF 5388
DIFF 5129
DIFF 5370
DIFF 6092
DIFF 5870
DIFF 7056
DIFF 5167
DIFF 5556
DIFF 5333
DIFF 5407
DIFF 6833
DIFF 5982
DIFF 5888
DIFF 6685
DIFF 5759
DIFF 5185
DIFF 5167
DIFF 5018
DIFF 5074
DIFF 5481
DIFF 5445
DIFF 6593
DIFF 5759
DIFF 5093
DIFF 5223
DIFF 5333
DIFF 5129
DIFF 5055
DIFF 5333
DIFF 6629
DIFF 5703
DIFF 5074
DIFF 5148
DIFF 5241
DIFF 5074
DIFF 5315
DIFF 5111
DIFF 5148
DIFF 5074
DIFF 7000
DIFF 5778
DIFF 6111
DIFF 5203
DIFF 5111
DIFF 5111
DIFF 6703
DIFF 5333
DIFF 6759
DIFF 5907
DIFF 5463
DIFF 5111
DIFF 5797
DIFF 5056
DIFF 6500
DIFF 5759
DIFF 5130
DIFF 5074
DIFF 5240
DIFF 5222
DIFF 5723
DIFF 6111
DIFF 5037
DIFF 5185
DIFF 5037
DIFF 5241
DIFF 5185
DIFF 6111
DIFF 5981
DIFF 5111
DIFF 5111
DIFF 5055
DIFF 5203
DIFF 5074
DIFF 6148
DIFF 5833
DIFF 5074
DIFF 5203
DIFF 5018
DIFF 6370
DIFF 5204
DIFF 7296
DIFF 5944
DIFF 5111
DIFF 6630
DIFF 8185
DIFF 5426
DIFF 5204
DIFF 5982
DIFF 6815
DIFF 5518
DIFF 5907
DIFF 5203
DIFF 5185
DIFF 5056
DIFF 5611
DIFF 6907
DIFF 6333
DIFF 6277
DIFF 9018
DIFF 9278
DIFF 11185
DIFF 6704
DIFF 5056
DIFF 5111
DIFF 8944
DIFF 9499
DIFF 16074
DIFF 5870
DIFF 6741
DIFF 5148
DIFF 6055
DIFF 6352
DIFF 5111
DIFF 6259
DIFF 5611
DIFF 5296
DIFF 5055
DIFF 5760
DIFF 9093
DIFF 8611
DIFF 8425
DIFF 6352
DIFF 6926
DIFF 14222
DIFF 6796
DIFF 5389
DIFF 5018
DIFF 6741
DIFF 5741
DIFF 5148
DIFF 5093
DIFF 6907
DIFF 5982
DIFF 5018
DIFF 5648
DIFF 5407
DIFF 6722
DIFF 6204
DIFF 5111
DIFF 5167
DIFF 5666
DIFF 5018
DIFF 7333
DIFF 5907
DIFF 5111
DIFF 7760
DIFF 5481
DIFF 5018
DIFF 5185
DIFF 6611
DIFF 5500
DIFF 5204
DIFF 5259
DIFF 5963
DIFF 5518
DIFF 6685
DIFF 5537
DIFF 6370
DIFF 5241
DIFF 5463
DIFF 5222
DIFF 5037
DIFF 6333
DIFF 5740
DIFF 5185
DIFF 6315
DIFF 5815
DIFF 5704
DIFF 5889
DIFF 5537
DIFF 5426
DIFF 5111
DIFF 5092
DIFF 6352
DIFF 5888
DIFF 5037
DIFF 5204
DIFF 5481
DIFF 6000
DIFF 5204
DIFF 5019
DIFF 5074
DIFF 7093
DIFF 5666
DIFF 5240
DIFF 6111
DIFF 5185
DIFF 5888
DIFF 5018
DIFF 5074
DIFF 6463
DIFF 5555
DIFF 5166
DIFF 5111
DIFF 5648
DIFF 5185
DIFF 5148
DIFF 5777
DIFF 6018
DIFF 6834
DIFF 5445
DIFF 5370
DIFF 6759
DIFF 5963
DIFF 6796
DIFF 7666
DIFF 8704
DIFF 7666
DIFF 7667
DIFF 5092
DIFF 5092
DIFF 6296
DIFF 8296
DIFF 6593
DIFF 8223
DIFF 16389
DIFF 5296
DIFF 6666
DIFF 5018
DIFF 6148
DIFF 5481
DIFF 5111
DIFF 6074
DIFF 7962
DIFF 5963
DIFF 5333
DIFF 8092
DIFF 6667
DIFF 5759
DIFF 6482
DIFF 11703
DIFF 6852
DIFF 9092
DIFF 6037
DIFF 7185
DIFF 9000
DIFF 9760
DIFF 5334
DIFF 5685
DIFF 5148
DIFF 9778
DIFF 5722
DIFF 6907
DIFF 5574
DIFF 5852
DIFF 5222
DIFF 7222
DIFF 5556
DIFF 5223
DIFF 6982
DIFF 6037
DIFF 6481
DIFF 5537
DIFF 6148
DIFF 6481
DIFF 7908
DIFF 5537
DIFF 6593
DIFF 5519
DIFF 5129
DIFF 6185
DIFF 5463
DIFF 6722
DIFF 6333
DIFF 5741
DIFF 5204
DIFF 6685
DIFF 5111
DIFF 6685
DIFF 8018
DIFF 5482
DIFF 6592
DIFF 9129
DIFF 8574
DIFF 9814
DIFF 9574
DIFF 6407
DIFF 7370
DIFF 9370
DIFF 9166
DIFF 7111
DIFF 16740
DIFF 5315
DIFF 5463
DIFF 5889
DIFF 5315
DIFF 5870
DIFF 8167
DIFF 5204
DIFF 62022/01/31 14:36:07.640 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000014
2022/01/31 14:36:07.641 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=714 fPos=20 fActPosition=19.98 time=0.000009
2022/01/31 14:36:07.841 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000137
2022/01/31 14:36:07.841 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000010
2022/01/31 14:36:08.041 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000017
2022/01/31 14:36:08.042 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=714 fPos=20 fActPosition=19.98 time=0.000011
2022/01/31 14:36:08.242 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000018
2022/01/31 14:36:08.242 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000011
2022/01/31 14:36:08.443 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000015
2022/01/31 14:36:08.443 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000384
2022/01/31 14:36:08.643 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000014
2022/01/31 14:36:08.644 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=714 fPos=20 fActPosition=19.98 time=0.000010
2022/01/31 14:36:08.844 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000170
2022/01/31 14:36:08.844 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000011
074
DIFF 7037
DIFF 8240
DIFF 7555
DIFF 5518
DIFF 6648
DIFF 7055
DIFF 9944
DIFF 5148
DIFF 7426
DIFF 7815
DIFF 15111
DIFF 10111
DIFF 9944
DIFF 15629
DIFF 9148
DIFF 10741
DIFF 11833
DIFF 9278
DIFF 10555
../grbl/grbl_stepper.c:st_go_idle:259:
DIFF 27999
DIFF 16870
DIFF 7834
DIFF 10407
DIFF 7037
DIFF 5722
DIFF 10462
DIFF 5500
DIFF 5389
DIFF 8907
DIFF 6055
DIFF 6389
DIFF 5963
GRBL busy: 1.00000
DIFF 5055
DIFF 6000
DIFF 5278
DIFF 5334
DIFF 9796
DIFF 8944
DIFF 5760
DIFF 13259
DIFF 7704
DIFF 5537
DIFF 6852
DIFF 5037
DIFF 6148
DIFF 7648
DIFF 7888
DIFF 11315
DIFF 7259
DIFF 7093
DIFF 6611
DIFF 5019
DIFF 8500
DIFF 5074
DIFF 5130
DIFF 5093
DIFF 12130
DIFF 5593
DIFF 6370
DIFF 5056
DIFF 5111
DIFF 5111
DIFF 5018
DIFF 5556
DIFF 5389
DIFF 5445
DIFF 6888
DIFF 5556
DIFF 7000
DIFF 6463
DIFF 5314
DIFF 5148
DIFF 5444
DIFF 5277
DIFF 5055
DIFF 5518
DIFF 5963
DIFF 5129
DIFF 5555
DIFF 5296
DIFF 5482
DIFF 5074
DIFF 8611
DIFF 5241
DIFF 5963
DIFF 7870
DIFF 7500
DIFF 9611
DIFF 7092
DIFF 5074
DIFF 9278
DIFF 9481
DIFF 16111
DIFF 5981
DIFF 6499
DIFF 7259
DIFF 5222
DIFF 6352
DIFF 6889
DIFF 5222
DIFF 8519
DIFF 6111
DIFF 11926
DIFF 10630
DIFF 7741
DIFF 5351
DIFF 8093
DIFF 5167
DIFF 8629
DIFF 6037
DIFF 5259
DIFF 5222
DIFF 5797
DIFF 5241
DIFF 5296
DIFF 6204
DIFF 5259
DIFF 6092
DIFF 5981
DIFF 5389
DIFF 5148
DIFF 9351
DIFF 7037
DIFF 6815
DIFF 5537
DIFF 5055
DIFF 5351
DIFF 5277
DIFF 6445
DIFF 6240
DIFF 7241
DIFF 5093
DIFF 6445
DIFF 8259
DIFF 12130
DIFF 12574
DIFF 6462
DIFF 9481
DIFF 6000
DIFF 9185
DIFF 15333
DIFF 19278
DIFF 5685
DIFF 7092
DIFF 5185
DIFF 6888
DIFF 5129
DIFF 5888
DIFF 5296
DIFF 6981
DIFF 9629
DIFF 5518
DIFF 17463
DIFF 9315
DIFF 6685
DIFF 5130
DIFF 7648
DIFF 9925
DIFF 5518
DIFF 5555
DIFF 5222
DIFF 5297
DIFF 5370
DIFF 5037
DIFF 5482
DIFF 5907
DIFF 5074
DIFF 5203
DIFF 5129
DIFF 5722
DIFF 7222
DIFF 6167
DIFF 5611
DIFF 6741
DIFF 7574
DIFF 5833
DIFF 5759
DIFF 5666
DIFF 6963
DIFF 5204
DIFF 5352
DIFF 6741
DIFF 6648
DIFF 5019
DIFF 5167
DIFF 8815
DIFF 7185
DIFF 6351
DIFF 6907
DIFF 8778
DIFF 5093
DIFF 10111
DIFF 17018
DIFF 14148
DIFF 5241
DIFF 5408
DIFF 5352
DIFF 6667
DIFF 5259
DIFF 5648
DIFF 6240
DIFF 6389
DIFF 7037
DIFF 7296
DIFF 7981
DIFF 6463
DIFF 5888
DIFF 5426
DIFF 11556
DIFF 6259
DIFF 6630
DIFF 8760
DIFF 7592
DIFF 5426
DIFF 8740
DIFF 5111
DIFF 5315
DIFF 5407
DIFF 5167
DIFF 5314
DIFF 5204
DIFF 6407
DIFF 6148
DIFF 5037
DIFF 6685
DIFF 5018
DIFF 5537
DIFF 5500
DIFF 5574
DIFF 5018
DIFF 5315
DIFF 5093
DIFF 5297
DIFF 5148
DIFF 5889
DIFF 6518
DIFF 9222
DIFF 5278
DIFF 8815
DIFF 7981
DIFF 6073
DIFF 7055
DIFF 7315
DIFF 6851
DIFF 5815
DIFF 8222
DIFF 14908
DIFF 5333
DIFF 5482
DIFF 7000
DIFF 5092
DIFF 6889
DIFF 5482
DIFF 5703
DIFF 9352
DIFF 6056
DIFF 7574
DIFF 5222
DIFF 17926
DIFF 9870
DIFF 6037
DIFF 7352
DIFF 5148
DIFF 5389
DIFF 5593
DIFF 5055
DIFF 5092
GRBL busy: 1.00000
DIFF 5888
DIFF 6055
DIFF 5018
DIFF 5759
DIFF 6555
DIFF 5092
DIFF 6000
DIFF 7148
DIFF 5037
DIFF 5371
DIFF 5167
DIFF 5056
DIFF 5408
DIFF 5130
DIFF 5074
DIFF 5445
DIFF 5074
DIFF 5222
DIFF 7333
DIFF 6444
DIFF 5426
DIFF 5389
DIFF 7574
DIFF 6000
DIFF 6129
DIFF 7259
DIFF 9370
DIFF 10351
DIFF 5222
DIFF 5204
DIFF 6740
DIFF 5055
DIFF 7629
DIFF 7185
DIFF 21648
DIFF 6999
DIFF 11055
DIFF 10333
DIFF 5259
DIFF 7185
DIFF 5129
DIFF 8333
DIFF 5871
DIFF 5333
DIFF 10462
DIFF 8666
DIFF 8666
DIFF 6240
DIFF 5166
DIFF 13389
DIFF 6037
DIFF 6351
DIFF 11240
DIFF 5704
DIFF 5481
DIFF 6185
DIFF 5370
DIFF 5166
DIFF 5500
DIFF 5185
DIFF 5296
DIFF 5019
DIFF 5185
DIFF 5463
DIFF 7018
DIFF 5129
DIFF 5389
DIFF 5129
DIFF 5130
DIFF 6222
DIFF 5759
DIFF 5296
DIFF 5704
DIFF 5815
DIFF 7556
DIFF 7537
DIFF 7148
DIFF 5018
DIFF 7723
DIFF 6685
DIFF 8352
DIFF 9833
DIFF 6037
DIFF 9648
DIFF 10741
DIFF 7037
DIFF 28167
DIFF 8333
DIFF 5223
DIFF 5778
DIFF 8333
DIFF 7000
DIFF 6259
DIFF 7019
DIFF 5685
DIFF 7148
DIFF 5463
DIFF 7871
DIFF 6797
DIFF 5463
DIFF 5093
DIFF 10463
DIFF 5500
DIFF 8370
DIFF 8722
DIFF 10908
DIFF 9926
DIFF 9092
DIFF 9833
DIFF 8185
DIFF 8945
DIFF 8389
DIFF 7611
DIFF 7852
DIFF 14074
DIFF 9556
DIFF 19500
DIFF 13092
DIFF 17722
DIFF 18203
DIFF 22593
DIFF 14481
DIFF 15666
DIFF 12296
DIFF 16648
DIFF 15148
DIFF 15426
DIFF 9019
DIFF 11592
2022/01/31 14:36:09.044 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000010
2022/01/31 14:36:09.045 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000005
2022/01/31 14:36:09.245 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000073
2022/01/31 14:36:09.245 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=714 fPos=20 fActPosition=19.98 time=0.000007
2022/01/31 14:36:09.445 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64869 fPos=20 fActPosition=19.98 time=0.000009
2022/01/31 14:36:09.445 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=715 fPos=20 fActPosition=20.01 time=0.000006
2022/01/31 14:36:09.645 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=64868 fPos=20 fActPosition=20.01 time=0.000010
2022/01/31 14:36:09.646 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=713 fPos=19.912 fActPosition=19.95 time=0.000006
2022/01/31 14:36:09.846 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.992 fActPosition=19.98 time=0.000057
2022/01/31 14:36:09.846 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=696 fPos=19.464 fActPosition=19.44 time=0.000006
2022/01/31 14:36:10.046 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.952 fActPosition=19.98 time=0.000010
2022/01/31 14:36:10.046 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=670 fPos=18.652 fActPosition=18.66 time=0.000006
2022/01/31 14:36:10.246 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64874 fPos=19.84 fActPosition=19.83 time=0.000011
2022/01/31 14:36:10.247 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=632 fPos=17.516 fActPosition=17.52 time=0.000006
2022/01/31 14:36:10.447 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64880 fPos=19.668 fActPosition=19.65 time=0.000053
2022/01/31 14:36:10.447 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=594 fPos=16.384 fActPosition=16.38 time=0.000006
2022/01/31 14:36:10.647 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64887 fPos=19.432 fActPosition=19.44 time=0.000010
2022/01/31 14:36:10.647 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=557 fPos=15.284 fActPosition=15.27 time=0.000006
DIFF 10722
DIFF 13667
DIFF 10018
DIFF 12130
DIFF 9796
DIFF 12166
DIFF 12167
DIFF 12445
DIFF 7500
DIFF 7240
DIFF 5463
DIFF 5926
DIFF 5500
DIFF 6740
DIFF 5370
DIFF 6500
DIFF 6278
DIFF 7518
DIFF 5500
DIFF 8167
DIFF 8389
DIFF 6630
DIFF 7407
DIFF 7759
DIFF 10611
DIFF 9148
DIFF 7111
DIFF 9186
DIFF 8463
DIFF 6704
DIFF 10278
DIFF 5074
DIFF 12259
DIFF 6426
DIFF 5871
DIFF 8426
DIFF 14296
DIFF 5759
DIFF 6481
DIFF 6203
DIFF 9148
DIFF 5593
DIFF 10871
DIFF 9667
DIFF 15722
DIFF 13351
DIFF 8426
DIFF 6834
DIFF 5759
DIFF 30722
DIFF 9259
DIFF 8444
DIFF 18055
DIFF 13055
DIFF 9815
DIFF 8963
DIFF 6426
DIFF 6611
DIFF 5056
DIFF 6907
DIFF 8667
DIFF 5111
DIFF 5426
DIFF 5722
DIFF 5222
DIFF 5055
DIFF 5037
DIFF 6796
DIFF 11241
DIFF 6537
DIFF 5926
DIFF 5740
DIFF 6167
DIFF 5240
DIFF 5370
DIFF 5815
DIFF 5815
DIFF 7371
DIFF 7333
DIFF 7463
DIFF 6574
GRBL: INFO: Reply OK (command[1] = G4P2)
GRBL: INFO: Write command (command[2] = G2X0Y0R20)
Added: G2X0Y0R20../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_arc:91:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_update_plan_block_parameters:639:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_update_plan_block_parameters:639:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_stepper.c:st_wake_up:228:
../grbl/grbl_motion_control.c:mc_line:33:
GRBL busy: 1.00000
DIFF 5796
DIFF 6204
DIFF 6426
DIFF 7592
DIFF 5981
DIFF 6148
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5204
DIFF 5074
DIFF 5537
DIFF 5259
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5241
DIFF 5870
DIFF 5852
DIFF 7944
DIFF 6537
DIFF 6573
DIFF 8203
DIFF 9315
DIFF 8463
DIFF 8352
DIFF 7556
DIFF 7018
DIFF 8037
DIFF 11259
DIFF 8407
DIFF 11833
DIFF 6630
DIFF 6629
DIFF 5481
DIFF 10518
DIFF 5204
DIFF 5444
DIFF 5611
DIFF 6870
DIFF 5277
DIFF 5685
DIFF 5666
DIFF 5889
DIFF 5407
DIFF 5093
DIFF 5222
DIFF 5981
DIFF 5648
DIFF 5574
DIFF 5036
DIFF 5222
DIFF 5777
DIFF 6351
DIFF 5019
DIFF 5018
DIFF 5092
DIFF 6296
DIFF 5555
DIFF 5074
DIFF 5037
DIFF 6648
DIFF 5481
DIFF 5315
DIFF 5056
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5944
DIFF 5722
DIFF 6481
DIFF 6018
DIFF 5852
DIFF 7092
DIFF 7408
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5648
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5056
DIFF 5351
DIFF 6537
DIFF 8278
DIFF 6851
DIFF 7962
DIFF 6445
DIFF 5519
DIFF 6852
DIFF 9833
DIFF 6796
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5351
DIFF 5352
DIFF 5297
DIFF 7093
DIFF 6370
DIFF 7370
DIFF 6074
DIFF 5962
DIFF 6186
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6130
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5389
DIFF 7389
DIFF 5722
DIFF 5963
DIFF 7704
DIFF 7963
DIFF 6536
DIFF 8426
DIFF 6296
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5093
DIFF 6592
DIFF 6278
DIFF 6426
DIFF 7371
DIFF 5296
DIFF 6592
DIFF 7092
DIFF 5592
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7296
DIFF2022/01/31 14:36:10.848 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64898 fPos=19.132 fActPosition=19.11 time=0.000010
2022/01/31 14:36:10.848 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=520 fPos=14.18 fActPosition=14.16 time=0.000006
2022/01/31 14:36:11.048 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64910 fPos=18.756 fActPosition=18.75 time=0.000011
2022/01/31 14:36:11.048 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=483 fPos=13.06 fActPosition=13.05 time=0.000006
2022/01/31 14:36:11.248 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64924 fPos=18.312 fActPosition=18.33 time=0.000010
2022/01/31 14:36:11.248 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=447 fPos=11.968 fActPosition=11.97 time=0.000006
2022/01/31 14:36:11.449 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64941 fPos=17.828 fActPosition=17.82 time=0.000011
2022/01/31 14:36:11.449 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=412 fPos=10.944 fActPosition=10.92 time=0.000006
2022/01/31 14:36:11.649 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64960 fPos=17.268 fActPosition=17.25 time=0.000011
2022/01/31 14:36:11.649 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=378 fPos=9.908 fActPosition=9.9 time=0.000006
2022/01/31 14:36:11.849 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64980 fPos=16.66 fActPosition=16.65 time=0.000010
2022/01/31 14:36:11.849 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=346 fPos=8.94 fActPosition=8.94 time=0.000006
2022/01/31 14:36:12.050 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65002 fPos=15.988 fActPosition=15.99 time=0.000012
2022/01/31 14:36:12.050 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=314 fPos=7.98 fActPosition=7.98 time=0.000126
2022/01/31 14:36:12.250 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65026 fPos=15.268 fActPosition=15.27 time=0.000010
2022/01/31 14:36:12.250 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=284 fPos=7.084 fActPosition=7.08 time=0.000006
2022/01/31 14:36:12.450 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65052 fPos=14.492 fActPosition=14.49 time=0.000011
2022/01/31 14:36:12.451 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=255 fPos=6.216 fActPosition=6.21 time=0.000006
2022/01/31 14:36:12.651 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65080 fPos=13.664 fActPosition=13.65 time=0.000073
2022/01/31 14:36:12.651 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=228 fPos=5.396 fActPosition=5.4 time=0.000007
2022/01/31 14:36:12.851 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65109 fPos=12.788 fActPosition=12.78 time=0.000011
2022/01/31 14:36:12.851 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=202 fPos=4.624 fActPosition=4.62 time=0.000007
2022/01/31 14:36:13.052 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65139 fPos=11.884 fActPosition=11.88 time=0.000011
2022/01/31 14:36:13.052 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=178 fPos=3.916 fActPosition=3.9 time=0.000006
5574
DIFF 6870
DIFF 6870
DIFF 6148
DIFF 6019
DIFF 6093
DIFF 6870
DIFF 7315
DIFF 6241
DIFF 7185
DIFF 7574
DIFF 7148
DIFF 6333
DIFF 6092
DIFF 7056
DIFF 6760
DIFF 8315
DIFF 6963
DIFF 7666
DIFF 7999
DIFF 10592
DIFF 7519
DIFF 8259
DIFF 7148
DIFF 11500
DIFF 6630
DIFF 5833
DIFF 5648
DIFF 5482
DIFF 5463
DIFF 7944
DIFF 8111
DIFF 6056
DIFF 6889
DIFF 6482
DIFF 6778
DIFF 6371
DIFF 6389
DIFF 6630
DIFF 7148
DIFF 7444
DIFF 5519
DIFF 5778
DIFF 6278
DIFF 6963
DIFF 5426
DIFF 6778
DIFF 6574
DIFF 5444
DIFF 6167
DIFF 6741
DIFF 6685
DIFF 7389
DIFF 8333
DIFF 9741
DIFF 5611
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5556
DIFF 6074
DIFF 6407
DIFF 6463
DIFF 5277
DIFF 5666
DIFF 7704
DIFF 6445
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5871
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5185
DIFF 5445
DIFF 6981
DIFF 7111
DIFF 5888
DIFF 6536
DIFF 6241
DIFF 5222
DIFF 6259
DIFF 5982
DIFF 5889
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6185
DIFF 13148
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5463
DIFF 5222
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5148
DIFF 5500
DIFF 6074
DIFF 6555
DIFF 13074
DIFF 5648
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6222
DIFF 7037
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5074
DIFF 5185
DIFF 7315
DIFF 5241
DIFF 6574
DIFF 5388
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7166
DIFF 5537
DIFF 5833
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6851
DIFF 6870
DIFF 5444
DIFF 30352
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5963
DIFF 7314
DIFF 6926
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5315
DIFF 6907
DIFF 6370
DIFF 7352
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5556
DIFF 7444
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5037
DIFF 6685
DIFF 5222
DIFF 5629
DIFF 5871
DIFF 6148
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5667
DIFF 6333
DIFF 6055
DIFF 5445
DIFF 5889
DIFF 6259
DIFF 5537
DIFF 6778
DIFF 5981
DIFF 5815
DIFF 5759
DIFF 8110
DIFF 7870
DIFF 6000
DIFF 16018
DIFF 6093
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5556
DIFF 6111
DIFF 5129
DIFF 6907
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5055
DIFF 5240
DIFF 6352
DIFF 5037
DIFF 6648
DIFF 7481
DIFF 12630
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5148
DIFF 5037
DIFF 5129
DIFF 6685
DIFF 9203
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6740
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5796
DIFF 5518
DIFF 6703
DIFF 6333
DIFF 5370
DIFF 10389
DIFF 7593
DIFF 6870
DIFF 5777
DIFF 10814
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6481
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5962
DIFF 5760
DIFF 5759
DIFF 5518
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5371
DIFF 9703
DIFF 5944
DIFF 6259
DIFF 8759
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5833
DIFF 8019
DIFF 7055
DIFF 5574
DIFF 7259
DIFF 6667
DIFF 6259
DIFF 6371
DIFF 5760
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5722
DIFF 5333
DIFF 6740
DIFF 7204
DIFF 6834
DIFF 6741
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6611
DIFF 8630
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6352
DIFF 5555
DIFF 5925
DIFF 5703
DIFF 5703
DIFF 5203
DIFF 6481
DIFF 7667
DIFF 6445
DIFF 10444
../grbl/grbl_motio2022/01/31 14:36:13.252 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65171 fPos=10.924 fActPosition=10.92 time=0.000011
2022/01/31 14:36:13.252 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=156 fPos=3.252 fActPosition=3.24 time=0.000007
2022/01/31 14:36:13.452 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65203 fPos=9.948 fActPosition=9.96 time=0.000012
2022/01/31 14:36:13.452 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=136 fPos=2.648 fActPosition=2.64 time=0.000007
2022/01/31 14:36:13.653 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65238 fPos=8.912 fActPosition=8.91 time=0.000011
2022/01/31 14:36:13.653 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=118 fPos=2.096 fActPosition=2.1 time=0.000007
2022/01/31 14:36:13.853 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65272 fPos=7.884 fActPosition=7.89 time=0.000063
2022/01/31 14:36:13.853 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=102 fPos=1.62 fActPosition=1.62 time=0.000006
2022/01/31 14:36:14.053 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65309 fPos=6.78 fActPosition=6.78 time=0.000018
2022/01/31 14:36:14.054 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=88 fPos=1.188 fActPosition=1.2 time=0.000013
2022/01/31 14:36:14.254 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65346 fPos=5.664 fActPosition=5.67 time=0.000200
2022/01/31 14:36:14.254 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=75 fPos=0.82 fActPosition=0.81 time=0.000012
n_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5722
DIFF 6389
DIFF 7055
DIFF 6389
DIFF 5408
DIFF 6426
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5352
DIFF 6537
DIFF 6944
DIFF 7982
DIFF 6482
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6093
DIFF 6759
DIFF 5092
DIFF 6019
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7370
DIFF 7167
DIFF 6296
GRBL: INFO: Reply OK (command[2] = G2X0Y0R20)
GRBL: INFO: Write command (command[3] = G4P2)
Added: G4P2DIFF 12759
../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_dwell:200:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5407
DIFF 5074
DIFF 6186
DIFF 5444
GRBL busy: 1.00000
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5297
DIFF 7055
DIFF 5574
DIFF 8056
DIFF 7018
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 8666
DIFF 5962
DIFF 6241
DIFF 5463
DIFF 7259
DIFF 14574
DIFF 6666
DIFF 5018
DIFF 6482
DIFF 5555
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5796
DIFF 7407
DIFF 5019
DIFF 6000
DIFF 8167
DIFF 10092
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5278
DIFF 5482
DIFF 7555
DIFF 10056
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5630
DIFF 5944
DIFF 74536
DIFF 6056
DIFF 6204
DIFF 5629
DIFF 5093
DIFF 5555
DIFF 5259
DIFF 6556
DIFF 6611
DIFF 8537
DIFF 7611
DIFF 5333
DIFF 5130
DIFF 5185
DIFF 5167
DIFF 5148
DIFF 5185
DIFF 7593
DIFF 5814
DIFF 5167
DIFF 5815
DIFF 5055
DIFF 5204
DIFF 8000
DIFF 5463
DIFF 5055
DIFF 5129
DIFF 6778
DIFF 5778
DIFF 5074
DIFF 6073
DIFF 5148
DIFF 5111
DIFF 5259
DIFF 5185
DIFF 5093
DIFF 5092
DIFF 6278
DIFF 5815
DIFF 5111
DIFF 5667
DIFF 5222
DIFF 5074
DIFF 5222
DIFF 5241
DIFF 5204
DIFF 5055
DIFF 8000
DIFF 6426
DIFF 5333
DIFF 5741
DIFF 5074
DIFF 5926
DIFF 5167
DIFF 5278
DIFF 5259
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7685
DIFF 11704
DIFF 10500
DIFF 6408
DIFF 7259
DIFF 9760
DIFF 9555
DIFF 10407
DIFF 6592
DIFF 5055
DIFF 5537
DIFF 8092
DIFF 9685
DIFF 9056
DIFF 12759
DIFF 5741
DIFF 5148
DIFF 5685
DIFF 6408
DIFF 5926
DIFF 5370
DIFF 7482
DIFF 5815
DIFF 5352
DIFF 6463
DIFF 5259
DIFF 5093
DIFF 5222
DIFF 5296
DIFF 5351
DIFF 5555
DIFF 6148
DIFF 6185
DIFF 8815
DIFF 6093
DIFF 6611
DIFF 6685
DIFF 5796
DIFF 5185
DIFF 6685
DIFF 11500
DIFF 9352
DIFF 7055
DIFF 6815
DIFF 6037
DIFF 9499
DIFF 7296
DIFF 5593
DIFF 8482
DIFF 8000
DIFF 7314
DIFF 8278
DIFF 8056
DIFF 5241
DIFF 5222
DIFF 5167
DIFF 5315
DIFF 5204
DIFF 5111
DIFF 10610
DIFF 6074
DIFF 5223
DIFF 5296
DIFF 5426
DIFF 5352
DIFF 5166
DIFF 6074
DIFF 5018
DIFF 7907
DIFF 6148
DIFF 5297
DIFF 5148
DIFF 5036
DIFF 5260
DIFF 5111
DIFF 5204
DIFF 5574
DIFF 6870
DIFF 5814
DIFF 5148
DIFF 5203
DIFF 5056
DIFF 5055
DIFF 5204
DIFF 5037
DIFF 5371
DIFF 5945
DIFF 7889
DIFF 5777
DIFF 5222
DIFF 5130
DIFF 5185
DIFF 5222
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 9240
DIFF 6907
DIFF 5926
DIFF 5611
DIFF 7111
DIFF 5926
DIFF 5056
DIFF 5241
DIFF 5370
DIFF 5111
DIFF 5556
DIFF 5167
DIFF 5462
DIFF 5203
DIFF 6037
DIFF 5129
DIFF 5278
DIFF 5203
DIFF 5370
DIFF 5092
DIFF 5500
DIFF 5185
DIFF 5185
DIFF 5019
DIFF 6574
DIFF 5741
DIFF 5352
DIFF 5167
DIFF 5166
DIFF 5611
DIFF 6888
DIFF 8499
DIFF 7518
DIFF 8944
DIFF 6130
DIFF 5278
DIFF 5259
DIFF 5148
DIFF 5037
DIFF 5593
DIFF 5759
DIFF 5129
DIFF 7056
DIFF 5908
DIFF 5241
DIFF 5888
DIFF 9963
DIFF 7037
DIFF 5129
DIFF 5426
DIFF 5426
DIFF 5259
DIFF 7759
DIFF 6056
DIFF 5074
DIFF 5092
DIFF 5185
DIFF 5148
DIFF 5611
DIFF 5148
DIFF 5186
DIFF 6926
DIFF 5944
DIFF 5185
DIFF 5129
DIFF 5204
DIFF 6629
DIFF 5315
DIFF 6407
DIFF 5833
DIFF 5130
DIFF 5203
DIFF 5111
DIFF 5019
DIFF 5222
DIFF 5055
DIFF 6500
DIFF 5074
DIFF 6055
DIFF 5815
DIFF 5185
DIFF 5019
DIFF 5148
DIFF 5296
DIFF 5074
DIFF 5537
DIFF 5111
DIFF 6982
DIFF 8648
DIFF 5815
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6556
DIFF 5407
DIFF 5278
DIFF 5278
DIFF 5519
DIFF 5203
DIFF 7093
DIFF 5371
DIFF 7519
DIFF 6685
DIFF 8481
DIFF 7407
DIFF 9166
DIFF 13315
DIFF 6315
DIFF 5500
DIFF 6185
DIFF 8444
DIFF 10907
DIFF 10074
DIFF 96852022/01/31 14:36:14.455 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65383 fPos=4.56 fActPosition=4.56 time=0.000019
2022/01/31 14:36:14.455 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=66 fPos=0.528 fActPosition=0.54 time=0.000076
2022/01/31 14:36:14.655 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65420 fPos=3.452 fActPosition=3.45 time=0.000019
2022/01/31 14:36:14.656 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=58 fPos=0.3 fActPosition=0.3 time=0.000011
DIFF 5834
DIFF 5944
DIFF 8629
DIFF 6333
DIFF 5204
DIFF 9796
DIFF 7945
DIFF 5556
DIFF 5315
DIFF 14870
DIFF 8611
DIFF 5519
DIFF 5333
DIFF 5223
DIFF 5111
DIFF 6519
DIFF 5833
DIFF 5407
DIFF 5685
DIFF 5074
DIFF 5389
DIFF 5130
DIFF 6851
DIFF 8315
DIFF 6370
DIFF 11778
DIFF 9093
DIFF 8500
DIFF 9037
DIFF 9130
DIFF 5611
DIFF 5111
DIFF 5241
DIFF 5240
DIFF 7093
DIFF 5203
DIFF 5148
DIFF 5593
DIFF 5204
DIFF 12963
DIFF 11870
DIFF 10519
DIFF 16371
DIFF 12055
DIFF 5796
DIFF 5203
DIFF 6630
DIFF 5129
DIFF 5130
DIFF 6314
DIFF 5685
DIFF 5056
DIFF 6185
DIFF 5463
DIFF 5204
DIFF 5204
DIFF 5296
DIFF 5241
DIFF 5093
DIFF 5723
DIFF 5944
DIFF 5148
DIFF 5926
DIFF 5314
DIFF 5204
DIFF 5185
DIFF 5371
DIFF 5130
DIFF 5185
DIFF 6167
DIFF 5278
DIFF 5259
DIFF 6352
DIFF 5870
DIFF 6036
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5648
DIFF 5351
DIFF 5111
DIFF 5148
DIFF 5130
DIFF 5167
DIFF 6833
DIFF 6092
DIFF 5204
DIFF 10648
DIFF 6334
DIFF 5203
DIFF 5203
DIFF 5759
DIFF 5204
DIFF 8130
DIFF 5815
DIFF 5166
DIFF 5111
DIFF 5444
DIFF 5203
DIFF 5056
DIFF 5148
DIFF 5130
DIFF 8000
DIFF 5963
DIFF 5297
DIFF 5092
DIFF 5815
DIFF 5277
DIFF 5148
DIFF 5389
DIFF 5111
DIFF 6222
DIFF 5907
DIFF 13814
DIFF 5278
DIFF 5333
DIFF 5963
DIFF 5185
DIFF 5278
DIFF 6407
DIFF 6074
DIFF 6000
DIFF 5166
DIFF 5129
DIFF 5111
DIFF 5667
DIFF 5315
DIFF 5259
DIFF 5074
DIFF 6222
DIFF 5556
DIFF 6203
DIFF 5222
DIFF 5333
DIFF 5519
DIFF 5240
DIFF 5167
DIFF 5611
DIFF 5555
DIFF 5185
DIFF 5241
DIFF 5186
DIFF 5481
DIFF 5185
DIFF 5222
DIFF 6352
DIFF 5870
DIFF 5203
DIFF 5148
DIFF 5389
DIFF 5445
DIFF 5259
DIFF 5722
DIFF 5185
DIFF 6777
DIFF 6426
DIFF 5203
DIFF 5185
DIFF 5203
DIFF 5223
DIFF 5445
DIFF 5074
DIFF 5463
DIFF 6370
DIFF 8018
DIFF 9203
DIFF 5352
DIFF 5074
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5666
DIFF 5333
DIFF 5370
DIFF 5240
DIFF 5130
DIFF 5852
DIFF 5240
DIFF 5463
DIFF 7777
DIFF 9018
DIFF 9555
DIFF 9574
DIFF 6203
DIFF 5204
DIFF 5333
DIFF 11184
DIFF 10537
DIFF 8815
DIFF 13203
DIFF 5352
DIFF 16814
DIFF 5999
DIFF 6425
DIFF 5278
DIFF 8259
DIFF 6685
DIFF 5463
DIFF 5204
DIFF 5982
DIFF 5556
DIFF 5241
DIFF 5074
DIFF 5463
DIFF 7500
DIFF 6704
DIFF 5259
DIFF 5203
DIFF 5260
DIFF 5277
DIFF 7907
DIFF 9759
DIFF 10703
DIFF 7481
DIFF 8111
DIFF 14445
DIFF 7426
DIFF 5537
DIFF 5111
DIFF 5204
DIFF 5111
DIFF 16926
DIFF 15740
DIFF 15833
DIFF 15907
DIFF 8704
DIFF 8537
DIFF 7777
DIFF 5592
DIFF 5351
DIFF 5870
DIFF 6314
DIFF 15333
DIFF 8425
DIFF 5277
DIFF 5018
DIFF 5888
DIFF 5499
DIFF 5148
DIFF 5352
DIFF 5352
DIFF 5555
DIFF 7629
DIFF 5797
DIFF 5222
DIFF 5296
DIFF 5185
DIFF 5130
DIFF 5130
DIFF 5093
DIFF 5500
DIFF 11537
DIFF 7834
DIFF 5185
DIFF 5963
DIFF 5297
DIFF 5333
DIFF 5203
DIFF 5241
GRBL busy: 1.00000
DIFF 5500
DIFF 5167
DIFF 6815
DIFF 5370
DIFF 5704
DIFF 5277
DIFF 5111
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6296
DIFF 6055
DIFF 5222
DIFF 5407
DIFF 6000
DIFF 5685
DIFF 5296
DIFF 6240
DIFF 5370
DIFF 5574
DIFF 5945
DIFF 5241
DIFF 5296
DIFF 7555
DIFF 6445
DIFF 9870
DIFF 8167
DIFF 5148
DIFF 5296
DIFF 5463
DIFF 5351
DIFF 5092
DIFF 7592
DIFF 5944
DIFF 5518
DIFF 5259
DIFF 5315
DIFF 5074
DIFF 5130
DIFF 5389
DIFF 5203
DIFF 6944
DIFF 6055
DIFF 5111
DIFF 5055
DIFF 5388
DIFF 5130
DIFF 5425
DIFF 5908
DIFF 6407
DIFF 5796
DIFF 5277
DIFF 5296
DIFF 5352
DIFF 5241
DIFF 5222
DIFF 5296
DIFF 5500
DIFF 6611
DIFF 5777
DIFF 5074
DIFF 5092
DIFF 5241
DIFF 5148
DIFF 5352
DIFF 5222
DIFF 5314
DIFF 6851
DIFF 5815
DIFF 5204
DIFF 5278
DIFF 5166
DIFF 5259
DIFF 5259
DIFF 6537
DIFF 5333
DIFF 5870
DIFF 6129
DIFF 5259
DIFF 5203
DIFF 5203
DIFF 5129
DIFF 5222
DIFF 5111
DIFF 5148
DIFF 5204
DIFF 6204
DIFF 6851
DIFF 5259
DIFF 5129
DIFF 5093
DIFF 5129
DIFF 5185
DIFF 5278
DIFF 5204
DIFF 5129
DIFF 6203
DIFF 5259
DIFF 8537
DIFF 5759
DIFF 5259
DIFF 5092
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5500
DIFF 5185
DIFF 6796
DIFF 6111
DIFF 5185
DIFF 8148
DIFF 7722
DIFF 8963
DIFF 7852
DIFF 7759
DIFF 7444
DIFF 5574
DIFF 7907
DIFF 7000
DIFF 5537
DIFF 5389
DIFF 5315
DIFF 5371
DIFF 5926
DIFF 11463
DIFF 12334
DIFF 17481
DIFF 6167
DIFF 5222
DIFF 5278
DIFF 10093
DIFF 8796
DIFF 5740
DIFF 5240
DIFF 5241
DIFF 8703
DIFF 5888
DIFF 5537
DIFF 512022/01/31 14:36:14.856 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65458 fPos=2.316 fActPosition=2.31 time=0.000099
2022/01/31 14:36:14.856 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=53 fPos=0.136 fActPosition=0.15 time=0.000011
2022/01/31 14:36:15.056 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65495 fPos=1.208 fActPosition=1.2 time=0.000014
2022/01/31 14:36:15.057 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=49 fPos=0.036 fActPosition=0.03 time=0.000008
2022/01/31 14:36:15.257 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65521 fPos=0.448 fActPosition=0.42 time=0.000010
2022/01/31 14:36:15.257 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=48 fPos=0.008 fActPosition=0 time=0.000006
2022/01/31 14:36:15.457 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65534 fPos=0.056 fActPosition=0.03 time=0.000010
2022/01/31 14:36:15.457 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000007
2022/01/31 14:36:15.658 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000011
2022/01/31 14:36:15.658 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000007
2022/01/31 14:36:15.858 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000104
2022/01/31 14:36:15.858 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000009
2022/01/31 14:36:16.058 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000019
2022/01/31 14:36:16.058 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000011
48
DIFF 5389
DIFF 6518
DIFF 7556
DIFF 7982
DIFF 8130
DIFF 7333
DIFF 8574
DIFF 12148
DIFF 10592
DIFF 7055
DIFF 19314
DIFF 8777
DIFF 8648
DIFF 6093
DIFF 5130
DIFF 6870
DIFF 10518
DIFF 13703
DIFF 8352
DIFF 13000
DIFF 14852
DIFF 7648
DIFF 15889
DIFF 6371
DIFF 13648
DIFF 8796
DIFF 6463
DIFF 5463
DIFF 6425
DIFF 5204
DIFF 5277
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5351
DIFF 5388
DIFF 5278
DIFF 5185
DIFF 5296
DIFF 6111
DIFF 6185
DIFF 8537
DIFF 8148
DIFF 5241
DIFF 6537
DIFF 5982
DIFF 5334
DIFF 6222
DIFF 5593
DIFF 8536
DIFF 5815
DIFF 5167
DIFF 5148
DIFF 5149
DIFF 5093
DIFF 5222
DIFF 5926
DIFF 10463
DIFF 6574
DIFF 7351
DIFF 6240
DIFF 5148
DIFF 5092
DIFF 5203
DIFF 5167
DIFF 5315
DIFF 5130
DIFF 5130
DIFF 5778
DIFF 6111
DIFF 6056
DIFF 5130
DIFF 5148
DIFF 5111
DIFF 5408
DIFF 5129
DIFF 5204
DIFF 5167
DIFF 5203
DIFF 5185
DIFF 5629
DIFF 5333
DIFF 7925
DIFF 5297
DIFF 5185
DIFF 5296
DIFF 5352
DIFF 5315
DIFF 5240
DIFF 8167
DIFF 5296
DIFF 5593
DIFF 5018
DIFF 7000
DIFF 7278
DIFF 9185
DIFF 12667
DIFF 7370
DIFF 5185
DIFF 9111
DIFF 11611
DIFF 9222
DIFF 8074
DIFF 7722
DIFF 5222
DIFF 5204
DIFF 5704
DIFF 5685
DIFF 5203
DIFF 7685
DIFF 5482
DIFF 5259
DIFF 5167
DIFF 5259
DIFF 5130
DIFF 5296
DIFF 5648
DIFF 5129
DIFF 5166
DIFF 6796
DIFF 5333
DIFF 5333
DIFF 5889
DIFF 5241
DIFF 5259
DIFF 5315
DIFF 8499
DIFF 6741
DIFF 9685
DIFF 10704
DIFF 8148
DIFF 14537
DIFF 6797
DIFF 5185
DIFF 5333
DIFF 5148
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5796
DIFF 5519
DIFF 5111
DIFF 8222
DIFF 9519
DIFF 6296
DIFF 5278
DIFF 5333
DIFF 5166
DIFF 5389
DIFF 5629
DIFF 5278
DIFF 12666
DIFF 9926
DIFF 5463
DIFF 5408
DIFF 5352
DIFF 5370
DIFF 5037
DIFF 5278
DIFF 5518
DIFF 5093
DIFF 5870
DIFF 5167
DIFF 5185
DIFF 5018
DIFF 5222
DIFF 5241
DIFF 5092
DIFF 5333
DIFF 5074
DIFF 5334
DIFF 6426
DIFF 5814
DIFF 5111
DIFF 5148
DIFF 5037
DIFF 5241
DIFF 5333
DIFF 5297
DIFF 5204
DIFF 8130
DIFF 5815
DIFF 5129
DIFF 5556
DIFF 5777
DIFF 10667
DIFF 6648
DIFF 5093
DIFF 5259
DIFF 6888
DIFF 5815
DIFF 5093
DIFF 5537
DIFF 5055
DIFF 5037
DIFF 5222
DIFF 5129
DIFF 12148
DIFF 6704
DIFF 6204
DIFF 9426
DIFF 6685
DIFF 7111
DIFF 5222
DIFF 8296
DIFF 8926
DIFF 6778
DIFF 7259
DIFF 7981
DIFF 8037
DIFF 6130
DIFF 6833
DIFF 6185
DIFF 5834
DIFF 5463
DIFF 5463
DIFF 10963
DIFF 10667
DIFF 9611
DIFF 7666
DIFF 5981
DIFF 5722
DIFF 5074
DIFF 7611
DIFF 7666
DIFF 5462
DIFF 7426
DIFF 5815
DIFF 7537
DIFF 6871
DIFF 5926
DIFF 6426
DIFF 7370
DIFF 7111
DIFF 5148
DIFF 7963
DIFF 5148
DIFF 6648
DIFF 5389
DIFF 6148
DIFF 5167
DIFF 6630
DIFF 5351
DIFF 5018
DIFF 5907
DIFF 5074
DIFF 6074
DIFF 5981
DIFF 5426
DIFF 7222
DIFF 5574
DIFF 6482
DIFF 5074
DIFF 5648
DIFF 5129
DIFF 8425
DIFF 6740
DIFF 7296
DIFF 5982
DIFF 6000
DIFF 5704
DIFF 6777
DIFF 6778
DIFF 6722
DIFF 8852
DIFF 8463
DIFF 6555
DIFF 5166
DIFF 5148
DIFF 5852
DIFF 5944
DIFF 9778
DIFF 13944
DIFF 6629
DIFF 9185
DIFF 7241
DIFF 9370
DIFF 7556
DIFF 10629
DIFF 5611
DIFF 5297
DIFF 7148
DIFF 6130
DIFF 5444
DIFF 5444
DIFF 6703
DIFF 6296
DIFF 5871
DIFF 12741
DIFF 5407
DIFF 5667
DIFF 5111
DIFF 5259
DIFF 6259
DIFF 7259
DIFF 6259
DIFF 6685
DIFF 5204
DIFF 5889
DIFF 16352
DIFF 5407
DIFF 6352
GRBL busy: 1.00000
../grbl/grbl_stepper.c:st_go_idle:259:
DIFF 11000
DIFF 6093
DIFF 6092
DIFF 6259
DIFF 6797
DIFF 6759
DIFF 6426
DIFF 5092
DIFF 5870
DIFF 5277
DIFF 6111
DIFF 5278
DIFF 6130
DIFF 6222
DIFF 6519
DIFF 5388
DIFF 5333
DIFF 5296
DIFF 6518
DIFF 5426
DIFF 6444
DIFF 12611
DIFF 9222
DIFF 5333
DIFF 8259
DIFF 7815
DIFF 14574
DIFF 5222
DIFF 5241
DIFF 7426
DIFF 5907
DIFF 5389
DIFF 7518
DIFF 8315
DIFF 7241
DIFF 9074
DIFF 5425
DIFF 5408
DIFF 7704
DIFF 10389
DIFF 5908
DIFF 5149
DIFF 5648
DIFF 5592
DIFF 5111
DIFF 5278
DIFF 5019
DIFF 5259
DIFF 5333
DIFF 6407
DIFF 5037
DIFF 5148
DIFF 5481
DIFF 5296
DIFF 7629
DIFF 5130
DIFF 5667
DIFF 8871
DIFF 10574
DIFF 7056
DIFF 5463
DIFF 5074
DIFF 5593
DIFF 5166
DIFF 5982
DIFF 5019
DIFF 5462
DIFF 5222
DIFF 5166
DIFF 5648
DIFF 5056
DIFF 5296
DIFF 5019
DIFF 6500
DIFF 5759
DIFF 5018
DIFF 5241
DIFF 5611
DIFF 5426
DIFF 5315
DIFF 6908
DIFF 8759
DIFF 10110
DIFF 5629
DIFF 6296
DIFF 7778
DIFF 10556
DIFF 5055
DIFF 6241
DIFF 5982
DIFF 5389
DIFF 5500
DIFF 7037
DIFF 8148
DIFF 772022/01/31 14:36:16.259 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000013
2022/01/31 14:36:16.259 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000008
2022/01/31 14:36:16.459 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000184
2022/01/31 14:36:16.459 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000011
2022/01/31 14:36:16.659 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000016
2022/01/31 14:36:16.659 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000009
2022/01/31 14:36:16.860 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000017
2022/01/31 14:36:16.860 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000009
2022/01/31 14:36:17.060 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000161
2022/01/31 14:36:17.060 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000010
2022/01/31 14:36:17.260 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000017
2022/01/31 14:36:17.260 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000009
2022/01/31 14:36:17.461 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65535 fPos=0 fActPosition=0 time=0.000018
2022/01/31 14:36:17.461 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=48 fPos=0 fActPosition=0 time=0.000011
22
DIFF 9926
DIFF 10796
DIFF 5574
DIFF 6315
DIFF 10907
DIFF 9129
DIFF 5945
DIFF 6000
DIFF 8889
DIFF 8962
DIFF 6630
DIFF 9611
DIFF 23555
DIFF 11778
DIFF 8982
DIFF 10259
DIFF 8277
DIFF 11426
DIFF 19111
DIFF 10593
DIFF 17166
DIFF 19685
DIFF 18204
DIFF 11611
DIFF 10796
DIFF 5852
DIFF 6444
DIFF 7667
DIFF 5315
DIFF 5185
DIFF 5814
DIFF 5389
DIFF 5092
DIFF 5518
DIFF 6722
DIFF 5426
DIFF 5944
DIFF 5241
DIFF 5352
DIFF 5444
DIFF 5166
DIFF 5462
DIFF 5852
DIFF 5259
DIFF 5556
DIFF 5537
DIFF 8889
DIFF 7055
DIFF 6981
DIFF 6481
DIFF 7370
DIFF 6426
DIFF 5055
DIFF 10222
DIFF 5037
DIFF 6630
DIFF 5407
DIFF 6889
DIFF 6389
DIFF 6148
DIFF 8092
DIFF 5074
DIFF 5111
DIFF 5204
DIFF 5574
DIFF 5241
DIFF 5019
DIFF 5407
DIFF 6740
DIFF 5407
DIFF 6000
DIFF 5074
DIFF 5537
DIFF 5222
DIFF 5352
DIFF 5333
DIFF 5277
DIFF 5148
DIFF 5760
DIFF 5871
DIFF 5426
DIFF 6574
DIFF 5388
DIFF 6000
DIFF 6129
DIFF 6796
DIFF 6982
DIFF 12426
DIFF 8000
DIFF 7426
DIFF 22240
DIFF 14518
DIFF 5944
DIFF 5056
DIFF 5462
DIFF 5092
DIFF 5148
DIFF 9240
DIFF 7945
DIFF 9203
DIFF 6055
DIFF 7778
DIFF 6999
DIFF 5351
DIFF 5130
DIFF 7408
DIFF 5185
DIFF 6148
DIFF 6666
DIFF 5278
DIFF 6796
GRBL busy: 1.00000
DIFF 5407
DIFF 5389
DIFF 5463
DIFF 5426
DIFF 6592
DIFF 5352
DIFF 5167
DIFF 5426
DIFF 5277
DIFF 5037
DIFF 5685
DIFF 5037
DIFF 5407
DIFF 5018
DIFF 5352
DIFF 6092
DIFF 7889
DIFF 5074
DIFF 5518
DIFF 7018
DIFF 8296
DIFF 10463
DIFF 8462
DIFF 5259
DIFF 9796
DIFF 14463
DIFF 5777
DIFF 5055
DIFF 5574
DIFF 5630
DIFF 7593
DIFF 5888
DIFF 9167
DIFF 7592
DIFF 6093
DIFF 6074
DIFF 7018
DIFF 5018
DIFF 5352
DIFF 7148
DIFF 6092
DIFF 5296
DIFF 5519
DIFF 5556
DIFF 6666
DIFF 6241
DIFF 5074
DIFF 5166
DIFF 5056
DIFF 5240
DIFF 5500
DIFF 6889
DIFF 5408
DIFF 5611
DIFF 5370
DIFF 6667
DIFF 5481
DIFF 5611
DIFF 6037
DIFF 5666
DIFF 5759
DIFF 5037
DIFF 5648
DIFF 5740
DIFF 6000
DIFF 6185
DIFF 5815
DIFF 8685
DIFF 10722
DIFF 8870
DIFF 5463
DIFF 8407
DIFF 7870
DIFF 9778
DIFF 5814
DIFF 5056
DIFF 5111
DIFF 5740
DIFF 8185
DIFF 6444
DIFF 8259
DIFF 6055
DIFF 6056
DIFF 11518
DIFF 5833
DIFF 5907
DIFF 5037
DIFF 5796
DIFF 9223
DIFF 5537
DIFF 7055
DIFF 5204
DIFF 5130
DIFF 5703
DIFF 5315
DIFF 5426
DIFF 5111
DIFF 5426
DIFF 6389
DIFF 5166
DIFF 5371
DIFF 5074
DIFF 5333
DIFF 5667
DIFF 5037
DIFF 5148
DIFF 5759
DIFF 5778
DIFF 5759
DIFF 6166
DIFF 5389
DIFF 5333
DIFF 5278
DIFF 5482
DIFF 6222
DIFF 5222
DIFF 5352
DIFF 8685
DIFF 6611
DIFF 11685
DIFF 6778
DIFF 8092
DIFF 6500
DIFF 6907
DIFF 7148
DIFF 14740
DIFF 6907
DIFF 6352
DIFF 5926
DIFF 5296
DIFF 6926
DIFF 5297
DIFF 11796
DIFF 5666
DIFF 15908
DIFF 8611
DIFF 6278
DIFF 5519
DIFF 6481
DIFF 6592
DIFF 5074
DIFF 5759
DIFF 5018
DIFF 5704
DIFF 5148
DIFF 5222
DIFF 5370
DIFF 5741
DIFF 5389
DIFF 5056
DIFF 5130
DIFF 5148
DIFF 5463
DIFF 5241
DIFF 6611
DIFF 5055
DIFF 5240
DIFF 5759
DIFF 5222
DIFF 5314
DIFF 5945
DIFF 5185
DIFF 6593
DIFF 6259
DIFF 5074
DIFF 7148
DIFF 6260
DIFF 9074
DIFF 7481
DIFF 8833
DIFF 6870
DIFF 5481
DIFF 7629
DIFF 10036
DIFF 8222
DIFF 6259
DIFF 6018
DIFF 5074
DIFF 5703
DIFF 5555
DIFF 7259
DIFF 6167
DIFF 10963
DIFF 5703
DIFF 6352
DIFF 5611
DIFF 12963
DIFF 7667
DIFF 5981
DIFF 5519
DIFF 5685
DIFF 5722
DIFF 5426
DIFF 5389
DIFF 5833
DIFF 5019
DIFF 5277
DIFF 5222
DIFF 5537
DIFF 6148
DIFF 5574
DIFF 5037
DIFF 5407
DIFF 5648
DIFF 5352
DIFF 6759
DIFF 5074
DIFF 5426
DIFF 5018
DIFF 5056
DIFF 5574
DIFF 5259
DIFF 6648
DIFF 5055
DIFF 7648
DIFF 7555
DIFF 5037
DIFF 6482
DIFF 5685
DIFF 5962
DIFF 10574
DIFF 8740
DIFF 7203
DIFF 10648
DIFF 7555
DIFF 9000
DIFF 8018
DIFF 13629
DIFF 6370
DIFF 7445
DIFF 5185
DIFF 6204
DIFF 5148
DIFF 5630
DIFF 5093
DIFF 6371
DIFF 8370
DIFF 5537
DIFF 5611
DIFF 5889
DIFF 14352
DIFF 6777
DIFF 9537
DIFF 5760
DIFF 5093
DIFF 6352
DIFF 6259
DIFF 5148
DIFF 5296
DIFF 5556
DIFF 5611
GRBL busy: 1.00000
DIFF 5352
DIFF 5074
DIFF 5611
GRBL: INFO: Reply OK (command[3] = G4P2)
GRBL: INFO: Write command (command[4] = G0X10Y10)
Added: G0X10Y10../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL: INFO: Reply OK (command[4] = G0X10Y10)
GRBL: INFO: Write command (command[5] = G2X10Y-10R10)
Added: G2X10Y-10R10../grbl/grbl_s2022/01/31 14:36:17.661 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65534 fPos=0.056 fActPosition=0.03 time=0.000114
2022/01/31 14:36:17.661 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=49 fPos=0.056 fActPosition=0.03 time=0.000009
2022/01/31 14:36:17.861 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65520 fPos=0.448 fActPosition=0.45 time=0.000011
2022/01/31 14:36:17.862 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=63 fPos=0.448 fActPosition=0.45 time=0.000006
2022/01/31 14:36:18.062 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65494 fPos=1.216 fActPosition=1.23 time=0.000013
2022/01/31 14:36:18.062 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=89 fPos=1.22 fActPosition=1.23 time=0.000009
2022/01/31 14:36:18.262 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65457 fPos=2.344 fActPosition=2.34 time=0.000011
2022/01/31 14:36:18.262 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=127 fPos=2.344 fActPosition=2.37 time=0.000006
2022/01/31 14:36:18.462 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65407 fPos=3.836 fActPosition=3.84 time=0.000011
2022/01/31 14:36:18.463 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=176 fPos=3.836 fActPosition=3.84 time=0.000007
2022/01/31 14:36:18.663 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65350 fPos=5.512 fActPosition=5.55 time=0.000160
2022/01/31 14:36:18.663 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=232 fPos=5.512 fActPosition=5.52 time=0.000007
2022/01/31 14:36:18.863 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65297 fPos=7.128 fActPosition=7.14 time=0.000010
2022/01/31 14:36:18.863 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=286 fPos=7.128 fActPosition=7.14 time=0.000006
2022/01/31 14:36:19.064 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65254 fPos=8.404 fActPosition=8.43 time=0.000011
2022/01/31 14:36:19.064 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=329 fPos=8.408 fActPosition=8.43 time=0.000201
2022/01/31 14:36:19.264 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65224 fPos=9.32 fActPosition=9.33 time=0.000011
2022/01/31 14:36:19.264 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=359 fPos=9.32 fActPosition=9.33 time=0.000007
2022/01/31 14:36:19.465 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65206 fPos=9.86 fActPosition=9.87 time=0.000011
2022/01/31 14:36:19.465 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=377 fPos=9.86 fActPosition=9.87 time=0.000006
2022/01/31 14:36:19.665 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65197 fPos=10.148 fActPosition=10.14 time=0.000011
2022/01/31 14:36:19.665 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=382 fPos=9.996 fActPosition=10.02 time=0.000006
2022/01/31 14:36:19.865 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65177 fPos=10.732 fActPosition=10.74 time=0.000011
2022/01/31 14:36:19.865 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=381 fPos=9.972 fActPosition=9.99 time=0.000006
2022/01/31 14:36:20.066 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65146 fPos=11.684 fActPosition=11.67 time=0.000010
2022/01/31 14:36:20.066 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=377 fPos=9.856 fActPosition=9.87 time=0.000006
2022/01/31 14:36:20.266 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65108 fPos=12.788 fActPosition=12.81 time=0.000010
2022/01/31 14:36:20.266 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=368 fPos=9.604 fActPosition=9.6 time=0.000006
2022/01/31 14:36:20.466 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65071 fPos=13.904 fActPosition=13.92 time=0.000010
2022/01/31 14:36:20.466 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=355 fPos=9.208 fActPosition=9.21 time=0.000007
tepper.c:st_wake_up:228:
DIFF 5148
../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_arc:91:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_update_plan_block_parameters:639:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6833
DIFF 7296
DIFF 5278
DIFF 5907
DIFF 5185
DIFF 6518
DIFF 10334
DIFF 8777
DIFF 8037
DIFF 9259
DIFF 7315
DIFF 7704
DIFF 10611
DIFF 5296
DIFF 5352
DIFF 7185
DIFF 5426
DIFF 6982
DIFF 6185
DIFF 5481
DIFF 5741
DIFF 7315
DIFF 6889
DIFF 5852
DIFF 8037
DIFF 6296
DIFF 5278
DIFF 7704
DIFF 6037
DIFF 5056
DIFF 5315
DIFF 8167
DIFF 6351
DIFF 7222
DIFF 15611
DIFF 10425
DIFF 5204
DIFF 5185
DIFF 5704
DIFF 10018
DIFF 6297
DIFF 5833
DIFF 5648
DIFF 5111
DIFF 6166
DIFF 6037
DIFF 6537
DIFF 6204
DIFF 5296
DIFF 5389
DIFF 5537
DIFF 6240
DIFF 5611
DIFF 5278
DIFF 6148
DIFF 6870
DIFF 5870
DIFF 7926
DIFF 7425
DIFF 18185
DIFF 5129
DIFF 6871
DIFF 7314
DIFF 5148
DIFF 6296
DIFF 5074
DIFF 7833
DIFF 6260
DIFF 5129
DIFF 6963
DIFF 7037
DIFF 5629
DIFF 7537
DIFF 8148
DIFF 13333
DIFF 5093
DIFF 6111
DIFF 7166
DIFF 7056
DIFF 6592
DIFF 7166
DIFF 5204
DIFF 5630
DIFF 7185
DIFF 6519
DIFF 6870
DIFF 6388
DIFF 8481
DIFF 5389
DIFF 7777
DIFF 6389
DIFF 6278
GRBL busy: 1.00000
DIFF 6370
DIFF 6666
DIFF 5333
DIFF 5944
DIFF 6185
DIFF 6759
DIFF 7167
DIFF 5334
DIFF 7037
DIFF 6333
DIFF 6370
DIFF 5500
DIFF 5186
DIFF 6148
DIFF 5482
DIFF 5982
DIFF 5666
DIFF 7537
DIFF 6499
DIFF 11519
DIFF 7148
DIFF 6222
DIFF 5314
DIFF 5167
DIFF 5536
DIFF 5833
DIFF 5315
DIFF 5722
DIFF 7352
DIFF 6018
DIFF 8759
DIFF 5500
DIFF 6537
DIFF 7093
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5074
DIFF 6204
DIFF 6926
DIFF 6611
DIFF 6648
DIFF 6888
DIFF 5277
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5537
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5278
DIFF 5537
DIFF 6260
DIFF 13408
DIFF 8019
DIFF 5204
DIFF 7537
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5111
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5370
DIFF 6074
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7444
DIFF 5111
DIFF 7037
DIFF 5314
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5981
DIFF 5666
DIFF 5815
DIFF 5296
DIFF 6093
DIFF 7518
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7167
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5537
DIFF 5463
DIFF 7611
DIFF 5704
DIFF 7111
DIFF 5074
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5019
DIFF 5241
DIFF 6056
DIFF 7352
DIFF 12759
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5963
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5315
DIFF 5222
DIFF 5481
DIFF 8240
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5056
DIFF 5167
DIFF 5297
DIFF 5371
DIFF 7388
DIFF 14555
DIFF 5907
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7167
DIFF 6296
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5167
DIFF 5926
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5074
DIFF 5203
DIFF 5944
DIFF 6722
DIFF 6778
DIFF 10426
../gr2022/01/31 14:36:20.667 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65037 fPos=14.928 fActPosition=14.94 time=0.000011
2022/01/31 14:36:20.667 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=338 fPos=8.7 fActPosition=8.7 time=0.000007
2022/01/31 14:36:20.867 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65005 fPos=15.896 fActPosition=15.9 time=0.000012
2022/01/31 14:36:20.867 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=317 fPos=8.076 fActPosition=8.07 time=0.000006
2022/01/31 14:36:21.067 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64975 fPos=16.78 fActPosition=16.8 time=0.000010
2022/01/31 14:36:21.067 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=293 fPos=7.348 fActPosition=7.35 time=0.000006
2022/01/31 14:36:21.268 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64949 fPos=17.588 fActPosition=17.58 time=0.000011
2022/01/31 14:36:21.268 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=265 fPos=6.508 fActPosition=6.51 time=0.000117
2022/01/31 14:36:21.468 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64926 fPos=18.284 fActPosition=18.27 time=0.000011
2022/01/31 14:36:21.468 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=234 fPos=5.596 fActPosition=5.58 time=0.000006
2022/01/31 14:36:21.668 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64906 fPos=18.876 fActPosition=18.87 time=0.000010
2022/01/31 14:36:21.669 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=202 fPos=4.612 fActPosition=4.62 time=0.000006
2022/01/31 14:36:21.869 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64890 fPos=19.348 fActPosition=19.35 time=0.000011
2022/01/31 14:36:21.869 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=167 fPos=3.556 fActPosition=3.57 time=0.000006
2022/01/31 14:36:22.069 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64879 fPos=19.696 fActPosition=19.68 time=0.000011
2022/01/31 14:36:22.069 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=130 fPos=2.444 fActPosition=2.46 time=0.000006
2022/01/31 14:36:22.269 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64871 fPos=19.908 fActPosition=19.92 time=0.000011
2022/01/31 14:36:22.270 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=92 fPos=1.344 fActPosition=1.32 time=0.000006
2022/01/31 14:36:22.470 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64868 fPos=19.996 fActPosition=20.01 time=0.000010
2022/01/31 14:36:22.470 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=53 fPos=0.172 fActPosition=0.15 time=0.000007
bl/grbl_motion_control.c:mc_line:33:
DIFF 6574
DIFF 7260
DIFF 10482
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6203
DIFF 5833
DIFF 5092
DIFF 6148
DIFF 7314
DIFF 5778
DIFF 6370
DIFF 10741
DIFF 5926
DIFF 11000
DIFF 10666
DIFF 5185
GRBL busy: 1.00000
DIFF 5333
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5093
DIFF 7148
DIFF 6852
DIFF 5092
DIFF 7870
DIFF 10259
DIFF 5611
DIFF 7833
DIFF 11889
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6834
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5648
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5982
DIFF 7630
DIFF 6686
DIFF 5037
DIFF 5537
DIFF 6555
DIFF 5593
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6093
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5037
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7260
DIFF 5944
DIFF 8314
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6148
DIFF 11000
DIFF 6888
DIFF 6074
DIFF 5426
DIFF 7648
DIFF 6759
DIFF 5223
DIFF 10333
DIFF 5908
DIFF 6741
DIFF 6019
DIFF 6074
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5482
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5333
DIFF 6296
DIFF 5278
DIFF 5518
DIFF 6908
DIFF 11629
DIFF 6981
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7037
DIFF 6370
DIFF 10740
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7537
DIFF 5519
DIFF 5666
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6963
DIFF 6648
DIFF 5741
DIFF 6240
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6630
DIFF 5481
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5278
DIFF 6018
DIFF 5963
DIFF 6241
DIFF 6425
DIFF 8111
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6814
DIFF 5481
DIFF 6556
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6278
DIFF 5962
DIFF 6574
DIFF 10185
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5574
DIFF 6574
DIFF 7630
DIFF 14277
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6463
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5593
DIFF 7000
DIFF 6556
DIFF 7148
DIFF 6314
DIFF 7481
DIFF 6982
DIFF 6129
DIFF 6296
DIFF 5204
DIFF 6036
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6926
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7149
DIFF 6667
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5371
DIFF 5759
DIFF 7037
DIFF 6018
DIFF 8036
DIFF 6611
DIFF 5666
DIFF 6518
DIFF 5018
DIFF 6241
DIFF 6425
DIFF 5315
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6407
DIFF 5222
DIFF 6519
DIFF 7093
DIFF 5129
DIFF 5981
DIFF 5018
DIFF 8000
DIFF 6796
DIFF 5444
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5204
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5130
DIFF 5222
DIFF 6111
DIFF 7722
DIFF 6166
DIFF 10222
DIFF 5852
DIFF 7426
DIFF 5704
DIFF 5167
DIFF 5333
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_s2022/01/31 14:36:22.670 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64869 fPos=19.948 fActPosition=19.98 time=0.000011
2022/01/31 14:36:22.670 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=14 fPos=-1.008 fActPosition=-1.02 time=0.000006
2022/01/31 14:36:22.870 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64876 fPos=19.768 fActPosition=19.77 time=0.000011
2022/01/31 14:36:22.871 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65512 fPos=-2.12 fActPosition=-2.13 time=0.000007
2022/01/31 14:36:23.071 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64886 fPos=19.46 fActPosition=19.47 time=0.000048
2022/01/31 14:36:23.071 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65475 fPos=-3.236 fActPosition=-3.24 time=0.000006
2022/01/31 14:36:23.271 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64901 fPos=19.024 fActPosition=19.02 time=0.000011
2022/01/31 14:36:23.271 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65439 fPos=-4.308 fActPosition=-4.32 time=0.000006
2022/01/31 14:36:23.472 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64920 fPos=18.472 fActPosition=18.45 time=0.000029
2022/01/31 14:36:23.472 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65406 fPos=-5.312 fActPosition=-5.31 time=0.000006
2022/01/31 14:36:23.672 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64942 fPos=17.804 fActPosition=17.79 time=0.000010
2022/01/31 14:36:23.672 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65374 fPos=-6.256 fActPosition=-6.27 time=0.000006
2022/01/31 14:36:23.872 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64967 fPos=17.028 fActPosition=17.04 time=0.000010
2022/01/31 14:36:23.872 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65346 fPos=-7.112 fActPosition=-7.11 time=0.000006
2022/01/31 14:36:24.073 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=64997 fPos=16.16 fActPosition=16.14 time=0.000014
2022/01/31 14:36:24.073 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65320 fPos=-7.88 fActPosition=-7.89 time=0.000311
tepper.c:st_next_block_index:652:
GRBL busy: 1.00000
DIFF 5388
DIFF 7537
DIFF 6593
DIFF 7037
DIFF 5851
DIFF 5445
DIFF 8111
DIFF 5926
DIFF 6018
DIFF 5148
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5833
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 6722
DIFF 6111
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7796
DIFF 6870
DIFF 6388
DIFF 5408
DIFF 5278
DIFF 5722
DIFF 6111
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6000
DIFF 6111
DIFF 6278
DIFF 6203
DIFF 11370
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5463
DIFF 5722
DIFF 6241
DIFF 5926
DIFF 5556
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5592
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6314
DIFF 5426
DIFF 5167
DIFF 7037
DIFF 5760
DIFF 5241
DIFF 7519
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 7981
DIFF 6908
DIFF 7796
DIFF 12037
DIFF 7815
DIFF 7889
DIFF 7722
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6629
DIFF 6203
DIFF 5203
DIFF 5685
DIFF 13167
DIFF 5129
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5074
DIFF 5092
DIFF 5222
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5185
DIFF 6000
DIFF 8056
DIFF 5834
DIFF 5241
DIFF 5537
DIFF 6167
DIFF 9555
DIFF 5185
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7500
DIFF 6482
DIFF 7408
DIFF 6574
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5926
DIFF 5611
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7481
DIFF 6315
DIFF 6037
DIFF 6648
../grbl/grbl_motion_control.c:mc_line:33:
DIFF 5445
DIFF 5852
DIFF 11556
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5037
GRBL busy: 1.00000
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6778
DIFF 5963
DIFF 5981
DIFF 5944
DIFF 5611
DIFF 7111
DIFF 5130
DIFF 6982
DIFF 5815
DIFF 5630
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL: INFO: Reply OK (command[5] = G2X10Y-10R10)
GRBL: INFO: Write command (command[6] = G4P2)
Added: G4P2../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_dwell:200:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5907
DIFF 5481
DIFF 6241
DIFF 5519
DIFF 6000
DIFF 6019
DIFF 9556
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5778
DIFF 6462
DIFF 5240
DIFF 5241
DIFF 6167
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6611
DIFF 6982
DIFF 5926
DIFF 7610
DIFF 6611
DIFF 10740
DIFF 5111
DIFF 5334
DIFF 5019
DIFF 5111
DIFF 7333
DIFF 5259
DIFF 7426
DIFF 8056
DIFF 6389
DIFF 5945
DIFF 12685
DIFF 7241
DIFF 6407
DIFF 5537
DIFF 5685
DIFF 5667
DIFF 7796
DIFF 5463
DIFF 8611
DIFF 6074
DIFF 5111
DIFF 5111
DIFF 6352
DIFF 5074
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5130
DIFF 8889
DIFF 8370
DIFF 6926
DIFF 6481
DIFF 5093
DIFF 5259
DIFF 9629
DIFF 7259
DIFF 7574
DIFF 8444
DIFF 5796
DIFF 8889
DIFF 7018
DIFF 8592
DIFF 6722
DIFF 10851
DIFF 10129
DIFF 6037
DIFF 11130
DIFF 6703
DIFF 14351
DIFF 13111
DIFF 5444
DIFF 5018
DIFF 6666
DIFF 5055
DIFF 5278
DIFF 6796
DIFF 8019
DIFF 5296
DIFF 8185
DIFF 5074
DIFF 8630
DIFF 6463
DIFF 5500
DIFF 5370
DIFF 8148
DIFF 6241
DIFF 6611
DIFF 5111
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7166
DIFF 5130
DIFF 6648
DIFF 5630
DIFF 6759
DIFF 6222
DIFF 8815
DIFF 9500
DIFF 12222
DIFF 6148
DIFF 7315
DIFF 15222
DIFF 6834
DIFF 5796
DIFF 5704
DIFF 6666
DIFF 5185
DIFF 6019
DIFF 5537
DIFF 8333
DIFF 1062022/01/31 14:36:24.273 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65028 fPos=15.212 fActPosition=15.21 time=0.000020
2022/01/31 14:36:24.274 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65298 fPos=-8.532 fActPosition=-8.55 time=0.000007
2022/01/31 14:36:24.474 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65062 fPos=14.192 fActPosition=14.19 time=0.000141
2022/01/31 14:36:24.474 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65280 fPos=-9.08 fActPosition=-9.09 time=0.000006
2022/01/31 14:36:24.674 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65098 fPos=13.112 fActPosition=13.11 time=0.000010
2022/01/31 14:36:24.674 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65266 fPos=-9.5 fActPosition=-9.51 time=0.000006
2022/01/31 14:36:24.874 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65135 fPos=12.004 fActPosition=12 time=0.000009
2022/01/31 14:36:24.875 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65256 fPos=-9.796 fActPosition=-9.81 time=0.000006
2022/01/31 14:36:25.075 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65169 fPos=10.988 fActPosition=10.98 time=0.000104
2022/01/31 14:36:25.075 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65251 fPos=-9.948 fActPosition=-9.96 time=0.000011
2022/01/31 14:36:25.275 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65192 fPos=10.316 fActPosition=10.29 time=0.000017
2022/01/31 14:36:25.276 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65250 fPos=-9.992 fActPosition=-9.99 time=0.000227
2022/01/31 14:36:25.476 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65201 fPos=10.012 fActPosition=10.02 time=0.000016
2022/01/31 14:36:25.477 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000009
2022/01/31 14:36:25.677 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000018
2022/01/31 14:36:25.677 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000062
85
DIFF 9130
DIFF 9092
DIFF 14555
DIFF 6740
DIFF 5871
DIFF 7167
DIFF 7907
DIFF 5259
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5092
DIFF 5222
DIFF 6556
DIFF 6648
DIFF 5463
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 7074
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 6574
DIFF 6389
DIFF 14111
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5833
DIFF 6796
DIFF 7166
DIFF 5722
GRBL busy: 1.00000
../grbl/grbl_stepper.c:st_next_block_index:652:
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5667
DIFF 5463
DIFF 5259
DIFF 7278
DIFF 5759
DIFF 9870
DIFF 6408
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5851
DIFF 6055
DIFF 5518
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5334
DIFF 5833
DIFF 6426
DIFF 6741
DIFF 6092
DIFF 5019
DIFF 5370
DIFF 8259
DIFF 5463
DIFF 8222
../grbl/grbl_stepper.c:st_next_block_index:652:
DIFF 5703
DIFF 5241
DIFF 5167
DIFF 5241
DIFF 5185
DIFF 5371
DIFF 7314
DIFF 5926
DIFF 5111
DIFF 5315
DIFF 5111
DIFF 5037
DIFF 5148
DIFF 5093
DIFF 7778
DIFF 6019
DIFF 5056
DIFF 5129
DIFF 5704
DIFF 5055
DIFF 5223
DIFF 5259
DIFF 5148
DIFF 6352
DIFF 5685
DIFF 5222
DIFF 5426
DIFF 5092
DIFF 5093
DIFF 5111
DIFF 5167
DIFF 5222
DIFF 6111
DIFF 5722
DIFF 5111
DIFF 5407
DIFF 5111
DIFF 5018
DIFF 5037
DIFF 6555
DIFF 5648
DIFF 5055
DIFF 5296
DIFF 5185
DIFF 5204
DIFF 5241
DIFF 6167
DIFF 5500
DIFF 6463
DIFF 5037
DIFF 5130
DIFF 5055
DIFF 5611
DIFF 5203
DIFF 7648
DIFF 6093
DIFF 5185
DIFF 5037
DIFF 5019
DIFF 5166
DIFF 5074
DIFF 6240
DIFF 5370
DIFF 5481
DIFF 5130
DIFF 5037
DIFF 5241
DIFF 5130
DIFF 6148
DIFF 5777
DIFF 5444
DIFF 5019
DIFF 5055
DIFF 6333
DIFF 5722
DIFF 5167
DIFF 5741
DIFF 5092
DIFF 6148
DIFF 5722
DIFF 8926
DIFF 6278
DIFF 6389
DIFF 5074
DIFF 5148
DIFF 5186
DIFF 6518
DIFF 5167
DIFF 7926
DIFF 7426
DIFF 8926
DIFF 6407
DIFF 9629
DIFF 7518
DIFF 8833
DIFF 10740
DIFF 8426
DIFF 5297
DIFF 5185
DIFF 6278
DIFF 10555
DIFF 10167
DIFF 12074
DIFF 5722
DIFF 6629
DIFF 8926
DIFF 5778
DIFF 5055
DIFF 5055
DIFF 5037
DIFF 5425
DIFF 6630
DIFF 5148
DIFF 5129
DIFF 5130
DIFF 7463
DIFF 6814
DIFF 6167
DIFF 7166
DIFF 9907
DIFF 10351
DIFF 7741
DIFF 5852
DIFF 5870
DIFF 5223
DIFF 7408
DIFF 7333
DIFF 9371
DIFF 9519
DIFF 8315
DIFF 5056
DIFF 5426
DIFF 5333
DIFF 5519
DIFF 5093
DIFF 8537
DIFF 5907
DIFF 5796
DIFF 6888
DIFF 5462
DIFF 5352
DIFF 5018
DIFF 5351
DIFF 6204
DIFF 5592
DIFF 5037
DIFF 5018
DIFF 8019
DIFF 7592
DIFF 5370
DIFF 6037
DIFF 5149
DIFF 5426
DIFF 5519
DIFF 8444
DIFF 7796
DIFF 10611
DIFF 6130
DIFF 5185
DIFF 8074
DIFF 5167
DIFF 9222
DIFF 10111
DIFF 6574
DIFF 5407
DIFF 6000
DIFF 5389
DIFF 5593
DIFF 8851
DIFF 5111
DIFF 5278
DIFF 5723
DIFF 5481
DIFF 5259
DIFF 8981
DIFF 6630
DIFF 7592
DIFF 7555
DIFF 7908
DIFF 9056
DIFF 9333
DIFF 8074
DIFF 10389
DIFF 9389
DIFF 12592
DIFF 5204
DIFF 5407
DIFF 5334
DIFF 6759
DIFF 8889
DIFF 5314
DIFF 5574
DIFF 7722
DIFF 6148
DIFF 7333
DIFF 5777
DIFF 6925
DIFF 6370
DIFF 5278
DIFF 7425
DIFF 8185
DIFF 6240
DIFF 8481
DIFF 5685
DIFF 7630
DIFF 10240
DIFF 6371
DIFF 6111
DIFF 5296
DIFF 5426
DIFF 7426
DIFF 6833
DIFF 9204
DIFF 8851
DIFF 6370
DIFF 6315
DIFF 6759
DIFF 5889
DIFF 5388
DIFF 6111
DIFF 6778
DIFF 8592
DIFF 9000
DIFF 5222
DIFF 11018
DIFF 5259
DIFF 5278
DIFF 5741
DIFF 5426
DIFF 10018
DIFF 5129
DIFF 5593
DIFF 6130
DIFF 5166
DIFF 5463
DIFF 5148
DIFF 5389
DIFF 7278
DIFF 6814
DIFF 5629
DIFF 7074
DIFF 5111
DIFF 7556
DIFF 8666
DIFF 8537
DIFF 10630
DIFF 6740
DIFF 9963
DIFF 9704
DIFF 12500
DIFF 5037
DIFF 7518
DIFF 7204
DIFF 6389
../grbl/grbl_stepper.c:st_go_idle:259:
DIFF 16814
DIFF 5074
DIFF 10241
DIFF 10093
DIFF 5463
DIFF 8352
DIFF 5537
DIFF 5203
DIFF 5704
DIFF 5111
DIFF 5704
DIFF 8518
DIFF 7278
GRBL busy: 1.00000
DIFF 5667
DIFF 5629
DIFF 8093
DIFF 5888
DIFF 5056
DIFF 5500
DIFF 5852
DIFF 5814
DIFF 5704
DIFF 5999
DIFF 8018
DIFF 10185
DIFF 8444
DIFF 5074
DIFF 8871
DIFF 8629
DIFF 12889
DIFF 8685
DIFF 5370
DIFF 7148
DIFF 5037
DIFF 7962
DIFF 9148
DIFF 10500
DIFF 8185
DIFF 5130
DIFF 5444
DIFF 6833
DIFF 5741
DIFF 10648
DIFF 8592
DIFF 6907
DIFF 5203
DIFF 5407
DIFF 5018
DIFF 6241
DIFF 5185
DIFF 5445
DIFF 5259
DIFF 5481
DIFF 5185
DIFF 5055
DIFF 5611
DIFF 5111
DIFF 5278
DIFF 5111
DIFF 5555
DIFF 512022/01/31 14:36:25.877 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000018
2022/01/31 14:36:25.877 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000011
2022/01/31 14:36:26.077 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000019
2022/01/31 14:36:26.078 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65249 fPos=-10 fActPosition=-10.02 time=0.000012
2022/01/31 14:36:26.278 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65201 fPos=10 fActPosition=10.02 time=0.000017
2022/01/31 14:36:26.278 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000011
2022/01/31 14:36:26.478 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000017
2022/01/31 14:36:26.479 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000011
2022/01/31 14:36:26.679 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000127
2022/01/31 14:36:26.679 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65249 fPos=-10 fActPosition=-10.02 time=0.000010
2022/01/31 14:36:26.879 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000015
2022/01/31 14:36:26.879 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000011
2022/01/31 14:36:27.080 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000133
2022/01/31 14:36:27.080 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000010
85
DIFF 5667
DIFF 6148
DIFF 5481
DIFF 7500
DIFF 8852
DIFF 8019
DIFF 7426
DIFF 10981
DIFF 7593
DIFF 12500
DIFF 5611
DIFF 6592
DIFF 5037
DIFF 5555
DIFF 5741
DIFF 7963
DIFF 7833
DIFF 5944
DIFF 10463
DIFF 7297
DIFF 6722
DIFF 5333
DIFF 6648
DIFF 5166
DIFF 5426
DIFF 5240
DIFF 7555
DIFF 6370
DIFF 5685
DIFF 6240
DIFF 6352
DIFF 7111
DIFF 9204
DIFF 7092
DIFF 8611
DIFF 9055
DIFF 6315
DIFF 7166
DIFF 7074
DIFF 5185
DIFF 5889
DIFF 8445
DIFF 8500
DIFF 8260
DIFF 8778
DIFF 7167
DIFF 11944
DIFF 6815
DIFF 6018
DIFF 6018
DIFF 5944
DIFF 5593
DIFF 5259
DIFF 9148
DIFF 9722
DIFF 10630
DIFF 9685
DIFF 8777
DIFF 5056
DIFF 5445
DIFF 5166
DIFF 5111
DIFF 7370
DIFF 7296
DIFF 5852
DIFF 6555
DIFF 5055
DIFF 6074
DIFF 5889
DIFF 5463
DIFF 5129
DIFF 5834
DIFF 5056
DIFF 5371
DIFF 5389
DIFF 5852
DIFF 7129
DIFF 5185
DIFF 5870
DIFF 8037
DIFF 6962
DIFF 7537
DIFF 10314
DIFF 5834
DIFF 7907
DIFF 9611
DIFF 7926
DIFF 5407
DIFF 9482
DIFF 5463
DIFF 6277
DIFF 5704
DIFF 8018
DIFF 12463
DIFF 9315
DIFF 7759
DIFF 6481
DIFF 8019
DIFF 6352
DIFF 5222
DIFF 5407
DIFF 6074
DIFF 5907
DIFF 5297
DIFF 5425
DIFF 5500
DIFF 5537
DIFF 5334
DIFF 5685
DIFF 5259
DIFF 5240
DIFF 5704
DIFF 5722
DIFF 5500
DIFF 5760
DIFF 6611
DIFF 5370
DIFF 6222
DIFF 5685
DIFF 5093
DIFF 6166
DIFF 5833
DIFF 5629
DIFF 7740
DIFF 5537
DIFF 5370
DIFF 5185
DIFF 5870
DIFF 6833
DIFF 6148
DIFF 5056
DIFF 5741
DIFF 6833
DIFF 7574
DIFF 10185
DIFF 8537
DIFF 7203
DIFF 6944
DIFF 12722
DIFF 5074
DIFF 7037
DIFF 6185
DIFF 5204
DIFF 7037
DIFF 5907
DIFF 6778
DIFF 10648
DIFF 7166
DIFF 5926
DIFF 5018
DIFF 9648
DIFF 7611
DIFF 5759
DIFF 9982
DIFF 5925
DIFF 8982
DIFF 5500
DIFF 6667
DIFF 5019
DIFF 5407
DIFF 5333
DIFF 5204
DIFF 6093
DIFF 5278
DIFF 5704
DIFF 6019
DIFF 6056
DIFF 5315
DIFF 5018
DIFF 5463
DIFF 5796
DIFF 5019
DIFF 5408
DIFF 5796
DIFF 5019
DIFF 5426
DIFF 6185
DIFF 5167
DIFF 5592
DIFF 6444
DIFF 5833
DIFF 5852
DIFF 7593
DIFF 5500
DIFF 9667
DIFF 12167
DIFF 9000
DIFF 11352
DIFF 9555
DIFF 11388
DIFF 6166
DIFF 6074
DIFF 7185
DIFF 6204
DIFF 5222
DIFF 5426
DIFF 8074
DIFF 7814
DIFF 10056
DIFF 7371
DIFF 6018
DIFF 11315
DIFF 5981
DIFF 5222
DIFF 6889
DIFF 5222
DIFF 6407
DIFF 5666
DIFF 5074
GRBL busy: 1.00000
DIFF 6241
DIFF 5056
DIFF 5944
DIFF 5074
DIFF 6778
DIFF 5241
DIFF 5222
DIFF 5037
DIFF 5760
DIFF 5037
DIFF 5926
DIFF 5092
DIFF 6556
DIFF 5777
DIFF 5111
DIFF 5148
DIFF 6037
DIFF 5462
DIFF 5111
DIFF 6222
DIFF 6666
DIFF 6278
DIFF 6759
DIFF 6425
DIFF 7537
DIFF 7204
DIFF 6908
DIFF 10130
DIFF 10704
DIFF 6241
DIFF 5296
DIFF 6185
DIFF 7222
DIFF 7518
DIFF 8722
DIFF 9500
DIFF 5074
DIFF 6056
DIFF 5462
DIFF 9685
DIFF 5907
DIFF 10371
DIFF 9574
DIFF 6333
DIFF 5389
DIFF 5185
DIFF 6000
DIFF 5278
DIFF 5315
DIFF 5130
DIFF 5092
DIFF 6222
DIFF 5111
DIFF 5389
DIFF 5537
DIFF 5129
DIFF 5500
DIFF 5259
DIFF 6129
DIFF 5093
DIFF 5537
DIFF 5908
DIFF 5352
DIFF 5666
DIFF 5814
DIFF 6389
DIFF 5148
DIFF 5444
DIFF 5760
DIFF 6482
DIFF 7278
DIFF 5037
DIFF 6704
DIFF 5907
DIFF 6055
DIFF 12389
DIFF 7019
DIFF 10536
DIFF 5203
DIFF 11073
DIFF 11592
DIFF 5333
DIFF 5648
DIFF 5778
DIFF 5944
DIFF 8703
DIFF 5555
DIFF 10074
DIFF 6982
DIFF 5611
DIFF 8704
DIFF 6241
DIFF 7222
DIFF 6148
DIFF 7852
DIFF 7370
DIFF 5574
DIFF 5574
DIFF 5778
DIFF 5148
DIFF 5111
DIFF 5130
DIFF 5148
DIFF 5204
DIFF 5204
DIFF 5963
DIFF 5056
DIFF 5462
DIFF 5777
DIFF 5111
DIFF 5518
DIFF 5555
DIFF 5240
DIFF 6277
DIFF 5426
DIFF 5370
DIFF 5129
DIFF 5482
DIFF 5092
DIFF 5778
DIFF 5278
DIFF 5370
DIFF 8037
DIFF 6111
DIFF 5333
DIFF 6500
DIFF 8444
DIFF 9777
DIFF 9222
DIFF 6370
DIFF 5944
DIFF 24277
DIFF 14388
DIFF 7000
DIFF 5277
DIFF 5500
DIFF 5852
DIFF 7185
DIFF 7240
DIFF 5852
DIFF 5111
DIFF 5204
DIFF 6481
DIFF 5481
DIFF 7907
DIFF 10389
DIFF 9093
DIFF 6389
DIFF 12852
DIFF 11148
DIFF 6092
DIFF 7741
DIFF 5685
DIFF 6649
DIFF 5815
DIFF 9537
DIFF 5982
DIFF 5556
DIFF 6000
DIFF 5592
DIFF 5056
DIFF 5407
DIFF 5648
DIFF 6611
DIFF 8277
DIFF 5389
DIFF 6408
DIFF 5074
DIFF 5574
DIFF 7537
DIFF 6907
DIFF 5537
DIFF 5259
DIFF 5667
DIFF 6092
DIFF 5907
DIFF 6315
DIFF 5556
DIFF 7000
DIFF 5981
DIFF 5074
DIFF 5462
DIFF 5370
DIFF 5426
DIFF 5148
DIFF 5815
DIFF 5093
DIFF 8463
DIFF 6741
DIFF 5185
DIFF 5685
DIFF 5314
DIFF 6389
DIFF 5648
DIFF 5999
DIFF2022/01/31 14:36:27.280 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000014
2022/01/31 14:36:27.280 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65250 fPos=-10 fActPosition=-9.99 time=0.000006
2022/01/31 14:36:27.480 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65202 fPos=10 fActPosition=9.99 time=0.000010
2022/01/31 14:36:27.481 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=1 wf=0 ENC=65249 fPos=-10 fActPosition=-10.02 time=0.000006
2022/01/31 14:36:27.681 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65205 fPos=9.876 fActPosition=9.9 time=0.000011
2022/01/31 14:36:27.681 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65253 fPos=-9.876 fActPosition=-9.9 time=0.000006
2022/01/31 14:36:27.881 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65222 fPos=9.38 fActPosition=9.39 time=0.000011
2022/01/31 14:36:27.881 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65270 fPos=-9.38 fActPosition=-9.39 time=0.000007
2022/01/31 14:36:28.081 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65248 fPos=8.596 fActPosition=8.61 time=0.000015
2022/01/31 14:36:28.082 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65297 fPos=-8.596 fActPosition=-8.58 time=0.000008
2022/01/31 14:36:28.282 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65276 fPos=7.792 fActPosition=7.77 time=0.000021
2022/01/31 14:36:28.282 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65324 fPos=-7.792 fActPosition=-7.77 time=0.000006
2022/01/31 14:36:28.482 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65302 fPos=6.992 fActPosition=6.99 time=0.000010
2022/01/31 14:36:28.482 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65350 fPos=-6.992 fActPosition=-6.99 time=0.000007
2022/01/31 14:36:28.683 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65329 fPos=6.192 fActPosition=6.18 time=0.000011
2022/01/31 14:36:28.683 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65377 fPos=-6.192 fActPosition=-6.18 time=0.000007
2022/01/31 14:36:28.883 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65356 fPos=5.388 fActPosition=5.37 time=0.000487
2022/01/31 14:36:28.884 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65404 fPos=-5.388 fActPosition=-5.37 time=0.000013
6315
DIFF 5851
DIFF 8352
DIFF 5203
DIFF 7667
DIFF 5685
DIFF 6093
DIFF 6278
DIFF 5519
DIFF 8518
DIFF 10685
DIFF 12611
DIFF 8370
DIFF 13370
DIFF 5592
DIFF 6574
DIFF 6056
DIFF 5888
DIFF 5685
DIFF 5778
DIFF 5963
DIFF 10185
DIFF 6685
DIFF 7574
DIFF 5185
DIFF 6000
DIFF 7518
DIFF 8648
DIFF 7425
DIFF 5926
DIFF 14425
DIFF 7185
DIFF 6315
DIFF 6037
DIFF 5444
DIFF 5648
DIFF 7556
DIFF 6222
DIFF 5111
GRBL: INFO: Reply OK (command[6] = G4P2)
GRBL: INFO: Write command (command[7] = G1X0Y0)
Added: G1X0Y0../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_line:33:
GRBL: INFO: Reply OK (command[7] = G1X0Y0)
GRBL: INFO: Write command (command[8] = G1X20Y20F360)
Added: G1X20Y20F360../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_line:33:
../grbl/grbl_stepper.c:st_update_plan_block_parameters:639:
DIFF 5037
../grbl/grbl_stepper.c:st_next_block_index:652:
GRBL: INFO: Reply OK (command[8] = G1X20Y20F360)
GRBL: INFO: Write command (command[9] = G4P2)
Added: G4P2DIFF 6611
../grbl/grbl_stepper.c:st_wake_up:228:
../grbl/grbl_gcode.c:gc_execute_line:71:
../grbl/grbl_motion_control.c:mc_dwell:200:
DIFF 5074
GRBL busy: 1.00000
DIFF 6426
DIFF 5426
DIFF 6518
DIFF 5499
DIFF 6574
DIFF 5240
DIFF 5759
DIFF 6240
DIFF 6555
DIFF 6223
DIFF 6611
DIFF 5999
DIFF 6130
DIFF 5481
DIFF 5537
DIFF 6833
DIFF 9129
DIFF 6241
DIFF 5518
DIFF 5037
DIFF 7723
DIFF 9148
DIFF 13925
DIFF 9463
DIFF 8129
DIFF 10667
DIFF 6500
DIFF 6741
DIFF 5148
DIFF 5686
DIFF 6833
DIFF 7370
DIFF 6315
DIFF 5241
DIFF 6129
DIFF 5592
DIFF 6000
DIFF 5926
DIFF 8130
DIFF 6222
DIFF 5592
DIFF 8574
DIFF 8593
DIFF 5592
DIFF 9204
DIFF 10388
DIFF 6759
DIFF 5815
DIFF 5870
DIFF 5981
DIFF 5166
DIFF 6537
DIFF 9518
DIFF 6037
DIFF 8314
DIFF 8092
DIFF 5703
DIFF 9297
DIFF 7037
DIFF 5463
DIFF 7889
DIFF 5963
DIFF 9629
DIFF 7555
DIFF 5482
DIFF 6314
DIFF 6241
DIFF 5055
DIFF 8704
DIFF 10889
DIFF 12407
DIFF 11500
DIFF 14908
DIFF 6518
DIFF 6760
DIFF 6833
DIFF 10148
DIFF 6111
DIFF 11426
DIFF 11389
DIFF 6056
DIFF 5056
DIFF 5019
DIFF 5056
DIFF 5203
DIFF 9352
DIFF 11000
DIFF 5500
DIFF 5018
DIFF 7370
DIFF 5982
DIFF 6000
DIFF 7722
DIFF 5130
DIFF 5056
DIFF 5278
DIFF 5499
DIFF 6518
DIFF 6019
DIFF 8703
DIFF 7889
DIFF 5426
DIFF 5148
DIFF 5074
DIFF 5278
DIFF 5074
DIFF 5629
DIFF 12740
DIFF 5314
DIFF 5333
DIFF 5703
DIFF 7204
DIFF 8537
DIFF 5407
DIFF 7481
DIFF 6518
DIFF 5185
DIFF 7500
DIFF 6111
DIFF 7073
DIFF 9463
DIFF 6074
DIFF 5667
DIFF 5889
DIFF 6537
DIFF 5611
DIFF 5630
DIFF 6148
DIFF 5536
DIFF 6148
DIFF 5685
DIFF 5426
DIFF 6389
DIFF 5315
DIFF 5574
DIFF 7889
DIFF 7592
DIFF 5815
DIFF 6371
DIFF 7055
DIFF 5129
DIFF 8555
DIFF 5407
DIFF 7019
DIFF 5944
DIFF 5425
DIFF 5167
DIFF 5371
DIFF 5926
DIFF 5796
DIFF 5648
DIFF 6037
DIFF 5593
DIFF 7241
DIFF 6185
DIFF 5629
DIFF 8037
DIFF 13018
DIFF 6499
DIFF 6574
DIFF 6148
DIFF 5889
GRBL busy: 1.00000
DIFF 6240
DIFF 5500
DIFF 8333
DIFF 5278
DIFF 5556
DIFF 6296
DIFF 6204
DIFF 5760
DIFF 6889
DIFF 6203
DIFF 5759
DIFF 11203
DIFF 5611
DIFF 6981
DIFF 6833
DIFF 5833
DIFF 5240
DIFF 7537
DIFF 7667
DIFF 5926
DIFF 5926
DIFF 5056
DIFF 5019
DIFF 6093
DIFF 6222
DIFF 9981
DIFF 7499
DIFF 5037
DIFF 5185
DIFF 7222
DIFF 5833
DIFF 6185
DIFF 5796
DIFF 5408
DIFF 5055
DIFF 6315
DIFF 5648
DIFF 5630
DIFF 5944
DIFF 5592
DIFF 5167
DIFF 5648
DIFF 5056
DIFF 5130
DIFF 5130
DIFF 6241
DIFF 5685
DIFF 5018
DIFF 5130
DIFF 5019
DIFF 5759
DIFF 5593
DIFF 5074
DIFF 5259
DIFF 6259
DIFF 5741
DIFF 5018
DIFF 5278
DIFF 5130
DIFF 5167
DIFF 5852
DIFF 5611
DIFF 5333
DIFF 6426
DIFF 6240
DIFF 5611
DIFF 5111
DIFF 5278
DIFF 5555
DIFF 6297
DIFF 5611
DIFF 5018
DIFF 7297
DIFF 8260
DIFF 10296
DIFF 12352
DIFF 11648
DIFF 6907
DIFF 5019
DIFF 5333
DIFF 13611
DIFF 18222
DIFF 14796
DIFF 10796
DIFF 12203
DIFF 12944
DIFF 10815
DIFF 9871
DIFF 11778
DIFF 10481
DIFF 14055
DIFF 6556
DIFF 6352
DIFF 6926
DIFF 9278
DIFF 8055
DIFF 7445
DIFF 10056
DIFF 8019
DIFF 11240
DIFF 12759
DIFF 9444
DIFF 9222
DIFF 23093
DIFF 13278
DIFF 10592
DIFF 12629
DIFF 13870
DIFF 12278
DIFF 10222
DIFF 16074
DIFF 10962
DIFF 8944
DIFF 7833
DIFF 9907
DIFF 10648
DIFF 12333
DIFF 10592
DIFF 12018
DIFF 15037
DIFF 22370
DIFF 17148
DIFF 9278
DIFF 10963
DIFF2022/01/31 14:36:29.084 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65382 fPos=4.58 fActPosition=4.59 time=0.000011
2022/01/31 14:36:29.084 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65430 fPos=-4.58 fActPosition=-4.59 time=0.000007
2022/01/31 14:36:29.284 ecmcMotorRecord:: poll(1) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65409 fPos=3.784 fActPosition=3.78 time=0.000010
2022/01/31 14:36:29.284 ecmcMotorRecord:: poll(2) mvnNRdy=1 bBusy=1 bExecute=0 bEnabled=1 atTarget=0 wf=0 ENC=65457 fPos=-3.784 fActPosition=-3.78 time=0.000006