Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
e3-evrisland
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Jira
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
ESS EPICS Environment
wrappers
e3-evrisland
Commits
fdf89c3a
Commit
fdf89c3a
authored
4 years ago
by
Gabriel Fedel
Browse files
Options
Downloads
Patches
Plain Diff
Clean and implement new event names
parent
b55f26f1
No related branches found
No related tags found
1 merge request
!1
First version for RFQ
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
cmds/evr-island.cmd
+0
-26
0 additions, 26 deletions
cmds/evr-island.cmd
iocsh/evr-island-base.iocsh
+67
-52
67 additions, 52 deletions
iocsh/evr-island-base.iocsh
ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template
+108
-297
108 additions, 297 deletions
ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template
with
175 additions
and
375 deletions
cmds/evr-island.cmd
+
0
−
26
View file @
fdf89c3a
...
...
@@ -53,29 +53,3 @@ iocInit
iocshLoad
"$(mrfioc2_DIR)/evrr.iocsh"
"P=$(PREFIX), INTREF=$(INTREF=)"
iocshLoad
"$(mrfioc2_DIR)/evrtclkr.iocsh"
"P=$(PREFIX)"
iocshLoad
"$(mrfioc2_DIR)/evrlbseq0r.iocsh"
"P=$(PREFIX)"
#dbpf $
(
PREFIX
)
:Enable
-Sel
"Ena Master"
#dbpf $
(
PREFIX
)
:1ppsInp
-Sel
"Sys Clk"
#
##
-
Set
MXC0
to
generate
14
Hz
dbpf
$
(
PREFIX
)
:PS
0
-Div-SP
6289464
#dbpf $
(
PREFIX
)
:Mxc
0
-Polarity-Sel
"Orginal"
#
##
-
Generate
event
14
upon
trigger
on
Mxc0
#dbpf $
(
PREFIX
)
:TrigEvt
0
-EvtCode-SP
14
#dbpf $
(
PREFIX
)
:TrigEvt
0
-TrigSrc-Sel
"Mxc0"
#
##
-
Configure
sequencers
#dbpf $
(
PREFIX
)
:SoftSeq
0
-RunMode-Sel
"Normal"
#dbpf $
(
PREFIX
)
:SoftSeq
0
-TsResolution-Sel
"uSec"
#dbpf $
(
PREFIX
)
:SoftSeq
0
-TrigSrc
-
2
-Sel
"Prescaler 0"
#dbpf $
(
PREFIX
)
:SoftSeq
0
-Load-Cmd
"1"
##
#dbpf $
(
PREFIX
)
:SoftSeq
1
-RunMode-Sel
"Normal"
#dbpf $
(
PREFIX
)
:SoftSeq
1
-TsResolution-Sel
"uSec"
#dbpf $
(
PREFIX
)
:SoftSeq
1
-TrigSrc
-
2
-Sel
"Prescaler 0"
#dbpf $
(
PREFIX
)
:SoftSeq
1
-Load-Cmd
"1"
#
##
-
Start
sequencers
dbpf
$
(
PREFIX
)
:SeqSelecCalc
.PROC
"1"
#
This diff is collapsed.
Click to expand it.
iocsh/evr-island-base.iocsh
+
67
−
52
View file @
fdf89c3a
epicsEnvSet("RepRate_event", "14")
epicsEnvSet("Modulator_event" "60")
epicsEnvSet("Pulse_coming_event" "15")
epicsEnvSet("Pulse_start_event" "12")
epicsEnvSet("Pulse_end_event" "13")
epicsEnvSet("Post_mortem_event" "40")
epicsEnvSet "OBJ" "EVR"
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(RepRate_event), OBJ=$(OBJ), CODE=$(RepRate_event), EVNT=$(RepRate_event)")
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Pulse_coming_event), OBJ=$(OBJ), CODE=$(Pulse_coming_event), EVNT=$(Pulse_coming_event)")
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Pulse_start_event), OBJ=$(OBJ), CODE=$(Pulse_start_event), EVNT=$(Pulse_start_event)")
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Pulse_end_event), OBJ=$(OBJ), CODE=$(Pulse_end_event), EVNT=$(Pulse_end_event)")
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Post_mortem_event), OBJ=$(OBJ), CODE=$(Post_mortem_event), EVNT=$(Post_mortem_event)")
dbLoadRecords("evrevent.db","EN=$(PREFIX)-$(Modulator_event), OBJ=$(OBJ), CODE=$(Modulator_event), EVNT=$(Modulator_event)")
#- Backplane trigger line configuration
#- 14 Hz repeating signal, sequence in pulse is unimportant - There is no backplane here
afterInit("dbpf $(IOC)-$(DEV1):DlyGen0-Evt-Trig0-SP $(RepRate_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen0-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):OutFP0-Src-SP 0")
#-Pulse Coming - TX17
afterInit("dbpf $(IOC)-$(DEV1):DlyGen1-Evt-Trig0-SP $(Pulse_coming_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen1-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):OutBack1-Src-SP 1") # trigger from delay generator 0 to TX17
#-Pulse Start - RX18
afterInit("dbpf $(IOC)-$(DEV1):DlyGen2-Evt-Trig0-SP $(Pulse_start_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen2-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):OutBack2-Src-SP 2") # trigger from delay generator 0 to RX18
afterInit("dbpf $(IOC)-$(DEV1):OutFP2-Src-SP 2")
#-Pulse End - TX18
afterInit("dbpf $(IOC)-$(DEV1):DlyGen3-Evt-Trig0-SP $(Pulse_end_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen3-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):OutBack3-Src-SP 3") # trigger from delay generator 0 to TX18
afterInit("dbpf $(IOC)-$(DEV1):OutFP3-Src-SP 3")
#-Post-morten trigger - RX19
afterInit("dbpf $(IOC)-$(DEV1):DlyGen4-Evt-Trig0-SP $(Post_mortem_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen4-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):OutBack4-Src-SP 4") # trigger from delay generator 0 to RX19
# FIM Event comes from the same as the modultor, but with Delay of 5000
#- RX17
afterInit("dbpf $(IOC)-$(DEV1):DlyGen5-Evt-Trig0-SP $(Modulator_event)")
afterInit("dbpf $(IOC)-$(DEV1):OutBack0-Src-SP 5") # trigger from delay generator 5 to RX17
afterInit("dbpf $(IOC)-$(DEV1):DlyGen5-Width-SP 1000") # time in micro-seconds
afterInit("dbpf $(IOC)-$(DEV1):DlyGen5-Delay-SP 5000") # micro-seconds
# Modulator event
afterInit("dbpf $(IOC)-$(DEV1):DlyGen6-Evt-Trig0-SP $(Modulator_event)")
afterInit("dbpf $(IOC)-$(DEV1):DlyGen6-Width-SP 100") # time in micro-seconds
# Output to modulator from Pulser 6 on Front Panel 1
afterInit("dbpf $(IOC)-$(DEV1):OutFP1-Src-SP 6")
## Default values
# pre-pulse delay: 1000us
# HV sync width: 1000us
# RF sync delay: 1900us
# RF sync width: 2600us
# Beam pulse dealay: 200us
# Beam pulse width : 2000us
# FIm delay: 100us
#- Backplane trigger line configuration / Front output
# Pulser 0 - HV Sync - Modulator
afterInit("dbpf $(PREFIX):DlyGen0-Evt-Trig0-SP $(RepRate_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
afterInit("dbpf $(PREFIX):OutFP0-Src-SP 0")
afterInit("dbpf $(PREFIX):OutFP1-Src-SP 0")
## FP UNIVTTL 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-Delay-SP 2000") # Pre-pulse delay + RF Sync Delay
afterInit("dbpf $(PREFIX):DlyGen1-Width-SP 2600") # time in micro-seconds
## FP 1 and 2
afterInit("dbpf $(PREFIX):OutFP2-Src-SP 1")
afterInit("dbpf $(PREFIX):OutFP3-Src-SP 1")
## FP UNIVTTL 1, 2 and 3
#afterInit("dbpf $(PREFIX):OutFPUV1-Src-SP 1")
#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-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-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-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-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-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
afterInit("dbpf $(PREFIX):#SetInitVals.PROC 1")
This diff is collapsed.
Click to expand it.
ts2evm-loc/ts2evmApp/Db/ts2_evm_controls.template
+
108
−
297
View file @
fdf89c3a
...
...
@@ -13,299 +13,161 @@ record(ao, "$(P)$(R=)CycleFreq-SP") {
field(FLNK, "$(P)$(R=)RFFreq-Divider PP")
}
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(EGU, "Hz")
}
record(calcout, "$(P)$(R=)RFFreq-Divider") {
field(INPA, "$(P)$(R=)CycleFreq-SP")
field(CALC, "(88052500 / A)")
field(OUT, "$(EVGPREFIX)
Mxc0-Prescaler
-SP PP")
field(OUT, "$(EVGPREFIX)
PS0-Div
-SP PP")
field(TPRO, "0")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
#####
# Fixed values
####
########################################################
# RF Pulse Lenght
########################################################
record(ao, "$(P)$(R=)RFPulseLen-SP") {
field(DESC, "RF Pulse Length")
field(VAL, "3000")
field(DRVL, "404")
field(DRVH, "3600")
record(ai, "$(P)$(R=)PrePulseDly-RB") {
field(DESC, "Pre Pulse Delay")
field(VAL, "1000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
}
record(ai, "$(P)$(R=)RFPulseLen-RB") {
field(DESC, "RF Pulse Length RB")
record(ai, "$(P)$(R=)HVSyncWdt-RB") {
field(DESC, "HV Sync Width")
field(VAL, "1000")
field(EGU, "us")
}
record(ai, "$(P)$(R=)RFPulseDelay-RB") {
field(DESC, "RF Pulse Delay RB")
record(ai, "$(P)$(R=)FIMDly-RB") {
field(DESC, "FIM Delay")
field(VAL, "1000")
field(EGU, "us")
}
####
# Defined Delays/Width
####
########################################################
# Proton Pulse Lenght
########################################################
record(ao, "$(P)$(R=)PBLen-SP") {
field(DESC, "Beam Length")
field(VAL, "50")
field(DRVL, "1")
field(DRVH, "2863")
record(ao, "$(P)$(R=)RFSyncDly-SP") {
field(DESC, "RF Sync Delay")
field(VAL, "1000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
}
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
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
info(autosaveFields_pass0, "VAL")
}
record(ai, "$(P)$(R=)PBLen-RB") {
field(DESC, "RF Pulse Length RB")
record(ao, "$(P)$(R=)BeamPulseDly-SP") {
field(DESC, "Beam Pulse Delay")
field(VAL, "200")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
}
record(ao, "$(P)$(R=)PBDelay-SP") {
field(DESC, "Beam Delay from RF init")
field(VAL, "400")
field(DRVL, "400")
field(DRVH, "10000000")
record(ao, "$(P)$(R=)BeamPulseWdt-SP") {
field(DESC, "Beam Pulse Width")
field(VAL, "2000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
}
######
# Records to update the EVR Pulsers
######
# Set fixed values
record(seq, "$(P)$(R=)#SeqFixedVals") {
field(DOL0, "$(P)$(R=)PrePulseDly-RB")
field(LNK0, "$(EVGPREFIX)DlyGen0-Delay-SP PP")
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
field(DOL1, "$(P)$(R=)HVSyncWdt-RB")
field(LNK1, "$(EVGPREFIX)DlyGen0-Width-SP PP")
}
record(ai, "$(P)$(R=)PBDelay-RB") {
field(DESC, "Beam Delay from RF init RB")
field(EGU, "us")
# Pulser 1
record(calcout, "$(P)$(R=)#SetPulser1Dly"){
field(INPA, "$(P)$(R=)PrePulseDly-RB")
field(INPB, "$(P)$(R=)RFSyncDly-SP CP") # When updates value, update evr
field(CALC, "A+B")
field(OUT, "$(EVGPREFIX)DlyGen1-Delay-SP PP" )
}
########################################################
# Pulse Coming Event
########################################################
record(ao, "$(P)$(R=)PulseCmDelay-SP") {
field(DESC, "Pulse Coming delay")
field(VAL, "100")
field(DRVL, "100")
field(DRVH, "10000000")
field(EGU, "us")
info(autosaveFields_pass0, "VAL")
# Pulser 2
record(calcout, "$(P)$(R=)#SetPulser2Dly"){
field(INPA, "$(P)$(R=)PrePulseDly-RB")
field(INPB, "$(P)$(R=)RFSyncDly-SP CP") # When updates value, update evr
field(CALC, "A+B")
field(OUT, "$(EVGPREFIX)DlyGen2-Delay-SP PP" )
}
field(FLNK, "$(P)$(R=)SeqSelecCalc PP")
# Pulser 3
record(calcout, "$(P)$(R=)#SetPulser3Dly"){
field(INPA, "$(P)$(R=)PrePulseDly-RB")
field(INPB, "$(P)$(R=)RFSyncDly-SP CP") # When updates value, update evr
field(INPC, "$(P)$(R=)RFSyncWdt-SP CP") # When updates value, update evr
field(CALC, "A+B+C")
field(OUT, "$(EVGPREFIX)DlyGen3-Delay-SP PP" )
}
record(ai, "$(P)$(R=)PulseCmDelay-RB") {
field(DESC, "Pulse Coming delay RB")
field(EGU, "us")
# Pulser 4
record(calcout, "$(P)$(R=)#SetPulser4Dly"){
field(INPA, "$(P)$(R=)PrePulseDly-RB")
field(INPB, "$(P)$(R=)RFSyncDly-SP CP") # When updates value, update evr
field(INPC, "$(P)$(R=)BeamPulseDly-SP CP") # When updates value, update evr
field(CALC, "A+B+C")
field(OUT, "$(EVGPREFIX)DlyGen4-Delay-SP PP" )
}
# Pulser 5
record(calcout, "$(P)$(R=)#SetPulser5Dly"){
field(INPA, "$(P)$(R=)PrePulseDly-RB")
field(INPB, "$(P)$(R=)RFSyncDly-SP CP") # When updates value, update evr
field(INPC, "$(P)$(R=)BeamPulseDly-SP CP") # When updates value, update evr
field(INPD, "$(P)$(R=)BeamPulseWdt-SP CP") # When updates value, update evr
field(CALC, "A+B+C+D")
field(OUT, "$(EVGPREFIX)DlyGen5-Delay-SP PP" )
}
#########################################################
## Record logic to alternate activation of sequencers
#########################################################
#record(calc, "$(P)$(R=)SeqSelecCalc") {
# field(CALC, "A > 0 ? 0 : 1")
# field(INPA, "$(P)$(R=)SeqSelecCalc")
# field(VAL, "0")
# field(FLNK, "$(P)$(R=)SeqSelecFOut")
# field(TPRO, "0")
#}
#
#record(fanout, "$(P)$(R=)SeqSelecFOut") {
# field(SELM, "Specified")
# field(SELL, "$(P)$(R=)SeqSelecCalc")
# field(LNK0, "$(P)$(R=)Seq0-Write-aSub")
# field(LNK1, "$(P)$(R=)Seq1-Write-aSub")
# field(TPRO, "0")
#}
#
#########################################################
## aSub process - Sequencer 0
#########################################################
#record(aSub, "$(P)$(R=)Seq0-Write-aSub") {
# field(DESC, "Sequencer arrays")
# field(SNAM, "seqConfigure")
# field(SCAN, "Passive")
#
# # input A -> RF pulse length
# field(INPA, "$(P)$(R=)RFPulseLen-SP")
# field(FTA, "FLOAT")
# field(NOA, "1")
#
# # input B -> Proton beam length
# field(INPB, "$(P)$(R=)PBLen-SP")
# field(FTB, "FLOAT")
# field(NOB, "1")
#
# # input C -> RF pulse delay with respect to fiducial mark
# # field(INPC, "$(P)$(R=)RFPulseDelay-SP")
# # field(FTC, "FLOAT")
# # field(NOC, "1")
#
# # input C -> Proton beam delay with respect to RF pulse
# field(INPC, "$(P)$(R=)PBDelay-SP")
# field(FTC, "FLOAT")
# field(NOC, "1")
#
# # input D -> Frequency
# field(INPD, "$(P)$(R=)CycleFreq-SP")
# field(FTD, "FLOAT")
# field(NOD, "1")
#
# # input E -> Pulse Coming
# field(INPE, "$(P)$(R=)PulseCmDelay-SP")
# field(FTE, "FLOAT")
# field(NOE, "1")
#
# # outputs A,B -> EVM Sequencer arrays
# field(FTVA, "ULONG")
# field(OUTA, "$(EVGPREFIX)SoftSeq0-EvtCode-SP CP")
# field(NOVA, "2047")
# field(FTVB, "DOUBLE")
# field(OUTB, "$(EVGPREFIX)SoftSeq0-Timestamp-SP CP")
# field(NOVB, "2047")
#
# # output C -> readback of RF Pulse Length
# field(FTVC, "FLOAT")
# field(OUTC, "$(P)$(R=)RFPulseLen-RB PP")
#
# # output D -> readback of Proton Beam Length
# field(FTVD, "FLOAT")
# field(OUTD, "$(P)$(R=)PBLen-RB PP")
#
# # output E -> readback of RF pulse delay
# field(FTVE, "FLOAT")
# field(OUTE, "$(P)$(R=)RFPulseDelay-RB PP")
#
# # output F -> readback of Proton Beam Delay
# field(FTVF, "FLOAT")
# field(OUTF, "$(P)$(R=)PBDelay-RB PP")
#
# # output G -> readback of Pulse Coming Delay
# field(FTVG, "FLOAT")
# field(OUTG, "$(P)$(R=)PulseCmDelay-RB PP")
#
# # Process the sequencer commands
# field(FLNK, "$(P)$(R=)Seq0-Enable PP")
# field(TPRO, "0")
#}
# Set all initial values
record(fanout, "$(P)$(R=)#SetInitVals") {
field(LNK0, "$(P)$(R=)#SeqFixedVals")
field(LNK1, "$(P)$(R=)#SetPulser1Dly")
field(LNK2, "$(P)$(R=)#SetPulser2Dly")
field(LNK3, "$(P)$(R=)#SetPulser3Dly")
field(LNK4, "$(P)$(R=)#SetPulser4Dly")
field(LNK5, "$(P)$(R=)#SetPulser5Dly")
}
### Sequencer 0
record(seq, "$(P)$(R=)Seq0-Enable") {
field(SELM, "All")
# Unload sequencer 1
field(DOL0, "1")
field(LNK0, "$(EVGPREFIX)SoftSeq1-Unload-Cmd CP")
# Disable sequencer 1
field(DOL1, "1")
field(LNK1, "$(EVGPREFIX)SoftSeq1-Disable-Cmd CP")
# Load sequencer 0
field(DOL
2
, "1")
field(LNK
2
, "$(EVGPREFIX)SoftSeq0-Load-Cmd CP")
field(DOL
0
, "1")
field(LNK
0
, "$(EVGPREFIX)SoftSeq0-Load-Cmd CP")
# Commit sequencer 0
field(DOL
3
, "1")
field(LNK
3
, "$(EVGPREFIX)SoftSeq0-Commit-Cmd CP")
field(DOL
1
, "1")
field(LNK
1
, "$(EVGPREFIX)SoftSeq0-Commit-Cmd CP")
# Enable sequencer 0
field(DOL
4
, "1")
field(LNK
4
, "$(EVGPREFIX)SoftSeq0-Enable-Cmd CP")
field(DOL
2
, "1")
field(LNK
2
, "$(EVGPREFIX)SoftSeq0-Enable-Cmd CP")
field(TPRO, "0")
}
#########################################################
## aSub process - Sequencer 1
#########################################################
#record(aSub, "$(P)$(R=)Seq1-Write-aSub") {
# field(DESC, "Sequencer arrays")
# field(SNAM, "seqConfigure")
# field(SCAN, "Passive")
#
# # input A -> RF pulse length
# field(INPA, "$(P)$(R=)RFPulseLen-SP")
# field(FTA, "FLOAT")
# field(NOA, "1")
#
# # input B -> Proton beam length
# field(INPB, "$(P)$(R=)PBLen-SP")
# field(FTB, "FLOAT")
# field(NOB, "1")
#
# # input C -> RF pulse delay with respect to fiducial mark
# # field(INPC, "$(P)$(R=)RFPulseDelay-SP")
# # field(FTC, "FLOAT")
# # field(NOC, "1")
#
# # input C -> Proton beam delay with respect to RF pulse
# field(INPC, "$(P)$(R=)PBDelay-SP")
# field(FTC, "FLOAT")
# field(NOC, "1")
#
# # input D -> Frequency
# field(INPD, "$(P)$(R=)CycleFreq-SP")
# field(FTD, "FLOAT")
# field(NOD, "1")
#
# # input E -> Pulse Coming
# field(INPE, "$(P)$(R=)PulseCmDelay-SP")
# field(FTE, "FLOAT")
# field(NOE, "1")
#
# # outputs A,B -> EVM Sequencer arrays
# field(FTVA, "ULONG")
# field(OUTA, "$(EVGPREFIX)SoftSeq1-EvtCode-SP CP")
# field(NOVA, "2047")
# field(FTVB, "DOUBLE")
# field(OUTB, "$(EVGPREFIX)SoftSeq1-Timestamp-SP CP")
# field(NOVB, "2047")
#
# # output C -> readback of RF Pulse Length
# field(FTVC, "FLOAT")
# field(OUTC, "$(P)$(R=)RFPulseLen-RB PP")
#
# # output D -> readback of Proton Beam Length
# field(FTVD, "FLOAT")
# field(OUTD, "$(P)$(R=)PBLen-RB PP")
#
# # output E -> readback of RF pulse delay
# field(FTVE, "FLOAT")
# field(OUTE, "$(P)$(R=)RFPulseDelay-RB PP")
#
# # output F -> readback of Proton Beam Delay
# field(FTVF, "FLOAT")
# field(OUTF, "$(P)$(R=)PBDelay-RB PP")
#
# # output G -> readback of Pulse Coming Delay
# field(FTVG, "FLOAT")
# field(OUTG, "$(P)$(R=)PulseCmDelay-RB PP")
#
# # Process the sequencer commands
# field(FLNK, "$(P)$(R=)Seq1-Enable PP")
# field(TPRO, "0")
#}
#
#record(seq, "$(P)$(R=)Seq1-Enable") {
# field(SELM, "All")
# # Unload sequencer 0
# field(DOL0, "1")
# field(LNK0, "$(EVGPREFIX)SoftSeq0-Unload-Cmd CP")
# # Disable sequencer 0
# field(DOL1, "1")
# field(LNK1, "$(EVGPREFIX)SoftSeq0-Disable-Cmd CP")
# # Load sequencer 1
# field(DOL2, "1")
# field(LNK2, "$(EVGPREFIX)SoftSeq1-Load-Cmd CP")
# # Commit sequencer 1
# field(DOL3, "1")
# field(LNK3, "$(EVGPREFIX)SoftSeq1-Commit-Cmd CP")
# # Enable sequencer 1
# field(DOL4, "1")
# field(LNK4, "$(EVGPREFIX)SoftSeq1-Enable-Cmd CP")
#
# field(TPRO, "0")
#}
#########################################################
## Cycle counter
#########################################################
...
...
@@ -316,57 +178,6 @@ record(calc, "$(P)$(R=)Cycle-Cnt")
field(SCAN, "Passive")
field(INPA, "$(EVGPREFIX)SoftSeq0-NumOfStarts-I CPP")
}
#
#
#########################################################
## aSub process - Databuffer
#########################################################
#record(seq, "$(P)$(R=)CycleId-aSub-Proc") {
# field(SELM, "All")
# # field(PINI, "RUNNING")
# field(SCAN, "Passive")
# #field(DOL1, "")
# field(DO1, "1")
# field(DLY1, "0.03")
# field(LNK1, "$(P)$(R=)CycleId-aSub.PROC CA")
# field(TPRO, "0")
#}
#
#record(aSub, "$(P)$(R=)CycleId-aSub") {
# field(DESC, "Sequencer arrays")
# field(INAM, "cycleIdInit")
# field(SNAM, "dataBufProcess")
# field(SCAN, "Passive")
#
# field(INPA, "$(P)$(R=)RFPulseLen-SP")
# field(FTA, "ULONG")
# field(NOA, "1")
#
# field(INPB, "$(P)$(R=)PBLen-SP")
# field(FTB, "ULONG")
# field(NOB, "1")
#
# field(FTVA, "ULONG")
# field(NOVA, "2046")
# field(OUTA, "$(EVGPREFIX)dbus-send-u32 CP")
#
# field(FTVB, "ULONG")
# field(OUTB, "$(P)$(R=)CycleId-RB CP")
#
# field(TPRO, "0")
#
#}
#
#########################################################
## Cycle ID readback
#########################################################
#record(int64in, "$(P)$(R=)CycleId-RB") {
# field(DESC, "ID Cycle")
# field(DTYP, "Soft Channel")
# field(SCAN, "Passive")
# field(EGU, "id")
#}
#
########################################################
# Free-running or fixed number of cycles
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment