ecmccomp is the component library for ecmc.
It provides reusable component definitions (motors, encoders, and slave-specific configs) that are applied to EtherCAT slaves at IOC startup.
applyComponent.cmdThe standard entry script is:
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP=<component-name>"
Typical arguments:
COMP: component file name (required)EC_COMP_TYPE: hardware descriptor (for example EL7037); defaults from addSlave.cmd contextCOMP_S_ID: slave bus position; defaults from addSlave.cmd contextCH_ID: channel index (default 1)MACROS: optional component or slave macrosapplyComponent.cmd doesapplyComponent.cmd executes a fixed pipeline:
${ecmccomp_DIR}${COMP}.cmd).${ecmccomp_DIR}${EC_COMP_TYPE}_${COMP_TYPE}.cmd).validateGeneric.cmd).validateMacros.cmd).validate<COMP_TYPE>.cmd).${SLAVE_SCRIPT}_${COMP_TYPE}.cmd).ecmccfgUse ecmccomp directly after addSlave.cmd:
${SCRIPTEXEC} ${ecmccfg_DIR}addSlave.cmd, "SLAVE_ID=8, HW_DESC=EL7037"
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP=Motor-OrientalMotor-PK267JB-Parallel"
Explicit call variant:
${SCRIPTEXEC} ${ecmccomp_DIR}applyComponent.cmd, "COMP_S_ID=12,EC_COMP_TYPE=EL7037,COMP=Motor-OrientalMotor-PK267JB-Parallel,CH_ID=1,MACROS='I_MAX_MA=500,I_STDBY_MA=100'"
ecmccomp complements ecmccfg: use ecmccfg for system and axis startup flow, and ecmccomp for reusable component-level slave configuration..cmd files in the ecmccomp repository.