Files
startup/startup.script_linux

73 lines
3.7 KiB
Plaintext

# set EPICS according to BASE or default to 3.14.12
epicsEnvSet EPICS, R$(BASE=3.14.12)
# set up CA search lists for different networks
# Office (only officicial EPICS subnets, not SLS beamlines!)
epicsEnvSet CA_129.129.130,"129.129.131.255 129.129.137.255"
epicsEnvSet CA_129.129.131,"129.129.130.255 129.129.137.255"
epicsEnvSet CA_129.129.137,"129.129.130.255 129.129.131.255"
# WHLA (FIN machine networks)
epicsEnvSet CA_172.21.10,"172.21.11.255 172.21.12.255 172.21.13.255"
epicsEnvSet CA_172.21.11,"172.21.10.255 172.21.12.255 172.21.13.255"
epicsEnvSet CA_172.21.12,"172.21.10.255 172.21.11.255 172.21.13.255"
epicsEnvSet CA_172.21.13,"172.21.10.255 172.21.11.255 172.21.12.255"
# OSFA (SF machine networks)
# with name servers
#epicsEnvSet CA_172.26,"sf-cans-01 sf-cans-02"
#epicsEnvSet CA_AUTO_172.26,"NO"
#epicsEnvSet CA_BEACON_172.26,"172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.110.255 172.26.111.255 172.26.120.255"
#epicsEnvSet CA_AUTO_BEACON_172.26,"NO"
# with directed broadcasts
epicsEnvSet CA_172.26,"172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.110.255 172.26.111.255 172.26.120.255 129.129.242.255 129.129.243.255"
epicsEnvSet CA_AUTO_172.26,"NO"
# ESA/ESB to machine via gateway
#epicsEnvSet CA_129.129.242,"sfes-cagw:5062"
#epicsEnvSet CA_129.129.243,"sfes-cagw:5062"
# ESA/ESB to machine via directed broadcast
epicsEnvSet CA_129.129.242,"172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.110.255 172.26.111.255 172.26.120.255 129.129.242.255 129.129.243.255"
epicsEnvSet CA_129.129.243,"172.26.0.255 172.26.2.255 172.26.8.255 172.26.16.255 172.26.24.255 172.26.32.255 172.26.40.255 172.26.110.255 172.26.111.255 172.26.120.255 129.129.242.255 129.129.243.255"
# HIPA
epicsEnvSet CA_172.19,"172.19.10.255 172.19.30.255"
epicsEnvSet CA_AUTO_172.19,"NO"
# PROSCAN
epicsEnvSet CA_172.25,"172.25.60.255 172.25.11.255"
epicsEnvSet CA_AUTO_172.25,"NO"
# All others can work with the defaults: automatic
# Apply settings dependent on network
system "/sbin/ifconfig|awk -F '[.: ]+' -vP=epicsEnvSet -vN=NET -vI=IPADDR -vB=BCADDR -vD=. '/192\.168/{next}/Bcast/{print P,N 1,$9ORS P,N 2,$10ORS P,N 3,$11ORS P,I,$4D$5D$6D$7ORS P,B,$9D$10D$11D$12;exit}/broadcast/{print P,N 1,$13ORS P,N 2,$14ORS P,N 3,$15ORS P,I,$3D$4D$5D$6ORS P,B,$13D$14D$15D$16;exit}'>/tmp/$(IOC).net"
< /tmp/$(IOC).net
system "rm /tmp/$(IOC).net"
epicsEnvSet EPICS_CA_ADDR_LIST,"$(CA_$(NET1=).$(NET2=).$(NET3=)=$(CA_$(NET1=).$(NET2=)=))"
epicsEnvSet EPICS_CA_AUTO_ADDR_LIST,"$(CA_AUTO_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_$(NET1=).$(NET2=)=YES))"
epicsEnvSet EPICS_CAS_BEACON_ADDR_LIST,"$(CA_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_BEACON_$(NET1=).$(NET2=)=$(EPICS_CA_ADDR_LIST)))"
epicsEnvSet EPICS_CAS_AUTO_BEACON_ADDR_LIST,"$(CA_AUTO_BEACON_$(NET1=).$(NET2=).$(NET3=)=$(CA_AUTO_BEACON_$(NET1=).$(NET2=)=$(EPICS_CA_AUTO_ADDR_LIST)))"
# set some search paths
epicsEnvSet EPICS_DRIVER_PATH "bin/R$(EPICS_RELEASE)_$(EPICS_HOST_ARCH):bin:snl:$(EPICS_MODULES=/ioc/modules):$(INSTBASE)/iocBoot/R$(EPICS_RELEASE)/$(EPICS_HOST_ARCH)"
epicsEnvSet TEMPLATES, $(INSTBASE)/iocBoot/templates
epicsEnvSet CFG, $(PWD)/cfg
epicsEnvSet STREAM_PROTOCOL_PATH, .:$(PWD)/cfg
# IOC monitoring
require iocStats $(iocStats_VERSION=ifexists)
# Database Upload
require iocinfo $(iocinfo_VERSION=ifexists)
# Logging
epicsEnvSet EPICS_IOC_LOG_INET, gfa-syslog
epicsEnvSet EPICS_IOC_LOG_PORT, 1514
iocLogInit
epicsEnvSet EPICS_CA_PUT_LOG_ADDR, "gfa-syslog:1515 sf-logstash.psi.ch:1515"
epicsEnvSet EPICS_CA_PUT_LOG_PREFIX, $(IOC)
require caPutLog $(caPutLog_VERSION=ifexists)
! iocBootNotify.sh $(IOC) - \"\${SHELLBOX#*:}\" - $(_) $(PWD)/startup.script - $(EPICS) -