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
Branches jp_global
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