diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000000000000000000000000000000000000..4dd0c24dd00428feed3b89c55b7dd038bcdbba43 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ + +# top-most EditorConfig file +root = true + +[*] +indent_style = space +indent_size = 4 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +tab_width = 4 + +[*.md] +trim_trailing_whitespace = false + +[*Makefile*] +trim_trailing_whitespace = false +indent_style = tab + diff --git a/README.md b/README.md index 78f800ffbc1e86d6a07905e2079b781a98e90b05..d5fde33c80adc308cc7bb817d48e9f891f252fa6 100644 --- a/README.md +++ b/README.md @@ -13,5 +13,5 @@ ESS Reference & Lookup Tables # References * Description of Modes for ESS Accelerator Operation: ESS-0038258 + * $(ESS-0038258->Revision) == $ProtVer * Beam Configuration: https://confluence.esss.lu.se/display/ABC/Beam+Configuration - diff --git a/init/README.md b/init/README.md new file mode 100644 index 0000000000000000000000000000000000000000..4cbb8dcc3e03874fbdd109b4c2e76165b824cd52 --- /dev/null +++ b/init/README.md @@ -0,0 +1,8 @@ +Init +-- + +# databuffer-ess.json +* The databuffer enumeration + +# accelerator-operation-ess.json +* The accelerator operation enumeration (not included into the databuffer) diff --git a/init/accelerator-operation-ess.json b/init/accelerator-operation-ess.json new file mode 100644 index 0000000000000000000000000000000000000000..289374a0dfd502f9908250df7b1459c4f0be5251 --- /dev/null +++ b/init/accelerator-operation-ess.json @@ -0,0 +1,93 @@ +{ + "doc": "ESS-0038258", + "AccOp": { + "None": { + "id": 0, + "events": [ + "None" + ], + "description": "No Beam" + }, + "Shutdown": { + "id": 10, + "events": [ + "DATA" + ], + "description": "Ion source (plasma and HV) and most of the components off, only non-hazardous systems could remain “onâ€. Tunnel access is possible." + }, + "PlasmaConditioning": { + "id": 20, + "events": [ + "DATA" + ], + "description": "Ion Source plasma on, HV off (no beam extraction), no other RF system allowed. Tunnel access is possible." + }, + "RFConditioning": { + "id": 30, + "events": [ + "DATA" + ], + "description": "Some or all of the RF systems (RF sources, waveguides, cavities) could be on, as well as plasma conditioning in the ISrc, but no proton production (HV extraction off). Tunnel to be searched and locked." + }, + "StudiesDump": { + "id": 40, + "events": [ + "ION_ST", + "ION_END", + "DATA" + ], + "description": "P-beam on, send to the Tuning dump; requires the Tunnel to be searched and locked. Access to the Line-of-Sight (LoS) instruments possible only if primary shutters are closed." + }, + "StudiesTarget": { + "id": 50, + "events": [ + "ION_ST", + "ION_END", + "DATA" + ], + "description": "P-beam on, to the Target. Target areas searched and Locked and Tunnel searched and locked;. No access to the LoS instruments." + }, + "StartUpTargetTest": { + "id": 60, + "events": [ + "ION_ST", + "ION_END", + "DATA" + ], + "description": "P-beam on, to the Target. Target areas searched and Locked and Tunnel searched and locked;. No access to the LoS instruments." + }, + "StartUpLowPower": { + "id": 70, + "events": [ + "ION_ST", + "ION_END", + "DATA" + ], + "description": "P-beam on, to the target; Target areas searched and Locked and Tunnel searched and locked; no access to the LoS instruments." + }, + "StartUpRamping": { + "id": 80, + "events": [ + "ION_ST", + "ION_END", + "BPULSE_CM", + "BPULSE_ST", + "BPULSE_END", + "DATA" + ], + "description": "P-beam on, to the target; Target areas searched and Locked and Tunnel searched and locked; no access to the LoS instruments." + }, + "Production": { + "id": 90, + "events": [ + "ION_ST", + "ION_END", + "BPULSE_CM", + "BPULSE_ST", + "BPULSE_END", + "DATA" + ], + "description": "P-beam on, to the target; Target areas searched and Locked tunnel searched and locked; no access to the LoS instruments. Neutron production for NSS experiments." + } + } +} \ No newline at end of file diff --git a/init/databuffer-ess.json b/init/databuffer-ess.json index 518e72568acbfad594fdc9edf0846842c37158fd..89e77b6ba1cb44d15da00d0d1c28fb6471173508 100644 --- a/init/databuffer-ess.json +++ b/init/databuffer-ess.json @@ -1,11 +1,35 @@ { "ProtNum": 1, - "ProtVer": 1, + "ProtVer": 5, + "doc": "ESS-0038258", + "PBState": { + "Off": { + "id": 10, + "description": "No proton beam extraction." + }, + "On": { + "id": 20, + "description": "Proton beam (IS on) extraction." + }, + "Fault": { + "id": 30, + "description": "Fault detected, no proton beam." + }, + "Recovery": { + "id": 40, + "description": "Recovering from a fault, proton beam for tune up. Possible neutron production, but not intended for users." + } + }, "PBMod": { "None": { "id": 0, "events": "None", - "description":"No Beam" + "description": "No Beam" + }, + "NoBeam": { + "id": 1, + "events": "None", + "description": "No Beam" }, "Conditioning": { "id": 10, @@ -14,16 +38,16 @@ "ION_END", "DATA" ], - "description":"Plasma production, magnetron allowed but no extraction HV" + "description": "Plasma production, magnetron allowed but no extraction HV." }, - "ProbeBeam": { + "Probe": { "id": 20, "events": [ "ION_ST", "ION_END", "DATA" ], - "description": "First beam through a particular section; non-damaging even in the case of total beam loss (even repeated); used to verify that machine configuration is not grossly incorrect" + "description": "First beam through a particular section; non-damaging even in the case of total beam loss (even repeated); used to verify that machine configuration is not grossly incorrect." }, "FastCommissioning": { "id": 30, @@ -32,7 +56,7 @@ "ION_END", "DATA" ], - "description" : "Limited beam loading; used for fast scans to rapidly determine/verify RF setpoints" + "description": "Limited beam loading; used for fast scans to rapidly determine/verify RF setpoints." }, "RfTest": { "id": 40, @@ -41,7 +65,7 @@ "ION_END", "DATA" ], - "description" : "To perform an initial RF test with a longer pulse" + "description": "To perform an initial RF test with a longer pulse." }, "StabilityTest": { "id": 50, @@ -50,7 +74,7 @@ "ION_END", "DATA" ], - "description" : "To be used mostly for beam stability test" + "description": "To be used mostly for beam stability test." }, "SlowCommissioning": { "id": 60, @@ -59,7 +83,7 @@ "ION_END", "DATA" ], - "description" : "Very short pulse planned to be used used during Normal Conducting Linac commissioning. It would allow installation of the rest of the Linac in parallel to Beam Commissioning." + "description": "Very short pulse planned to be used used during Normal Conducting Linac commissioning. It would allow installation of the rest of the Linac in parallel to Beam Commissioning." }, "FastTuning": { "id": 70, @@ -68,9 +92,9 @@ "ION_END", "DATA" ], - "description" : "Limited beam loading; used for fast scans to rapidly determine/verify RF setpoints and measure beam profiles with wire scanners" + "description": "Limited beam loading; used for fast scans to rapidly determine/verify RF setpoints and measure beam profiles with wire scanners." }, - "Slow Tuning": { + "SlowTuning": { "id": 80, "events": [ "ION_ST", @@ -80,7 +104,7 @@ "BPULSE_END", "DATA" ], - "description" : "Largest charge per pulse that allow operation of invasive proton beam instrumentation devices like wire scanners; long enough beam pulses to diagnose and monitor RF feedback and the onset of beam loading; used to perform more precise single-pulse measurements" + "description": "Largest charge per pulse that allow operation of invasive proton beam instrumentation devices like wire scanners; long enough beam pulses to diagnose and monitor RF feedback and the onset of beam loading; used to perform more precise single-pulse measurements." }, "LongPulseVerification": { "id": 90, @@ -89,7 +113,7 @@ "ION_END", "DATA" ], - "description" : "Only used when machine reasonably tuned to the tuning dump or the target; slowly-increasing pulse lengths are used to tune RF feedforward, verify beam loading and Lorentz force detuning compensation, and tune for low beam losses. Iintermediate short pulses at 1Hz could be supplied to monitor stability between long pulses." + "description": "Only used when machine reasonably tuned to the tuning dump or the target; slowly-increasing pulse lengths are used to tune RF feedforward, verify beam loading and Lorentz force detuning compensation, and tune for low beam losses. Iintermediate short pulses at 1Hz could be supplied to monitor stability between long pulses." }, "ShieldingVerification": { "id": 100, @@ -101,7 +125,7 @@ "BPULSE_END", "DATA" ], - "description" : "To be defined better once the exact requirements for the shielding verification (power, pulse length) are known." + "description": "To be defined better once the exact requirements for the shielding verification (power, pulse length) are known." }, "Production": { "id": 110, @@ -113,10 +137,7 @@ "BPULSE_END", "DATA" ], - "description" : "Normal mode for NSS experiments during operation" - }, - "Global": { - "pv": "PBMod" + "description": "Normal mode for NSS experiments during operation." } }, "PBDest": { @@ -125,56 +146,48 @@ }, "ISrc": { "id": 10, - "type" : "Virtual destination for plasma conditioning", - "limits" : "Only for conditioning mode/0/0/0" + "type": "Virtual destination for plasma conditioning", + "limits": "Only for conditioning mode/0/0/0" }, "LEBT": { "id": 20, - "type" : "Faraday Cup", - "limits" : "Full beam" + "type": "Faraday Cup", + "limits": "Full beam" }, "MEBT": { "id": 30, - "type" : "Faraday Cup", - "limits" : "(1Hz, 50us)/(14Hz, 5us), 62.5 mA" + "type": "Faraday Cup", + "limits": "(1Hz, 50us)/(14Hz, 5us), 62.5 mA" }, "DTL2": { "id": 40, - "type" : "Faraday Cup", - "limits" : "(1Hz, 50us)/(14Hz, 5us), 62.5 mA" + "type": "Faraday Cup", + "limits": "(1Hz, 50us)/(14Hz, 5us), 62.5 mA" }, "DTL4": { "id": 50, - "type" : "Faraday Cup", - "limits" : "(1 Hz, 50us)/(14 Hz, 5us), 62.5 mA" + "type": "Faraday Cup", + "limits": "(1 Hz, 50us)/(14 Hz, 5us), 62.5 mA" }, "Spokes": { "id": 60, - "type" : "Beam Stop", - "limits" : "To be defined" + "type": "Beam Stop", + "limits": "To be defined" }, "MBL": { "id": 70, - "type" : "Beam Stop", - "limits" : "To be defined" + "type": "Beam Stop", + "limits": "To be defined" }, "Tuning Dump": { "id": 80, - "type" : "Dump", - "limits" : "12kW" + "type": "Dump", + "limits": "12kW" }, "Target": { "id": 90, - "type" : "Target", - "limits" : "5MW" - }, - "Global": { - "pv": "PBDest" - } - }, - "Target": { - "Global": { - "pv": "TgSeg" + "type": "Target", + "limits": "5MW" } } -} +} \ No newline at end of file diff --git a/supercycles/example01.csv b/supercycles/example01.csv index b2b5bb67a98f41bde25b5eac399bbb5feec413e7..3ad51684e685f41ef1b1e061843e767d6b91b811 100644 --- a/supercycles/example01.csv +++ b/supercycles/example01.csv @@ -1,4 +1,4 @@ -Id,PBMod,PBDest,BPULSE_ST,BPULSE_END,PBCfg,PBLen,PBEn,PBCurr +Id,PBMod,PBDest,BPULSE_ST,BPULSE_END,PBState,PBLen,PBEn,PBCurr 1,Conditioning,ISrc,0,50,1,1000,100,100000 2,Conditioning,LEBT,50,100,1,1001,101,100001 3,Conditioning,MEBT,100,150,1,1002,102,100002 diff --git a/supercycles/example02.csv b/supercycles/example02.csv index ae625b9d046076eda2a521b7732a7b17b6ef88fd..006ac7a304fb212460c284e20f88bc00e2e33655 100644 --- a/supercycles/example02.csv +++ b/supercycles/example02.csv @@ -1,4 +1,4 @@ -Id,PBMod,PBDest,BPULSE_ST,BPULSE_END,PBCfg,PBLen,PBEn,PBCurr +Id,PBMod,PBDest,BPULSE_ST,BPULSE_END,PBState,PBLen,PBEn,PBCurr 1,Conditioning,ISrc,0,5,1,1000,100,100000 2,Conditioning,LEBT,0,50,1,1001,101,100001 3,Conditioning,MEBT,0,100,1,1002,102,100002