< envPaths
epicsEnvSet("IOCNAME", "{{name}}" )
epicsEnvSet("ENGINEER", "{{user}}" )
epicsEnvSet("LOCATION", "{{prefix}}" )
epicsEnvSet("IOCSH_PS1", "$(IOCNAME)> " )
cd "$(TOP)"
< /reg/d/iocCommon/All/pre_linux.cmd
dbLoadDatabase("dbd/{{binary_name}}.dbd")
{{binary_name}}_registerRecordDeviceDriver(pdbbase)
cd "$(TOP)/db"
epicsEnvSet("ASYN_PORT", "{{asyn_port}}")
epicsEnvSet("IPADDR", "{{plc_ip}}")
epicsEnvSet("AMSID", "{{plc_ams_id}}")
epicsEnvSet("IPPORT", "{{plc_ads_port}}")
adsAsynPortDriverConfigure("$(ASYN_PORT)","$(IPADDR)","$(AMSID)","$(IPPORT)", 1000, 0, 0, 50, 100, 1000, 0)
{% if symbols.Symbol_FB_MotionStage %}
epicsEnvSet("MOTOR_PORT", "{{motor_port}}")
epicsEnvSet("PREFIX", "{{prefix}}{{delim}}")
epicsEnvSet("ECM_NUMAXES", "{{symbols.Symbol_FB_MotionStage|length}}")
epicsEnvSet("NUMAXES", "{{symbols.Symbol_FB_MotionStage|length}}")
EthercatMCCreateController("$(MOTOR_PORT)", "$(ASYN_PORT)", "$(NUMAXES)", "200", "1000")
asynSetTraceMask("$(ASYN_PORT)", -1, 0x41)
asynSetTraceIOMask("$(ASYN_PORT)", -1, 2)
asynSetTraceInfoMask("$(ASYN_PORT)", -1, 5)
{% for motor in symbols.Symbol_FB_MotionStage | sort(attribute='nc_axis.axis_number') %}
epicsEnvSet("AXIS_NO", "{{motor.nc_axis.axis_number}}")
epicsEnvSet("MOTOR_PREFIX", "{{motor|epics_prefix}}")
epicsEnvSet("MOTOR_NAME", "{{motor|epics_suffix}}")
epicsEnvSet("DESC", "{{motor.name}} / {{motor.nc_axis.name}}")
epicsEnvSet("EGU", "{{motor.nc_axis.units}}")
epicsEnvSet("PREC", "{{motor|pragma('precision', 3) }}")
epicsEnvSet("AXISCONFIG", "{{motor|pragma('axisconfig', '')}}")
epicsEnvSet("ECAXISFIELDINIT", "{{motor|pragma('additional_fields', '') }}")
epicsEnvSet("AMPLIFIER_FLAGS", "{{motor|pragma('amplifier_flags', '') }}")
EthercatMCCreateAxis("$(MOTOR_PORT)", "$(AXIS_NO)", "$(AMPLIFIER_FLAGS)", "$(AXISCONFIG)")
dbLoadRecords("EthercatMC.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC) $(ECAXISFIELDINIT)")
dbLoadRecords("EthercatMCreadback.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC) ")
dbLoadRecords("EthercatMCdebug.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), MOTOR_PORT=$(MOTOR_PORT), AXIS_NO=$(AXIS_NO), PREC=3")
{% endfor %}
{% endif %}
{% for db in additional_db_files %}
dbLoadRecords("{{ db.file }}", "{{ db.macros }}")
{% endfor %}
cd "$(TOP)"
dbLoadRecords("db/iocAdmin.db", "P={{prefix}},IOC={{prefix}}" )
dbLoadRecords("db/save_restoreStatus.db", "P={{prefix}},IOC={{name}}" )
set_savefile_path( "$(IOC_DATA)/$(IOC)/autosave" )
set_requestfile_path( "$(TOP)/autosave" )
save_restoreSet_status_prefix( "{{prefix}}:" )
save_restoreSet_IncompleteSetsOk( 1 )
save_restoreSet_DatedBackupFiles( 1 )
set_pass0_restoreFile( "$(IOC).sav" )
set_pass1_restoreFile( "$(IOC).sav" )
iocInit()
create_monitor_set( "$(IOC).req", 5, "" )
< /reg/d/iocCommon/All/post_linux.cmd