Skip to content
Snippets Groups Projects
Commit 242d58e6 authored by Joao Paulo Martins's avatar Joao Paulo Martins
Browse files

First version running in TS2

parent 717fadd8
No related branches found
No related tags found
No related merge requests found
# .cmd
require "mrfioc2" "2.2.1rc1"
#require "supercycleEngine" "master"
require ts2evm,develop
epicsEnvSet(REFTABS_DIR, "/home/iocuser/timing/reftabs")
epicsEnvSet(PREFIX, "TD-RFLAB:TS-EVG-01")
epicsEnvSet(PSCE, "TD-RFLAB:TS-SCE-01")
epicsEnvSet(PEVG, "TD-RFLAB:TS-EVG-01")
# Load standard timing modules environment
iocshLoad "$(mrfioc2_DIR)/mtca.iocsh"
iocshLoad "$(mrfioc2_DIR)/ts.iocsh"
iocshLoad "$(mrfioc2_DIR)/evm.iocsh" "P=$(PREFIX), OBJ=EVM, PCIID=09:00.0, U=:EVRU-, D=:EVRD-"
dbLoadRecords("ts2_evm_controls.template", "P=$(PREFIX):, EVGPREFIX=$(PREFIX):")
iocInit
iocshLoad "$(mrfioc2_DIR)/evgr.iocsh" "P=$(PEVG), INTRF=, INTPPS="
dbpf $(PREFIX):Enable-Sel "Ena Master"
dbpf $(PREFIX):1ppsInp-Sel "Sys Clk"
# Set MXC0 to generate 14 Hz
dbpf $(PREFIX):Mxc0-Prescaler-SP 6289464
dbpf $(PREFIX):Mxc0-Polarity-Sel "Orginal"
# Generate event 14 upon trigger on Mxc0
dbpf $(PREFIX):TrigEvt0-EvtCode-SP 14
dbpf $(PREFIX):TrigEvt0-TrigSrc-Sel "Mxc0"
# Configure sequencers
dbpf $(PREFIX):SoftSeq0-RunMode-Sel "Normal"
dbpf $(PREFIX):SoftSeq0-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq0-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq0-Load-Cmd "1"
dbpf $(PREFIX):SoftSeq1-RunMode-Sel "Normal"
dbpf $(PREFIX):SoftSeq1-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq1-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq1-Load-Cmd "1"
dbpf $(PREFIX):SoftSeq2-RunMode-Sel "Single"
dbpf $(PREFIX):SoftSeq2-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq2-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq2-Load-Cmd "1"
# Start sequencers
dbpf $(PREFIX):SeqSelecCalc.PROC "1"
require mrfioc2,2.2.1rc3
#- Channel Access environment configuration
epicsEnvSet("EPICS_CA_MAX_ARRAY_BYTES","10000000")
#- Example MACROS
epicsEnvSet("SYSSUB", "TD-TS2")
epicsEnvSet("DISDEVID", "TS-EVR-001")
epicsEnvSet("PREFIX", "$(SYSSUB):$(DISDEVID):")
#- EVR PCI address
epicsEnvSet("PCIID", "08:00.0")
# Not use in this script, but it is needed for the expansion.
epicsEnvSet("MainEvtCODE" "14")
#
# Record names follows the template "$(P)$(R=)$(S=:)Signal-SD"
# "P" is mandatory, "R" is optional (default empty), "S" is optional (defaul separator ":")
# "DEV" is a unique identifier of the EVR card used by mrfioc2 device support layer
#
iocshLoad("$(mrfioc2_DIR)/evr-mtca-300.iocsh", "P=$(PREFIX), S=, DEV=$(DISDEVID), PCIID=$(PCIID)")
iocInit()
......@@ -3,31 +3,61 @@ require mrfioc2,2.2.1rc3
require busy,1.7.2_c596e1c
require ts2evm,develop
# - Standard modules
require iocStats,3.1.16
require autosave,5.10.0
require caPutLog,b544f92
require recsync,1.3.0-9705e52
require ess,0.0.1
epicsEnvSet(PREFIX, "TD-RFLAB:TS-EVG-01")
# Load standard timing modules environment
# - Load standard timing modules environment
iocshLoad "$(mrfioc2_DIR)/mtca.iocsh"
iocshLoad "$(mrfioc2_DIR)/ts.iocsh"
iocshLoad "$(mrfioc2_DIR)/evm.iocsh" "P=$(PREFIX), OBJ=EVM, PCIID=09:00.0, U=:EVRU-, D=:EVRD-"
# - Load TS2 EVM application
dbLoadRecords("ts2_evm_controls.template", "P=$(PREFIX):, EVGPREFIX=$(PREFIX):")
# - Load standard ESS modules
iocshLoad("$(iocStats_DIR)/iocStats.iocsh", "IOCNAME=$(PREFIX)")
var(reccastTimeout, 5.0)
var(reccastMaxHoldoff, 5.0)
epicsEnvSet("RECSYNCPREFIX", "$(PREFIX)")
iocshLoad("$(recsync_DIR)/recsync.iocsh", "IOCNAME=$(RECSYNCPREFIX)")
epicsEnvSet("AS_REMOTE", "/opt/autosave")
epicsEnvSet("AS_FOLDER", "$(PREFIX)")
iocshLoad("$(autosave_DIR)/autosave.iocsh", "AS_TOP=$(AS_REMOTE),IOCNAME=$(AS_FOLDER)")
## Logging environment variables
epicsEnvSet("LOG_SERVER_NAME", "$(LOG_SERVER_NAME=localhost)")
epicsEnvSet("ERRORLOG_SERVER_PORT", "$(ERRORLOG_SERVER_PORT=9001)")
epicsEnvSet("CAPUTLOG_SERVER_PORT", "$(CAPUTLOG_SERVER_PORT=9001)")
epicsEnvSet("FACNAME", "$(FACNAME=)")
#iocshLoad("$(ess_DIR)/iocLog.iocsh", "LOG_INET=$(LOG_SERVER_NAME),LOG_INET_PORT=$(ERRORLOG_SERVER_PORT),FACNAME=$(FACILITY_NAME=),IOCNAME=$(PREFIX)")
#iocshLoad("$(caPutLog_DIR)/caPutLog.iocsh", "LOG_INET=$(LOG_SERVER_NAME),LOG_INET_PORT=$(CAPUTLOG_SERVER_PORT)")
# - Start IOC
iocInit
iocshLoad "$(mrfioc2_DIR)/evgr.iocsh" "P=$(PREFIX), INTRF=, INTPPS="
# - Load EVM standard after init snippet
iocshLoad("$(mrfioc2_DIR)/evgr.iocsh","P=$(PREFIX), INTRF=, INTPPS=")
dbpf $(PREFIX):Enable-Sel "Ena Master"
dbpf $(PREFIX):1ppsInp-Sel "Sys Clk"
# Set MXC0 to generate 14 Hz
# - Set MXC0 to generate 14 Hz
dbpf $(PREFIX):Mxc0-Prescaler-SP 6289464
dbpf $(PREFIX):Mxc0-Polarity-Sel "Orginal"
# Generate event 14 upon trigger on Mxc0
# - Generate event 14 upon trigger on Mxc0
dbpf $(PREFIX):TrigEvt0-EvtCode-SP 14
dbpf $(PREFIX):TrigEvt0-TrigSrc-Sel "Mxc0"
# Configure sequencers
# - Configure sequencers
dbpf $(PREFIX):SoftSeq0-RunMode-Sel "Normal"
dbpf $(PREFIX):SoftSeq0-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq0-TrigSrc-0-Sel "Mxc0"
......@@ -38,10 +68,6 @@ dbpf $(PREFIX):SoftSeq1-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq1-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq1-Load-Cmd "1"
dbpf $(PREFIX):SoftSeq2-RunMode-Sel "Single"
dbpf $(PREFIX):SoftSeq2-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq2-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq2-Load-Cmd "1"
# Start sequencers
# - Start sequencers
dbpf $(PREFIX):SeqSelecCalc.PROC "1"
# - Required modules
require mrfioc2,2.2.1rc1
require ts2evm,develop
require mrfioc2,2.2.1rc3
require busy,1.7.2_c596e1c
require ts2evm,1.0.0
# - Standard modules
require iocStats,3.1.16
require autosave,5.10.0
require caPutLog,b544f92
require recsync,1.3.0-9705e52
require ess,0.0.1
epicsEnvSet(PREFIX, "TD-TS2:TS-EVM-01")
# Load standard timing modules environment
# - Load standard timing modules environment
iocshLoad "$(mrfioc2_DIR)/mtca.iocsh"
iocshLoad "$(mrfioc2_DIR)/ts.iocsh"
iocshLoad "$(mrfioc2_DIR)/evm.iocsh" "P=$(PREFIX), OBJ=EVM, PCIID=09:00.0, U=:EVRU-, D=:EVRD-"
# - Load TS2 EVM application
dbLoadRecords("ts2_evm_controls.template", "P=$(PREFIX):, EVGPREFIX=$(PREFIX):")
# - Load standard ESS modules
iocshLoad("$(iocStats_DIR)/iocStats.iocsh", "IOCNAME=$(PREFIX)")
var(reccastTimeout, 5.0)
var(reccastMaxHoldoff, 5.0)
epicsEnvSet("RECSYNCPREFIX", "$(PREFIX)")
iocshLoad("$(recsync_DIR)/recsync.iocsh", "IOCNAME=$(RECSYNCPREFIX)")
epicsEnvSet("AS_REMOTE", "/opt/autosave")
epicsEnvSet("AS_FOLDER", "$(PREFIX)")
iocshLoad("$(autosave_DIR)/autosave.iocsh", "AS_TOP=$(AS_REMOTE),IOCNAME=$(AS_FOLDER)")
## Logging environment variables
epicsEnvSet("LOG_SERVER_NAME", "$(LOG_SERVER_NAME=localhost)")
epicsEnvSet("ERRORLOG_SERVER_PORT", "$(ERRORLOG_SERVER_PORT=9001)")
epicsEnvSet("CAPUTLOG_SERVER_PORT", "$(CAPUTLOG_SERVER_PORT=9001)")
epicsEnvSet("FACNAME", "$(FACNAME=)")
#iocshLoad("$(ess_DIR)/iocLog.iocsh", "LOG_INET=$(LOG_SERVER_NAME),LOG_INET_PORT=$(ERRORLOG_SERVER_PORT),FACNAME=$(FACILITY_NAME=),IOCNAME=$(PREFIX)")
#iocshLoad("$(caPutLog_DIR)/caPutLog.iocsh", "LOG_INET=$(LOG_SERVER_NAME),LOG_INET_PORT=$(CAPUTLOG_SERVER_PORT)")
# - Start IOC
iocInit
iocshLoad "$(mrfioc2_DIR)/evgr.iocsh" "P=$(PREFIX), INTRF=, INTPPS="
# - Load EVM standard after init snippet
iocshLoad("$(mrfioc2_DIR)/evgr.iocsh","P=$(PREFIX), INTRF=, INTPPS=")
dbpf $(PREFIX):Enable-Sel "Ena Master"
dbpf $(PREFIX):1ppsInp-Sel "Sys Clk"
# Set MXC0 to generate 14 Hz
# - Set MXC0 to generate 14 Hz
dbpf $(PREFIX):Mxc0-Prescaler-SP 6289464
dbpf $(PREFIX):Mxc0-Polarity-Sel "Orginal"
# Generate event 14 upon trigger on Mxc0
# - Generate event 14 upon trigger on Mxc0
dbpf $(PREFIX):TrigEvt0-EvtCode-SP 14
dbpf $(PREFIX):TrigEvt0-TrigSrc-Sel "Mxc0"
# Configure sequencers
# - Configure sequencers
dbpf $(PREFIX):SoftSeq0-RunMode-Sel "Normal"
dbpf $(PREFIX):SoftSeq0-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq0-TrigSrc-0-Sel "Mxc0"
......@@ -37,10 +68,6 @@ dbpf $(PREFIX):SoftSeq1-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq1-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq1-Load-Cmd "1"
dbpf $(PREFIX):SoftSeq2-RunMode-Sel "Single"
dbpf $(PREFIX):SoftSeq2-TsResolution-Sel "uSec"
dbpf $(PREFIX):SoftSeq2-TrigSrc-0-Sel "Mxc0"
dbpf $(PREFIX):SoftSeq2-Load-Cmd "1"
# Start sequencers
# - Start sequencers
dbpf $(PREFIX):SeqSelecCalc.PROC "1"
......@@ -3,7 +3,7 @@ EPICS_MODULE_NAME:=ts2evm
EPICS_MODULE_TAG:=master
#
E3_MODULE_VERSION:=develop
E3_MODULE_VERSION:=1.0.0
# DEPENDENT MODULE VERSION
# For Example,
......
[Unit]
Description=IOC: ts2-evm
ConditionHost=ts2-evm-cpu.tn.esss.lu.se
After=multi-user.target
Requires=multi-user.target
[Service]
User=iocuser
Type=simple
# workaround for problem with require 3.2.0
Environment="EPICS_BASE=/epics/base-7.0.4"
Environment="EPICS_HOST_ARCH=linux-x86_64"
Environment="EPICS_DRIVER_PATH=/epics/base-7.0.4/require/3.2.0/siteMods:/epics/base-7.0.4/require/3.2.0/siteApps"
Environment="E3_REQUIRE_NAME=require"
Environment="E3_SITELIBS_PATH=/epics/base-7.0.4/require/3.2.0/siteLibs"
Environment="E3_REQUIRE_INC=/epics/base-7.0.4/require/3.2.0/include"
Environment="E3_REQUIRE_VERSION=3.2.0"
Environment="E3_REQUIRE_LOCATION=/epics/base-7.0.4/require/3.2.0"
Environment="E3_REQUIRE_LIB=/epics/base-7.0.4/require/3.2.0/lib"
Environment="E3_REQUIRE_BIN=/epics/base-7.0.4/require/3.2.0/bin"
Environment="E3_SITEAPPS_PATH=/epics/base-7.0.4/require/3.2.0/siteApps"
Environment="E3_SITEMODS_PATH=/epics/base-7.0.4/require/3.2.0/siteMods"
Environment="E3_REQUIRE_DB=/epics/base-7.0.4/require/3.2.0/db"
Environment="E3_REQUIRE_DBD=/epics/base-7.0.4/require/3.2.0/dbd"
Environment="PATH=/epics/base-7.0.4/require/3.2.0/bin:/epics/base-7.0.4/bin/linux-x86_64:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/iocuser/.local/bin:/home/iocuser/bin:/home/iocuser/.local/bin:/home/iocuser/bin"
Environment="LD_LIBRARY_PATH=/epics/base-7.0.4/lib/linux-x86_64:/epics/base-7.0.4/require/3.2.0/lib/linux-x86_64:/epics/base-7.0.4/require/3.2.0/siteLibs/linux-x86_64"
ExecStart=/usr/bin/procServ \
-f \
-i ^C^D \
2000 \
/epics/base-7.0.4/require/3.2.0/bin/iocsh.bash \
/home/iocuser/devspace/e3-ts2evm/cmds/ts2.cmd
[Install]
WantedBy=multi-user.target
......@@ -8,6 +8,7 @@ record(ao, "$(P)$(R=)CycleFreq-SP") {
field(DRVL, "0")
field(DRVH, "14")
field(EGU, "Hz")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)RFFreq-Divider PP")
}
......@@ -31,6 +32,7 @@ record(ao, "$(P)$(R=)RFPulseLen-SP") {
field(DRVL, "404")
field(DRVH, "3600")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
......@@ -40,17 +42,6 @@ record(ai, "$(P)$(R=)RFPulseLen-RB") {
field(EGU, "us")
}
# record(ao, "$(P)$(R=)RFPulseDelay-SP") {
# field(DESC, "RF Pulse Delay from cycle init")
# field(VAL, "10000")
# field(DRVL, "1")
# field(DRVH, "10000000")
# field(EGU, "us")
# field(DISA, "1")
# field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
# }
record(ai, "$(P)$(R=)RFPulseDelay-RB") {
field(DESC, "RF Pulse Delay RB")
field(EGU, "us")
......@@ -66,6 +57,7 @@ record(ao, "$(P)$(R=)PBLen-SP") {
field(DRVL, "1")
field(DRVH, "2863")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
......@@ -81,6 +73,7 @@ record(ao, "$(P)$(R=)PBDelay-SP") {
field(DRVL, "400")
field(DRVH, "10000000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
......@@ -99,6 +92,7 @@ record(ao, "$(P)$(R=)PulseCmDelay-SP") {
field(DRVL, "100")
field(DRVH, "10000000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
......@@ -373,6 +367,8 @@ record(bo, "$(P)$(R=)Mode") {
field(ZNAM, "Free Running")
field(ONAM, "On Demand")
field(FLNK, "$(P)$(R=)SeqDisableMode PP")
info(autosaveFields_pass0, "VAL")
}
# Trigger actions based on operation mode
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment