forked from icshwi/ecmccfg
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstartup.cmd
52 lines (52 loc) · 2.09 KB
/
startup.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
################################################################################
#-------------- Information:
# Description: ecmccfg startup.script
#
# by Niko Kivel, Paul Scherrer Institute, 2018
# email: niko.kivel@psi.ch
################################################################################
#
# Arguments
# [mandatory]
# SYS
#
# [optional]
# ECMC_VER = 6.0
# EthercatMC_VER = 3.0
# INIT = initAll
# MASTER_ID = 0
# SCRIPTEXEC = iocshLoad
#
# [set by module]
# ECMC_CONFIG_ROOT = root directory of ${MODULE}
# ECMC_CONFIG_DB = database directory of ${MODULE}
# EthercatMC_DB = database directory of EthercatMC
#
#-------------------------------------------------------------------------------
# load required modules
require ecmc "${ECMC_VER=6.0}"
require EthercatMC "${EthercatMC_VER=3.0}"
require stream "${stream_VER=kivel}"
#
#-------------------------------------------------------------------------------
# define default PATH for scripts and database/templates
epicsEnvSet("ECMC_CONFIG_ROOT", "${ecmccfg_DIR}")
epicsEnvSet("ECMC_CONFIG_DB", "${ecmccfg_TEMPLATES}/")
epicsEnvSet("EthercatMC_DB", "${EthercatMC_TEMPLATES}/")
epicsEnvSet("STREAM_PROTOCOL_PATH", "${STREAM_PROTOCOL_PATH=""}:${ECMC_CONFIG_ROOT}:${ecmccfg_DB}")
# define command for script execution, PSI: <3.15 runScript(), else like for ESS: iocshLoad()
epicsEnvSet("SCRIPTEXEC", "${SCRIPTEXEC=iocshLoad}")
#
#-------------------------------------------------------------------------------
# define IOC Prefix
epicsEnvSet("SM_PREFIX", "${IOC}:") # colon added since IOC is _not_ PREFIX
#-------------------------------------------------------------------------------
# call init-script, defaults to 'initAll'
${SCRIPTEXEC} "${ECMC_CONFIG_ROOT}${INIT=initAll}.cmd"
#
#-------------------------------------------------------------------------------
# add master (defaults to '0')
${SCRIPTEXEC} "${ECMC_CONFIG_ROOT}addMaster.cmd", "MASTER_ID=${MASTER_ID=0}"
#
# Ensure that this command is not executed twice (ESS vs PSI)
epicsEnvSet("ECMCCFG_INIT" ,"#")