# set EPICS according to BASE or default to 3.14.12 epicsEnvSet EPICS, R$(EPICS_RELEASE=$(BASE=3.14.12)) # Start Logging date "epicsEnvSet IOC_STARTTIME %Y-%m-%dT%H:%M:%S" > /tmp/$(IOC).starttime < /tmp/$(IOC).starttime system "rm /tmp/$(IOC).starttime" epicsEnvSet EPICS_IOC_LOG_INET, $(EPICS_IOC_LOG_INET=gfa-syslog) epicsEnvSet EPICS_IOC_LOG_PORT, $(EPICS_IOC_LOG_PORT=1514) # iocLogPrefix will fail for EPICS 3 but that's OK iocLogPrefix "$(IOC) " iocLogInit errlog "starting EPICS $(EPICS) at $(IOC_STARTTIME)" # 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" # OSFA (SF machine networks) # 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" # SwissFEL end stations to machine via gateway epicsEnvSet CA_129.129.242,"sf-saresc-cagw:5062" epicsEnvSet CA_129.129.243,"sf-saresc-cagw:5062" epicsEnvSet CA_129.129.244,"sf-saresc-cagw:5062" epicsEnvSet CA_129.129.245,"sf-satesd-cagw:5062" epicsEnvSet CA_129.129.246,"sf-satese-cagw:5062" epicsEnvSet CA_129.129.247,"sf-satesf-cagw:5062" # 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=. '/docker|virbr|lo:/{do{getline}while($0);next}/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)" epicsEnvSet CFG, $(PWD)/cfg epicsEnvSet STREAM_PROTOCOL_PATH, .:$(PWD)/cfg # Allow non-monotonic breaktables var dbBptNotMonotonic 1 # IOC monitoring require iocStats $(iocStats_VERSION=ifexists) # Database Upload require iocinfo $(iocinfo_VERSION=ifexists) # caPutLog epicsEnvSet EPICS_CA_PUT_LOG_ADDR, "gfa-syslog:1515 gfa-logstash.psi.ch:1515" # Set EPICS_CA_PUT_LOG_PREFIX for EPICS 3 but not for 7 because there we have iocLogPrefix epicsEnvSet EPICS_CA_PUT_LOG_PREFIX_CMD_3 "epicsEnvSet EPICS_CA_PUT_LOG_PREFIX $(IOC)" $(EPICS_CA_PUT_LOG_PREFIX_CMD_$(EPICS_VERSION_MAJOR=3)=) require caPutLog $(caPutLog_VERSION=ifexists) # sw installation version number require versionnumbers ifexists # autoSR location epicsEnvSet SRBASE /ioc/data