21 lines
885 B
Plaintext
21 lines
885 B
Plaintext
# Hexapod cpp_logic simulation IOC example.
|
|
# Run with the hexapod project as the IOC working directory.
|
|
# Build first: make logic ECMC_ROOT=<ecmc source> ECMCCFG_ROOT=<ecmccfg source>
|
|
# build/libhexapod_logic.so
|
|
# cfg/libhexapod_logic.so_cpp_logic.subs
|
|
#
|
|
# Axes 1..6: X, Y, Z, Rx, Ry, Rz (internal coordinate trajectories).
|
|
# Axes 7..12: L1..L6 (external IK trajectories and ideal leg feedback).
|
|
# No EtherCAT master or physical hardware is required.
|
|
# The IOC launcher supplies iocInit; ecmccfg finalizes at that point.
|
|
#
|
|
# Useful panels after startup:
|
|
# caqtdm -macro "IOC=HEXAPOD" ecmcCppLogicOverview.ui
|
|
# caqtdm -macro "IOC=HEXAPOD,CPP_ID=0" ecmcCppLogic.ui
|
|
|
|
epicsEnvSet("IOC", "${IOC=HEXAPD}")
|
|
require ecmccfg sandst_a "ECMC_VER=sandst_a,MASTER_ID=-1,EC_RATE=1000"
|
|
|
|
# Load all twelve virtual axes, then the C++ transform and its status PVs.
|
|
${SCRIPTEXEC} ./cfg/load.cmd
|