#!../../bin/linux-x86_64/IOCINFRA
#- You may have to change IOCINFRA to something else
#- everywhere it appears in this file
epicsEnvSet("ARCH","linux-x86_64")
epicsEnvSet("IOC","IOCINFRA")
epicsEnvSet("PATH","/opt/epics/BASE/epics-base/bin/linux-x86_64/")
epicsEnvSet("TOP","/epics/iocs/sys/infra")
#iocStat stuff on softIOCs
epicsEnvSet("ENGINEER","Heinz")
epicsEnvSet("LOCATION","trARPES")
epicsEnvSet("STARTUP","${TOP}")
epicsEnvSet("ST_CMD","st.cmd")
#not fully understood :-(
epicsEnvSet ("EPICS_CAS_INTF_ADDR_LIST","172.24.192.27")
< envPaths
epicsEnvSet "STREAM_PROTOCOL_PATH" "$(TOP)/db"
#used by autosave
epicsEnvSet ("LOG_DIR", "/epics/iocs/log")
cd "${TOP}"
epicsEnvSet "XGS-600_1" "_trarpes_vac_xgs600_1"
epicsEnvSet "XGS-600_2" "_trarpes_vac_xgs600_2"
## Register all support components
dbLoadDatabase "dbd/IOCINFRA.dbd"
IOCINFRA_registerRecordDeviceDriver pdbbase
## Load record instances
#dbLoadRecords("db/xxx.db","user=epics")
# Configure asyn communication port, first
drvAsynIPPortConfigure(${XGS-600_1}, "172.24.192.29:4001", 0, 0, 0 )
dbLoadTemplate("db/XGS600_1.substitutions", "LINK=${XGS-600_1}")
drvAsynIPPortConfigure(${XGS-600_2}, "172.24.192.32:4001", 0, 0, 0 )
dbLoadTemplate("db/XGS600_2.substitutions", "LINK=${XGS-600_2}")
# von 4kstm
epicsEnvSet MAXI_INET 172.24.192.32:4002
epicsEnvSet MAXI_LINK MAXI_01
drvAsynIPPortConfigure(${MAXI_LINK}, ${MAXI_INET}, 0, 0, 0)
dbLoadTemplate("db/maxigauge.sub")
#drvAsynIPPortConfigure("MOXA_2_2", "172.24.192.32:4002", 0, 0, 0)
#dbLoadRecords("db/TPG26x.db", "P=staticARPES:TPG256:CH, IFPRESSUR1=, IFPRESSUR2=, PORT=MOXA_2_2")
drvAsynIPPortConfigure("MOXA_2", "172.24.192.29:4002", 0, 0, 0)
#asynSetTraceIOMask("MOXA_2", -1, 0x2)
#asynSetTraceMask("MOXA_2", -1, 0x9)
dbLoadTemplate("db/SATECO_lakeshore.substitution")
drvAsynIPPortConfigure("MOXA_3", "172.24.192.29:4003", 0, 0, 0)
#asynSetTraceIOMask("MOXA_3", 0, 0x5)
#asynSetTraceMask("MOXA_3", 0, 0xB)
dbLoadRecords("db/TPG26x.db", "P=trARPES:PIC_PRE:, IFPRESSUR1=, IFPRESSUR2=, PORT=MOXA_3")
drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
#asynSetTraceIOMask("MOXA_4", 0, 0x2)
#asynSetTraceMask("MOXA_4", 0, 0x9)
dbLoadRecords "db/devKeithley6487.db", "P=trARPES:, R=Sample:, PORT=MOXA_4, A=-1,NELM=1000")
#drvAsynIPPortConfigure("MOXA_4", "172.24.192.29:4004", 0, 0, 0)
#asynOctetSetInputEos("MOXA_4",0,"\n")
#asynOctetSetOutputEos("MOXA_4",0,"\n")
#drvAsynKeithley648x("6485", "Keithley6485", "MOXA_4",0)
#asynSetTraceIOMask("MOXA_4", 0, 0x2)
#asynSetTraceMask("MOXA_4", 0, 0x9)
#dbLoadRecords("db/Keithley6485.db", "P=trARPES:, CA=Sample:, PORT=Keithley6485")
drvAsynIPPortConfigure("MOXA_5", "172.24.192.29:4005", 0, 0, 0)
dbLoadRecords("db/TPG26x.db", "P=trARPES:LL:, IFPRESSUR1=, IFPRESSUR2=#, PORT=MOXA_5")
drvAsynIPPortConfigure("MOXA_9", "172.24.192.29:4009", 0, 0, 0)
dbLoadRecords("db/TPG26x.db", "P=trARPES:HHG:, IFPRESSUR1=, IFPRESSUR2=#, PORT=MOXA_9")
drvAsynIPPortConfigure("MOXA_10", "172.24.192.29:4010", 0, 0, 0)
#asynSetTraceIOMask("MOXA_10", 0, 0x2)
#asynSetTraceMask("MOXA_10", 0, 0x9)
dbLoadRecords "db/devKeithley6487.db", "P=trARPES:, R=HHG:Diode:, PORT=MOXA_10, A=-1,NELM=1000")
drvAsynIPPortConfigure("MOXA_11", "172.24.192.29:4011", 0, 0, 0)
#asynSetTraceIOMask("MOXA_11", -1, 0x2)
#asynSetTraceMask("MOXA_11", -1, 0x9)
dbLoadTemplate("db/Bronkhorst.substitution")
dbLoadRecords "db/asynRecord.db", "P=trARPES,R=asyn,PORT=MOXA_4,ADDR=-1,OMAX=0,IMAX=0")
cd "${TOP}/iocBoot/${IOC}"
iocInit
################################################# Create autosave monitor sets
create_monitor_set("${IOC}_0.req", 5, "P=${IOC}:")
create_monitor_set("${IOC}_1.req", 30, "P=${IOC}:")
## Report Installed and Configured I/O-Hardware Information
dbior 0 1 > ${LOG_DIR}/Database/${IOC}.dbior
dbhcr > ${LOG_DIR}/Database/${IOC}.dbhcr
dbl > ${LOG_DIR}/Database/${IOC}.dbl
## Start any sequence programs
#seq sncxxx,"user=epics"
# Armcount returns INF as float, but is longout ???
dbpf "trARPES:Sample:ArmCount" 5
dbpf "trARPES:HHG:Diode:ArmCount" 5