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

Attempt of implementation for global mode

parent 6bbb4c78
No related branches found
No related tags found
1 merge request!9Include possibility to change between modes
Pipeline #97464 passed with warnings
......@@ -16,4 +16,5 @@ core.*
ts2evm-loc/*.Makefile
.vscode
**/pid.txt
.DS_store
\ No newline at end of file
.DS_store
evrisland/*.Makefile
......@@ -80,7 +80,7 @@ record(fanout, "$(P)$(R=)#FanRFWdtProc") {
field(SELL, "$(P)$(R=)OpMode")
field(LNK0, "$(P)$(R=)#FanRFWdtLocal") # Local Mode
field(LNK1, "$(P)$(R=)#FanRFWdtLocal") # Mixed Mode
field(LNK2, "$(P)$(R=)#SetPulser3DlyGlobal") # Global Mode
field(LNK2, "$(P)$(R=)#SetPulser0DlyGlobal") # Global Mode
}
# records that must be processed when in Local or Mixed Mode
......@@ -328,16 +328,16 @@ record(calcout, "$(P)$(R=)StopAfterCycles") {
#################
# Check if global timing is available
#################
record(calcout, "$(P)$(R=)#ChkGlobal") {
field(INPA, "$(EVRPREFIX)TimeSrc-Sel CP")
field(CALC, "A=0?0:1")
field(FLNK, "$(P)$(R=)#BlkGlobal")
}
# record(calcout, "$(P)$(R=)#ChkGlobal") {
# field(INPA, "$(EVRPREFIX)TimeSrc-Sel CP")
# field(CALC, "A=0?0:1")
# field(FLNK, "$(P)$(R=)#BlkGlobal")
# }
record(seq, "$(P)$(R=)#BlkGlobal") {
field(DOL0, "$(P)$(R=)#ChkGlobal")
field(LNK0, "$(P)$(R=)OpMode.DISP")
}
# record(seq, "$(P)$(R=)#BlkGlobal") {
# field(DOL0, "$(P)$(R=)#ChkGlobal")
# field(LNK0, "$(P)$(R=)OpMode.DISP")
# }
###############
......@@ -469,35 +469,83 @@ record(seq, "$(P)$(R=)#SeqChgFreqMix"){
#### Global Mode
###############
# Modulator (Pulser 0) -> Evnt 14 Hz // delay : Modulator sync
# LLRF STart -> Evnt RFStart // No delay
# LLRF End -> Evnt RFStar // Delay X (size of Pulse)
# Beam Start -> Evnt BeamStart
# Beam End -> Evnt BeamEnd
# FIM -> Evnt 14Hz // Dealy 7000
# EVR Event -> 15
# SuperCycle Delay (given by timing system framework)
# Modulator (Pulser 0) -> Evnt RFStart // delay = SuperCycle Delay - RFSync Delay
# LLRF STart -> Evnt RFStart // delay = SuperCycle Delay
# LLRF End -> Evnt RFStar // delay = SuperCycle Delay + Delay X (size of Pulse)
# Beam Start -> Evnt RFStar // delay = SuperCycle Delay + 1 (just for testing)
# Beam End -> Evnt RFStar // delay = SuperCycle Delay + 2 (just for testing)
# FIM -> Evnt 14Hz // delay = SuperCycle Delay + 7000
# superCycle delay
record(ao, "$(P)$(R=)SCDly") {
field(DESC, "superCycle delay")
field(DRVL, "1000")
field(DRVL, "71400")
field(VAL, "35753")
field(PINI, "NO")
field(FLNK, "$(P)$(R=)#FanRFWdtProc PP")
}
# Pulser 0 (Modulator trigger calculation)
record(calcout, "$(P)$(R=)#SetPulser0DlyGlobal"){
field(INPA, "$(P)$(R=)SCDly")
field(INPB, "$(P)$(R=)RFSyncDly-SP")
field(CALC, "A-B")
field(OUT, "$(EVRPREFIX)DlyGen-0-Delay-SP PP" )
}
# Pulser 3 (RF END trigger calculation)
record(calcout, "$(P)$(R=)#SetPulser3DlyGlobal"){
field(INPA, "$(P)$(R=)RFSyncWdt-SP")
field(INPB, "5") # adding 5us, time for LLRF firmware
field(CALC, "A+B")
field(INPC, "$(P)$(R=)SCDly")
field(CALC, "A+B+C")
field(OUT, "$(EVRPREFIX)DlyGen-3-Delay-SP PP" )
}
# Pulser 6 (FIM trigger calculation)
record(calcout, "$(P)$(R=)#SetPulser6DlyGlobal"){
field(INPA, "$(P)$(R=)SCDly")
field(CALC, "A+7000")
field(OUT, "$(EVRPREFIX)DlyGen-6-Delay-SP PP" )
}
# Beam Start (TODO)
record(calcout, "$(P)$(R=)#SetBPStartDlyGlobal"){
field(INPA, "$(P)$(R=)SCDly")
field(CALC, "A+1")
field(OUT, "$(EVRPREFIX)DlyGen-4-Delay-SP PP" )
}
# Beam End (TODO)
record(calcout, "$(P)$(R=)#SetBPEndDlyGlobal"){
field(INPA, "$(P)$(R=)SCDly")
field(CALC, "A+2")
field(OUT, "$(EVRPREFIX)DlyGen-5-Delay-SP PP" )
}
record(seq, "$(P)$(R=)#SeqSetGlobal"){
# Stop Sequencer
field(DOL0, "1")
field(LNK0, "$(EVRPREFIX)SoftSeq-0-Disable-Cmd CP")
# Modulator
field(DOL1, "$(F14Hz)")
field(DOL1, "$(RFSt)")
field(LNK1, "$(EVRPREFIX)DlyGen-0-Evt-Trig0-SP PP")
# Modulator Delay TODO!!!
#field(DOLG, "$(RFSt)")
#field(LNKG, "$(EVRPREFIX)DlyGen-0-Delay-SP.PROC")
# LLRF Start
field(DOL2, "$(RFSt)")
field(LNK2, "$(EVRPREFIX)DlyGen-2-Evt-Trig0-SP PP")
# LLRF Start Delay to 0 - TODO: might need some delay
field(DOL3, "0")
# LLRF Start Delay is equal to SuperCycle delay
field(DOL3, "$(P)$(R=)SCDly NPP")
field(LNK3, "$(EVRPREFIX)DlyGen-2-Delay-SP PP")
# LLRF End
......@@ -509,28 +557,28 @@ record(seq, "$(P)$(R=)#SeqSetGlobal"){
field(LNK5, "$(P)$(R=)#SetPulser3DlyGlobal.PROC")
# Beam Start
field(DOL6, "$(BPulseSt)")
field(DOL6, "$(RFSt)")
field(LNK6, "$(EVRPREFIX)DlyGen-4-Evt-Trig0-SP PP")
# Beam Start Delay
field(DOL7, "0")
field(LNK7, "$(EVRPREFIX)DlyGen-4-Delay-SP PP")
field(DOL7, "1")
field(LNK7, "$(P)$(R=)#SetBPStartDlyGlobal.PROC")
# Beam End
field(DOL8, "$(BPulseEnd)")
field(DOL8, "$(RFSt)")
field(LNK8, "$(EVRPREFIX)DlyGen-5-Evt-Trig0-SP PP")
# Beam End Delay
field(DOL9, "0")
field(LNK9, "$(EVRPREFIX)DlyGen-5-Delay-SP PP")
field(DOL9, "1")
field(LNK9, "$(P)$(R=)#SetBPEndDlyGlobal.PROC")
# FIM
field(DOLA, "$(F14Hz)")
field(DOLA, "$(RFSt)")
field(LNKA, "$(EVRPREFIX)DlyGen-6-Evt-Trig0-SP PP")
# FIM Delay
field(DOLB, "$(P)$(R=)FIMDly-RB")
field(LNKB, "$(EVRPREFIX)DlyGen-6-Delay-SP PP")
field(DOLB, "1")
field(LNKB, "$(P)$(R=)#SetPulser6DlyGlobal.PROC")
# Set sequencer to follow event 14
field(DOLC, "13") # Pulser 13 has the event 14Hz
......@@ -547,9 +595,9 @@ record(seq, "$(P)$(R=)#SeqSetGlobal"){
field(DOLF, "1")
field(LNKF, "$(P)$(R=)#SelEvnMon.PROC" )
field(FLNK, "$(P)$(R=)#SetPulser0DlyGlobal PP")
}
record(seq, "$(P)$(R=)#SeqSetNoGlobal"){
# Stop Sequencer
field(DOL0, "1")
......
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