Drop support for EPICS 3.13, IOCs without route settings, and useless M48T37 battery check driver
This commit is contained in:
@@ -19,18 +19,14 @@ sprintf STRINGBUFFER, "%s (startup.script aborted) > ", IOC
|
|||||||
shellPromptSet STRINGBUFFER
|
shellPromptSet STRINGBUFFER
|
||||||
|
|
||||||
# Set EPICS_HOST_ARCH according to vxWorks version and cpu type
|
# Set EPICS_HOST_ARCH according to vxWorks version and cpu type
|
||||||
VX6=(*runtimeVersion>>24)-'5'
|
|
||||||
VMI=(*runtimeVersion>>8)&255
|
VMI=(*runtimeVersion>>8)&255
|
||||||
EPICS_HOST_ARCH=malloc(16)
|
EPICS_HOST_ARCH=malloc(16)
|
||||||
sprintf EPICS_HOST_ARCH, "%s%c-ppc60%d", VX6 ? "V6" : "T", VX6 ? VMI : VMI>'3' ? '2' : '1', sysCpu-90
|
sprintf EPICS_HOST_ARCH, "V6%c-ppc60%d", VMI, sysCpu-90
|
||||||
sprintf STRINGBUFFER, "EPICS_HOST_ARCH=%s", EPICS_HOST_ARCH
|
sprintf STRINGBUFFER, "EPICS_HOST_ARCH=%s", EPICS_HOST_ARCH
|
||||||
putenv STRINGBUFFER
|
putenv STRINGBUFFER
|
||||||
puts STRINGBUFFER
|
puts STRINGBUFFER
|
||||||
|
|
||||||
# Router for SLS machine net (fails otherwise but that's ok)
|
# Set DNS (necessary when not using DHCP)
|
||||||
routeAdd "0.0.0.0","172.20.10.1"
|
|
||||||
|
|
||||||
# Set DNS (if necessary)
|
|
||||||
resolvInit "129.129.190.11","psi.ch"
|
resolvInit "129.129.190.11","psi.ch"
|
||||||
|
|
||||||
# Guess FACILITY from sysBootHost name
|
# Guess FACILITY from sysBootHost name
|
||||||
@@ -51,6 +47,8 @@ sprintf NFS_BASE,"/export/%s",FACILITY
|
|||||||
NFS_BASE=IS_STANDALONE?"":NFS_BASE
|
NFS_BASE=IS_STANDALONE?"":NFS_BASE
|
||||||
NFS_DIR=malloc(48)
|
NFS_DIR=malloc(48)
|
||||||
sprintf NFS_DIR,"%s/ioc/epics",NFS_BASE
|
sprintf NFS_DIR,"%s/ioc/epics",NFS_BASE
|
||||||
|
puts NFS_SERVER
|
||||||
|
puts NFS_DIR
|
||||||
nfsMount NFS_SERVER,NFS_DIR,"/epics"
|
nfsMount NFS_SERVER,NFS_DIR,"/epics"
|
||||||
nfsMount NFS_SERVER,"/usr/local/epics","/epics"
|
nfsMount NFS_SERVER,"/usr/local/epics","/epics"
|
||||||
sprintf NFS_DIR,"%s/ioc",NFS_BASE
|
sprintf NFS_DIR,"%s/ioc",NFS_BASE
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# This is the common part of all vxWorks startup scripts
|
# This is the common part of all vxWorks startup scripts
|
||||||
# It is included by all generated scripts
|
# It is included by all generated scripts
|
||||||
|
|
||||||
# The following variables should be set before:
|
# The following variable must be set before:
|
||||||
# EPICS the epics release (e.g "R3.14.12")
|
# EPICS the epics release (e.g "R7.0.7")
|
||||||
|
|
||||||
EPICS_MODULES = "/ioc/modules"
|
EPICS_MODULES = "/ioc/modules"
|
||||||
|
|
||||||
@@ -22,25 +22,12 @@ putenv STRINGBUFFER
|
|||||||
STREAM_PROTOCOL_DIR=malloc(80)
|
STREAM_PROTOCOL_DIR=malloc(80)
|
||||||
sprintf STREAM_PROTOCOL_DIR, "%s/cfg", HOME
|
sprintf STREAM_PROTOCOL_DIR, "%s/cfg", HOME
|
||||||
|
|
||||||
# Release memory above 32 MB
|
|
||||||
# Code loaded after this must be compiled with -mlongcall
|
|
||||||
# at the moment snp24 does not work with this
|
|
||||||
# Don't use with VxWorks 6 because of EDR memory region!
|
|
||||||
EXTENDED_MEMORY=VX6?0:sysPhysMemTop()-sysMemTop()
|
|
||||||
memAddToPool sysMemTop(),EXTENDED_MEMORY
|
|
||||||
EXTENDED_MEMORY=0
|
|
||||||
|
|
||||||
# Need to branch a few times on EPICS base release
|
# Need to branch a few times on EPICS base release
|
||||||
R3_13 = strncmp(EPICS,"R3.13.",6)==0
|
|
||||||
R3_14 = strncmp(EPICS,"R3.14.",6)==0
|
|
||||||
R3_14_8 = strcmp(EPICS,"R3.14.8")==0
|
|
||||||
R3_15 = strncmp(EPICS,"R3.15.",6)==0
|
|
||||||
R3_16 = strncmp(EPICS,"R3.16.",6)==0
|
|
||||||
R3 = strncmp(EPICS,"R3.",3)==0
|
R3 = strncmp(EPICS,"R3.",3)==0
|
||||||
R7 = strncmp(EPICS,"R7.",3)==0
|
R7 = strncmp(EPICS,"R7.",3)==0
|
||||||
|
|
||||||
# Load PVA only on vxWorks 6 with more than 32 MB RAM
|
# Load PVA only with more than 32 MB RAM
|
||||||
PVA = R7 && VX6 && (PVA||(sysPhysMemTop()&0xfc000000)) && !getenv("NOPVA")
|
PVA = R7 && (PVA||(sysPhysMemTop()&0xfc000000)) && !getenv("NOPVA")
|
||||||
|
|
||||||
# Time server (must be set before loading iocCoreLibrary.munch for 3.14.12)
|
# Time server (must be set before loading iocCoreLibrary.munch for 3.14.12)
|
||||||
# Need EPICS_TS_FORCE_NTPTIME for 7.0
|
# Need EPICS_TS_FORCE_NTPTIME for 7.0
|
||||||
@@ -48,9 +35,7 @@ putenv "EPICS_TS_NTP_INET=129.129.190.1"
|
|||||||
putenv "EPICS_TS_FORCE_NTPTIME=YES"
|
putenv "EPICS_TS_FORCE_NTPTIME=YES"
|
||||||
|
|
||||||
# Load EPICS system core (different names for different EPICS versions)
|
# Load EPICS system core (different names for different EPICS versions)
|
||||||
# 3.13: "iocCore"
|
EPICS_APP = PVA ? "softIocPVA.munch" : "softIoc.munch"
|
||||||
# 3.14+: "softIoc.munch"
|
|
||||||
EPICS_APP = R3_13 ? "iocCore" : PVA ? "softIocPVA.munch" : "softIoc.munch"
|
|
||||||
sprintf STRINGBUFFER, "/epics/base-%s/bin/%s/%s", EPICS+1, EPICS_HOST_ARCH, EPICS_APP
|
sprintf STRINGBUFFER, "/epics/base-%s/bin/%s/%s", EPICS+1, EPICS_HOST_ARCH, EPICS_APP
|
||||||
printf "loading %s\n",STRINGBUFFER
|
printf "loading %s\n",STRINGBUFFER
|
||||||
ld 0, 0, STRINGBUFFER
|
ld 0, 0, STRINGBUFFER
|
||||||
@@ -67,16 +52,15 @@ dbBptNotMonotonic=1
|
|||||||
# Start Logging
|
# Start Logging
|
||||||
putenv getenv("EPICS_IOC_LOG_INET") ? "" : "EPICS_IOC_LOG_INET=gfa-syslog"
|
putenv getenv("EPICS_IOC_LOG_INET") ? "" : "EPICS_IOC_LOG_INET=gfa-syslog"
|
||||||
putenv getenv("EPICS_IOC_LOG_PORT") ? "" : "EPICS_IOC_LOG_PORT=1514"
|
putenv getenv("EPICS_IOC_LOG_PORT") ? "" : "EPICS_IOC_LOG_PORT=1514"
|
||||||
#sprintf STRINGBUFFER, R3_13||R3_14_8 ? "putenv \"EPICS_CA_PUT_LOG_PREFIX=%s\"" : "iocLogPrefix \"%s \"", IOC
|
|
||||||
sprintf STRINGBUFFER, "putenv \"EPICS_CA_PUT_LOG_PREFIX=%s\"", IOC
|
sprintf STRINGBUFFER, "putenv \"EPICS_CA_PUT_LOG_PREFIX=%s\"", IOC
|
||||||
execute STRINGBUFFER
|
execute STRINGBUFFER
|
||||||
iocLogInit
|
iocLogInit
|
||||||
errlogPrintf "Starting EPICS %s\n", EPICS
|
errlogPrintf "Starting EPICS %s\n", EPICS
|
||||||
|
|
||||||
sprintf STRINGBUFFER, R3_13 ? ";" : "dbLoadDatabase \"/epics/base-%s/dbd/softIoc%s.dbd\"", EPICS+1, PVA ? "PVA" : ""
|
sprintf STRINGBUFFER, "dbLoadDatabase \"/epics/base-%s/dbd/softIoc%s.dbd\"", EPICS+1, PVA ? "PVA" : ""
|
||||||
execute STRINGBUFFER
|
execute STRINGBUFFER
|
||||||
|
|
||||||
sprintf STRINGBUFFER, R3_13 ? ";" : "softIoc%s_registerRecordDeviceDriver pdbbase", PVA ? "PVA" : ""
|
sprintf STRINGBUFFER, "softIoc%s_registerRecordDeviceDriver pdbbase", PVA ? "PVA" : ""
|
||||||
execute STRINGBUFFER
|
execute STRINGBUFFER
|
||||||
|
|
||||||
# load "require"
|
# load "require"
|
||||||
@@ -87,22 +71,14 @@ putenv STRINGBUFFER
|
|||||||
sprintf STRINGBUFFER, "%s/lib/%s/requireLib.munch", getenv("require_DIR"), EPICS_HOST_ARCH
|
sprintf STRINGBUFFER, "%s/lib/%s/requireLib.munch", getenv("require_DIR"), EPICS_HOST_ARCH
|
||||||
ld 0, 0, STRINGBUFFER
|
ld 0, 0, STRINGBUFFER
|
||||||
|
|
||||||
#load standard drivers (allow user to specify version in environment variable)
|
|
||||||
require "base", getenv("base_VERSION") ? getenv("base_VERSION") : R3_13 ? "ifexists" : "none"
|
|
||||||
|
|
||||||
registerModule "require", getenv("require_VERSION"), getenv("require_DIR")
|
registerModule "require", getenv("require_VERSION"), getenv("require_DIR")
|
||||||
sprintf STRINGBUFFER, R3_13 ? ";" : "require_registerRecordDeviceDriver pdbbase"
|
require_registerRecordDeviceDriver pdbbase
|
||||||
execute STRINGBUFFER
|
|
||||||
require "utilities", getenv("utilities_VERSION")
|
require "utilities", getenv("utilities_VERSION")
|
||||||
require "misc", getenv("misc_VERSION")
|
require "misc", getenv("misc_VERSION")
|
||||||
|
|
||||||
# caPutLog
|
# caPutLog
|
||||||
require "caPutLog", getenv("caPutLog_VERSION") ? getenv("caPutLog_VERSION") : "ifexists"
|
require "caPutLog", getenv("caPutLog_VERSION") ? getenv("caPutLog_VERSION") : "ifexists"
|
||||||
|
|
||||||
# EPICS 3.13 needs this to not use synchronized timestamps
|
|
||||||
sprintf STRINGBUFFER, R3_13 ? "TSconfigure(0,10,10,18323,18322,250,1)" : ";"
|
|
||||||
execute STRINGBUFFER
|
|
||||||
|
|
||||||
# Run Channel Access only on 1st network port
|
# Run Channel Access only on 1st network port
|
||||||
putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e")
|
putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e")
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,15 @@
|
|||||||
# 2nd part of common vxWorks startup
|
# 2nd part of common vxWorks startup
|
||||||
|
|
||||||
# IOC monitoring
|
# IOC monitoring
|
||||||
require R3_13?"iocmon":"iocStats", getenv(R3_13?"iocmon_VERSION":"iocStats_VERSION")
|
require "iocStats", getenv("iocStats_VERSION")
|
||||||
require "iocmonCompat", "ifexists"
|
#require "iocmonCompat", "ifexists"
|
||||||
|
|
||||||
# Battery monitoring
|
# Battery monitoring
|
||||||
require "M48T37", getenv("M48T37_VERSION")?getenv("M48T37_VERSION"):"ifexists"
|
#require "M48T37", getenv("M48T37_VERSION")?getenv("M48T37_VERSION"):"ifexists"
|
||||||
|
|
||||||
# Database Upload
|
# Database Upload
|
||||||
require "iocinfo", getenv("iocinfo_VERSION")?getenv("iocinfo_VERSION"):"ifexists"
|
require "iocinfo", getenv("iocinfo_VERSION")?getenv("iocinfo_VERSION"):"ifexists"
|
||||||
|
|
||||||
#Enable memory >32MB on IOC that have it. (Is a NOOP on all others)
|
|
||||||
memAddToPool sysMemTop(), EXTENDED_MEMORY
|
|
||||||
|
|
||||||
iocInit
|
iocInit
|
||||||
|
|
||||||
# end of startup.script_part2
|
# end of startup.script_part2
|
||||||
|
|||||||
Reference in New Issue
Block a user