diff --git a/startup-vxWorks b/startup-vxWorks index 20dd769..35a432b 100644 --- a/startup-vxWorks +++ b/startup-vxWorks @@ -19,18 +19,14 @@ sprintf STRINGBUFFER, "%s (startup.script aborted) > ", IOC shellPromptSet STRINGBUFFER # Set EPICS_HOST_ARCH according to vxWorks version and cpu type -VX6=(*runtimeVersion>>24)-'5' VMI=(*runtimeVersion>>8)&255 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 putenv STRINGBUFFER puts STRINGBUFFER -# Router for SLS machine net (fails otherwise but that's ok) -routeAdd "0.0.0.0","172.20.10.1" - -# Set DNS (if necessary) +# Set DNS (necessary when not using DHCP) resolvInit "129.129.190.11","psi.ch" # Guess FACILITY from sysBootHost name @@ -51,6 +47,8 @@ sprintf NFS_BASE,"/export/%s",FACILITY NFS_BASE=IS_STANDALONE?"":NFS_BASE NFS_DIR=malloc(48) sprintf NFS_DIR,"%s/ioc/epics",NFS_BASE +puts NFS_SERVER +puts NFS_DIR nfsMount NFS_SERVER,NFS_DIR,"/epics" nfsMount NFS_SERVER,"/usr/local/epics","/epics" sprintf NFS_DIR,"%s/ioc",NFS_BASE diff --git a/startup.script_common b/startup.script_common index 137a6ab..a828094 100644 --- a/startup.script_common +++ b/startup.script_common @@ -1,8 +1,8 @@ # This is the common part of all vxWorks startup scripts # It is included by all generated scripts -# The following variables should be set before: -# EPICS the epics release (e.g "R3.14.12") +# The following variable must be set before: +# EPICS the epics release (e.g "R7.0.7") EPICS_MODULES = "/ioc/modules" @@ -22,25 +22,12 @@ putenv STRINGBUFFER STREAM_PROTOCOL_DIR=malloc(80) 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 -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 R7 = strncmp(EPICS,"R7.",3)==0 -# Load PVA only on vxWorks 6 with more than 32 MB RAM -PVA = R7 && VX6 && (PVA||(sysPhysMemTop()&0xfc000000)) && !getenv("NOPVA") +# Load PVA only with more than 32 MB RAM +PVA = R7 && (PVA||(sysPhysMemTop()&0xfc000000)) && !getenv("NOPVA") # Time server (must be set before loading iocCoreLibrary.munch for 3.14.12) # 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" # Load EPICS system core (different names for different EPICS versions) -# 3.13: "iocCore" -# 3.14+: "softIoc.munch" -EPICS_APP = R3_13 ? "iocCore" : PVA ? "softIocPVA.munch" : "softIoc.munch" +EPICS_APP = PVA ? "softIocPVA.munch" : "softIoc.munch" sprintf STRINGBUFFER, "/epics/base-%s/bin/%s/%s", EPICS+1, EPICS_HOST_ARCH, EPICS_APP printf "loading %s\n",STRINGBUFFER ld 0, 0, STRINGBUFFER @@ -67,16 +52,15 @@ dbBptNotMonotonic=1 # Start Logging putenv getenv("EPICS_IOC_LOG_INET") ? "" : "EPICS_IOC_LOG_INET=gfa-syslog" 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 execute STRINGBUFFER iocLogInit 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 -sprintf STRINGBUFFER, R3_13 ? ";" : "softIoc%s_registerRecordDeviceDriver pdbbase", PVA ? "PVA" : "" +sprintf STRINGBUFFER, "softIoc%s_registerRecordDeviceDriver pdbbase", PVA ? "PVA" : "" execute STRINGBUFFER # load "require" @@ -87,22 +71,14 @@ putenv STRINGBUFFER sprintf STRINGBUFFER, "%s/lib/%s/requireLib.munch", getenv("require_DIR"), EPICS_HOST_ARCH 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") -sprintf STRINGBUFFER, R3_13 ? ";" : "require_registerRecordDeviceDriver pdbbase" -execute STRINGBUFFER +require_registerRecordDeviceDriver pdbbase require "utilities", getenv("utilities_VERSION") require "misc", getenv("misc_VERSION") # caPutLog 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 putenv bootInfo("EPICS_CAS_INTF_ADDR_LIST=%e") diff --git a/startup.script_part2 b/startup.script_part2 index 62c94ed..f5e26a0 100644 --- a/startup.script_part2 +++ b/startup.script_part2 @@ -1,18 +1,15 @@ # 2nd part of common vxWorks startup # IOC monitoring -require R3_13?"iocmon":"iocStats", getenv(R3_13?"iocmon_VERSION":"iocStats_VERSION") -require "iocmonCompat", "ifexists" +require "iocStats", getenv("iocStats_VERSION") +#require "iocmonCompat", "ifexists" # Battery monitoring -require "M48T37", getenv("M48T37_VERSION")?getenv("M48T37_VERSION"):"ifexists" +#require "M48T37", getenv("M48T37_VERSION")?getenv("M48T37_VERSION"):"ifexists" # Database Upload 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 # end of startup.script_part2