diff --git a/scripts/jinja2/loadYamlEnc.cmd b/scripts/jinja2/loadYamlEnc.cmd index f397f179c..cff6e3c8f 100644 --- a/scripts/jinja2/loadYamlEnc.cmd +++ b/scripts/jinja2/loadYamlEnc.cmd @@ -19,6 +19,8 @@ #- halt the ioc startup in case of an error on error halt +epicsEnvSet(ECMC_IS_LOAD_YAML_ENC, 1) + #- setup python venv and run `plcYamlJinja2.py` #- MUST be in the same 'system'-context!!! ecmcIf("'$(ECMC_CFG_TOOL=jinja)'=='ecb'") @@ -36,5 +38,6 @@ ${SCRIPTEXEC} "${ECMC_TMP_DIR}${FILE}.enc" #- cleanup system "rm -rf ${ECMC_TMP_DIR}${FILE}.enc" +epicsEnvUnset(ECMC_IS_LOAD_YAML_ENC) #- reset PREFIX epicsEnvSet("ECMC_PREFIX" "${SM_PREFIX}") diff --git a/scripts/jinja2/templates/encoder.jinja2 b/scripts/jinja2/templates/encoder.jinja2 index c76ba97c6..afec4b1b6 100644 --- a/scripts/jinja2/templates/encoder.jinja2 +++ b/scripts/jinja2/templates/encoder.jinja2 @@ -29,8 +29,12 @@ epicsEnvSet(ECMC_ENC_CFG_ID,${ECMC_CONFIG_RETURN_VAL}) {#- scaling #} ecmcConfigOrDie "Cfg.SetAxisEncScaleDenom(${ECMC_AXIS_NO},{{ encoder.denominator|float }})" ecmcConfigOrDie "Cfg.SetAxisEncScaleNum(${ECMC_AXIS_NO},{{ encoder.numerator }})" + {#- source #} -ecmcConfigOrDie "Cfg.SetAxisEncSourceType(${ECMC_AXIS_NO},{{ encoder.source }})" +ecmcIf("${ECMC_IS_LOAD_YAML_ENC=0}=0") +${IF_TRUE}ecmcConfigOrDie "Cfg.SetAxisEncSourceType(${ECMC_AXIS_NO},{{ encoder.source }})" +ecmcEndIf() + {#- data #} ecmcConfigOrDie "Cfg.SetAxisEncType(${ECMC_AXIS_NO},{{ encoder.type }})" ecmcConfigOrDie "Cfg.SetAxisEncBits(${ECMC_AXIS_NO},{{ encoder.bits }})"