From 6dc8e0a0247f46289ee7a06665886da54c9e6325 Mon Sep 17 00:00:00 2001 From: Gabriel Fedel <gabriel.fedel@ess.eu> Date: Wed, 20 Jan 2021 16:30:15 +0100 Subject: [PATCH] Reorganize --- cmds/evr-island.cmd | 9 +-- cmds/evr-test.cmd | 25 ------- cmds/llrflab.cmd | 73 ------------------- cmds/ts2.cmd | 73 ------------------- configure/CONFIG_MODULE | 2 +- .../evrislandApp/Db/evr-island.template | 20 ++++- evrisland.Makefile | 2 +- iocsh/evr-island-base.iocsh | 19 ++--- 8 files changed, 31 insertions(+), 192 deletions(-) delete mode 100644 cmds/evr-test.cmd delete mode 100755 cmds/llrflab.cmd delete mode 100755 cmds/ts2.cmd rename ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template => evrisland-loc/evrislandApp/Db/evr-island.template (93%) diff --git a/cmds/evr-island.cmd b/cmds/evr-island.cmd index 507427f..e11bd81 100755 --- a/cmds/evr-island.cmd +++ b/cmds/evr-island.cmd @@ -13,17 +13,12 @@ require ess,0.0.1 epicsEnvSet(PREFIX, "TR-LLRF") epicsEnvSet(PCI_SLOT, "0c:00.0") -#! -#epicsEnvSet "TOP" "$(E3_CMD_TOP)" -#iocshLoad "$(TOP)/locenvs.iocsh" -#epicsEnvSet "ENGINEER" "ICS_HWI_WP04" -#epicsEnvSet "EPICS_CA_MAX_ARRAY_BYTES" "10000000" iocshLoad "$(mrfioc2_DIR)/evr.iocsh" "P=$(PREFIX), PCIID=$(PCI_SLOT), $(INITARGS=)" #iocshLoad "$(autosave_DIR)/autosave.iocsh" "AS_TOP=$(AS_TOP=/var/log/autosave), IOCNAME=$(PEVR)" -# - Load TS2 EVM application -dbLoadRecords("ts2_evm_controls.template", "P=$(PREFIX):, EVGPREFIX=$(PREFIX):") +# - Load EVR Island application +dbLoadRecords("evr-island.template", "P=$(PREFIX):, EVGPREFIX=$(PREFIX):") # - Load standard ESS modules iocshLoad("$(iocstats_DIR)/iocstats.iocsh", "IOCNAME=$(PREFIX)") diff --git a/cmds/evr-test.cmd b/cmds/evr-test.cmd deleted file mode 100644 index 24ae3e3..0000000 --- a/cmds/evr-test.cmd +++ /dev/null @@ -1,25 +0,0 @@ -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() - diff --git a/cmds/llrflab.cmd b/cmds/llrflab.cmd deleted file mode 100755 index 5d13093..0000000 --- a/cmds/llrflab.cmd +++ /dev/null @@ -1,73 +0,0 @@ -# - Required modules -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 -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 - -# - 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 -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" - -# - Start sequencers -dbpf $(PREFIX):SeqSelecCalc.PROC "1" - diff --git a/cmds/ts2.cmd b/cmds/ts2.cmd deleted file mode 100755 index baf6907..0000000 --- a/cmds/ts2.cmd +++ /dev/null @@ -1,73 +0,0 @@ -# - Required modules -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 -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 - -# - 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 -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" - -# - Start sequencers -dbpf $(PREFIX):SeqSelecCalc.PROC "1" - diff --git a/configure/CONFIG_MODULE b/configure/CONFIG_MODULE index cc1e05d..2751c3d 100644 --- a/configure/CONFIG_MODULE +++ b/configure/CONFIG_MODULE @@ -18,7 +18,7 @@ BUSY_DEP_VERSION:=1.7.2_c596e1c # E3_MODULE_NAME:=$(EPICS_MODULE_NAME) -E3_MODULE_SRC_PATH:=ts2evm-loc +E3_MODULE_SRC_PATH:=evrisland-loc E3_MODULE_MAKEFILE:=$(EPICS_MODULE_NAME).Makefile diff --git a/ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template b/evrisland-loc/evrislandApp/Db/evr-island.template similarity index 93% rename from ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template rename to evrisland-loc/evrislandApp/Db/evr-island.template index 2c70ead..3e96ccc 100644 --- a/ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template +++ b/evrisland-loc/evrislandApp/Db/evr-island.template @@ -17,7 +17,7 @@ record(calc, "$(P)$(R=)CycleFreq-RB") { field(DESC, "Cycle frequency readback") field(INPA, "$(EVGPREFIX)PS0-Rate-I CP") field(CALC, "A*1000000") - field(PREC, "5") + field(PREC, "3") field(EGU, "Hz") } @@ -65,17 +65,19 @@ record(ao, "$(P)$(R=)RFSyncWdt-SP") { field(DESC, "RF Sync Width") field(VAL, "3000") field(EGU, "us") - field(OUT, "$(EVGPREFIX)DlyGen1-Width-SP PP") #TODO check + field(OUT, "$(EVGPREFIX)DlyGen1-Width-SP PP") info(autosaveFields_pass0, "VAL") } record(ao, "$(P)$(R=)BeamPulseDly-SP") { field(DESC, "Beam Pulse Delay") - field(VAL, "200") + field(VAL, "300") field(EGU, "us") + field(DISP, "1") # Locked for this IOC version info(autosaveFields_pass0, "VAL") } +# Will not beam public now record(ao, "$(P)$(R=)BeamPulseWdt-SP") { field(DESC, "Beam Pulse Width") field(VAL, "2000") @@ -83,6 +85,17 @@ record(ao, "$(P)$(R=)BeamPulseWdt-SP") { info(autosaveFields_pass0, "VAL") } + +# This PVs are temporary to make LLRF use easier, should be updated +# when firmware goes to 0.7 +record(calcout, "$(P)$(R=)#SetBeamWidth"){ + field(INPA, "$(P)$(R=)BeamPulseDly-SP CP") + field(INPB, "$(P)$(R=)RFSyncWdt-SP CP") + field(CALC, "B-A") + field(OUT, "$(P)$(R=)BeamPulseWdt-SP PP") + +} + ###### # Records to update the EVR Pulsers ###### @@ -149,6 +162,7 @@ record(fanout, "$(P)$(R=)#SetInitVals") { field(LNK3, "$(P)$(R=)#SetPulser3Dly") field(LNK4, "$(P)$(R=)#SetPulser4Dly") field(LNK5, "$(P)$(R=)#SetPulser5Dly") + field(LNK6, "$(P)$(R=)RFSyncWdt-SP") } ### Sequencer 0 diff --git a/evrisland.Makefile b/evrisland.Makefile index 617d39b..30ad410 100644 --- a/evrisland.Makefile +++ b/evrisland.Makefile @@ -43,7 +43,7 @@ endif EXCLUDE_ARCHS += linux-ppc64e6500 #EXCLUDE_ARCHS += linux-corei7-poky -APP:=ts2evmApp +APP:=evrislandApp APPDB:=$(APP)/Db APPSRC:=$(APP)/src diff --git a/iocsh/evr-island-base.iocsh b/iocsh/evr-island-base.iocsh index 18b6226..ade82f1 100644 --- a/iocsh/evr-island-base.iocsh +++ b/iocsh/evr-island-base.iocsh @@ -1,9 +1,9 @@ -epicsEnvSet("RepRate_event", "14") +epicsEnvSet("Island_event", "150") epicsEnvSet "OBJ" "EVR" -dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(RepRate_event), OBJ=$(OBJ), CODE=$(RepRate_event), EVNT=$(RepRate_event)") +dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Island_event), OBJ=$(OBJ), CODE=$(Island_event), EVNT=$(Island_event)") ## Default values # pre-pulse delay: 1000us @@ -19,7 +19,7 @@ dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(RepRate_event), OBJ=$(OBJ), CODE=$(R #- Backplane trigger line configuration / Front output # Pulser 0 - HV Sync - Modulator -afterInit("dbpf $(PREFIX):DlyGen0-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen0-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen0-Delay-SP 100") # Pre-pulse delay afterInit("dbpf $(PREFIX):DlyGen0-Width-SP 1000") # time in micro-seconds ## FP 0 and 1 @@ -29,7 +29,7 @@ afterInit("dbpf $(PREFIX):OutFP1-Src-SP 0") afterInit("dbpf $(PREFIX):OutFPUV0-Src-SP 0") # Pulser 1 - RF Sync -afterInit("dbpf $(PREFIX):DlyGen1-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen1-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen1-Delay-SP 2000") # Pre-pulse delay + RF Sync Delay afterInit("dbpf $(PREFIX):DlyGen1-Width-SP 2600") # time in micro-seconds ## FP 1 and 2 @@ -41,35 +41,36 @@ afterInit("dbpf $(PREFIX):OutFPUV2-Src-SP 1") afterInit("dbpf $(PREFIX):OutFPUV3-Src-SP 1") # Pulser 2 - LLRF Start - TX17 -afterInit("dbpf $(PREFIX):DlyGen2-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen2-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen2-Delay-SP 2000") # Pre-pulse delay + RF Sync Delay afterInit("dbpf $(PREFIX):DlyGen2-Width-SP 100") # time in micro-seconds afterInit("dbpf $(PREFIX):OutBack1-Src-SP 2") # trigger from delay generator 2 to TX17 #Pulser 3 - LLRF End - TX20 -afterInit("dbpf $(PREFIX):DlyGen3-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen3-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen3-Delay-SP 4600") # Pre-pulse delay + RF Sync Delay + Rf Sync width afterInit("dbpf $(PREFIX):DlyGen3-Width-SP 100") # time in micro-seconds afterInit("dbpf $(PREFIX):OutBack7-Src-SP 3") # trigger from delay generator 3 to TX20 #Pulser 4 Beam Start - RX18 -afterInit("dbpf $(PREFIX):DlyGen4-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen4-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen4-Delay-SP 2200") # Pre-pulse delay + RF Sync Delay + Beam pulse delay afterInit("dbpf $(PREFIX):DlyGen4-Width-SP 100") # time in micro-seconds afterInit("dbpf $(PREFIX):OutBack2-Src-SP 4") # trigger from delay generator 4 to RX18 #Pulser 5 Beam End - TX18 -afterInit("dbpf $(PREFIX):DlyGen5-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen5-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen5-Delay-SP 4200") # Pre-pulse delay + RF Sync Delay + Beam pulse delay + Beam pulse width afterInit("dbpf $(PREFIX):DlyGen5-Width-SP 100") # time in micro-seconds afterInit("dbpf $(PREFIX):OutBack3-Src-SP 4") # trigger from delay generator 5 to TX18 # Pulser 6 - FIM Trigger - RX17 -afterInit("dbpf $(PREFIX):DlyGen6-Evt-Trig0-SP $(RepRate_event)") +afterInit("dbpf $(PREFIX):DlyGen6-Evt-Trig0-SP $(Island_event)") afterInit("dbpf $(PREFIX):DlyGen6-Delay-SP 4700") # Pre-pulse delay + RF Sync Delay + Rf sync width + fim delay afterInit("dbpf $(PREFIX):DlyGen6-Width-SP 100") # time in micro-seconds afterInit("dbpf $(PREFIX):OutBack0-Src-SP 5") # trigger from delay generator 5 to RX17 +# Set Initial values afterInit("dbpf $(PREFIX):#SetInitVals.PROC 1") -- GitLab