This commit is contained in:
@@ -34,4 +34,8 @@ to setup the prompts.
|
||||
"""
|
||||
|
||||
# pylint: disable=invalid-name, unused-import, import-error, undefined-variable, unused-variable, unused-argument, no-name-in-module
|
||||
init_positioned_devices()
|
||||
d = init_se_devices()
|
||||
states, allow_modifiers = get_states()
|
||||
deps = planner_deps()
|
||||
planner = StateManager(d, states, allow_modifiers, deps)
|
||||
|
||||
|
||||
@@ -1,50 +1,50 @@
|
||||
name,description,deviceClass,PV,readoutPriority,tag,readOnly,include,userParameter,
|
||||
sls_current,SLS current,SignalRO,ARS07-DPCT-0100:CURR,monitored,SLS,yes,yes,,
|
||||
fe_bpm1,FE XBPM Signal 1,SignalRO,X10SA-FE-XBPM1:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm2,FE XBPM Signal 2,SignalRO,X10SA-FE-XBPM1:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm3,FE XBPM Signal 3,SignalRO,X10SA-FE-XBPM1:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm4,FE XBPM Signal 4,SignalRO,X10SA-FE-XBPM1:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
sls_current,SLS Current,SignalRO,ARS07-DPCT-0100:CURR,monitored,SLS,yes,yes,,
|
||||
fe_bpm1,FE XBPM Channel 1,SignalRO,X10SA-FE-XBPM1:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm2,FE XBPM Channel 2,SignalRO,X10SA-FE-XBPM1:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm3,FE XBPM Channel 3,SignalRO,X10SA-FE-XBPM1:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm4,FE XBPM Channel 4,SignalRO,X10SA-FE-XBPM1:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpmsum,FE XBPM Summed,SignalRO,X10SA-FE-XBPM1:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
fe_bpm_x,FE BPM X,Motor,X10SA-FE-XBPM1:TRX,baseline,fe,no,yes,,
|
||||
fe_bpm_y,FE BPM Y,Motor,X10SA-FE-XBPM1:TRY,baseline,fe,no,yes,,
|
||||
fe_sl_xr,FE Slit X Ring,MotorEC,X10SA-FE-SL1:TRXR,baseline,fe,no,yes,,
|
||||
fe_sl_yt,FE Slit Y top,MotorEC,X10SA-FE-SL1:TRYT,baseline,fe,no,yes,,
|
||||
fe_sl_yt,FE Slit Y Top,MotorEC,X10SA-FE-SL1:TRYT,baseline,fe,no,yes,,
|
||||
fe_sl_xw,FE Slit X Wall,MotorEC,X10SA-FE-SL1:TRXW,baseline,fe,no,yes,,
|
||||
fe_sl_yb,FE SlitY Bottom,MotorEC,X10SA-FE-SL1:TRYB,baseline,fe,no,yes,,
|
||||
fe_sl_yb,FE Slit Y Bottom,MotorEC,X10SA-FE-SL1:TRYB,baseline,fe,no,yes,,
|
||||
fe_sl_xcen,FE Slit X Centre,MotorEC,X10SA-FE-SL1:CENTERX,baseline,fe,no,yes,,
|
||||
fe_sl_xsize,FE Slit X Size,MotorEC,X10SA-FE-SL1:SIZEX,baseline,fe,no,yes,,
|
||||
fe_sl_ycen,FE Slit Y Centre,MotorEC,X10SA-FE-SL1:CENTERY,baseline,fe,no,yes,,
|
||||
fe_sl_ysize,FE Slit Y Size,MotorEC,X10SA-FE-SL1:SIZEY,baseline,fe,no,yes,,
|
||||
bsf_bpm1,BSF BPM Signal 1,SignalRO,X10SA-OP-BSFBPM:SIGNAL1,monitored,bpm,yes,no,,
|
||||
bsf_bpm2,BSF BPM Signal 2,SignalRO,X10SA-OP-BSFBPM:SIGNAL2,monitored,bpm,yes,no,,
|
||||
bsf_bpm3,BSF BPM Signal 3,SignalRO,X10SA-OP-BSFBPM:SIGNAL3,monitored,bpm,yes,no,,
|
||||
bsf_bpm4,BSF BPM Signal 4,SignalRO,X10SA-OP-BSFBPM:SIGNAL4,monitored,bpm,yes,no,,
|
||||
bsf_bpm1,BSF BPM Channel 1,SignalRO,X10SA-OP-BSFBPM:SIGNAL1,monitored,bpm,yes,no,,
|
||||
bsf_bpm2,BSF BPM Channel 2,SignalRO,X10SA-OP-BSFBPM:SIGNAL2,monitored,bpm,yes,no,,
|
||||
bsf_bpm3,BSF BPM Channel 3,SignalRO,X10SA-OP-BSFBPM:SIGNAL3,monitored,bpm,yes,no,,
|
||||
bsf_bpm4,BSF BPM Channel 4,SignalRO,X10SA-OP-BSFBPM:SIGNAL4,monitored,bpm,yes,no,,
|
||||
bsf_bpmsum,BSF BPM Summed,SignalRO,X10SA-OP-BSFBPM:SUM,monitored,bpm,yes,no,,
|
||||
bsf_sl_xw,BSF slit outboard,MotorEC,X10SA-OP-BSFSLH:TRXW,baseline,bsf,no,yes,,
|
||||
bsf_sl_xr,BSF slit inboard,MotorEC,X10SA-OP-BSFSLH:TRXR,baseline,bsf,no,yes,,
|
||||
bsf_sl_yt,BSF slit top,MotorEC,X10SA-OP-BSFSLV:TRYT,baseline,bsf,no,yes,,
|
||||
bsf_sl_yb,BSF slit bottom,MotorEC,X10SA-OP-BSFSLV:TRYB,baseline,bsf,no,yes,,
|
||||
bsf_sl_xcen,BSF X centre,MotorEC,X10SA-OP-BSFSLH:CENTER,baseline,bsf,no,yes,,
|
||||
bsf_sl_xsize,BSF X size,MotorEC,X10SA-OP-BSFSLH:SIZE,baseline,bsf,no,yes,,
|
||||
bsf_sl_ycen,BSF Y centre,MotorEC,X10SA-OP-BSFSLV:CENTER,baseline,bsf,no,yes,,
|
||||
bsf_sl_ysize,BSF Y size,MotorEC,X10SA-OP-BSFSLV:SIZE,baseline,bsf,no,yes,,
|
||||
bsf_sl_xw,BSF Slit Wall,MotorEC,X10SA-OP-BSFSLH:TRXW,baseline,bsf,no,yes,,
|
||||
bsf_sl_xr,BSF Slit Ring,MotorEC,X10SA-OP-BSFSLH:TRXR,baseline,bsf,no,yes,,
|
||||
bsf_sl_yt,BSF Slit Top,MotorEC,X10SA-OP-BSFSLV:TRYT,baseline,bsf,no,yes,,
|
||||
bsf_sl_yb,BSF Slit Bottom,MotorEC,X10SA-OP-BSFSLV:TRYB,baseline,bsf,no,yes,,
|
||||
bsf_sl_xcen,BSF X Centre,MotorEC,X10SA-OP-BSFSLH:CENTER,baseline,bsf,no,yes,,
|
||||
bsf_sl_xsize,BSF X Size,MotorEC,X10SA-OP-BSFSLH:SIZE,baseline,bsf,no,yes,,
|
||||
bsf_sl_ycen,BSF Y Centre,MotorEC,X10SA-OP-BSFSLV:CENTER,baseline,bsf,no,yes,,
|
||||
bsf_sl_ysize,BSF Y Size,MotorEC,X10SA-OP-BSFSLV:SIZE,baseline,bsf,no,yes,,
|
||||
bsf_f1_y,BSF Filter 1 Y,MotorEC,X10SA-OP-BSFFI1:TRY,baseline,bsf,no,yes,,
|
||||
bsf_f2_y,BSF Filter 2 Y,MotorEC,X10SA-OP-BSFFI2:TRY,baseline,bsf,no,yes,,
|
||||
dcm_bragg,DCM Bragg angle,MotorEC,X10SA-OP-DCM:ROTY,baseline,dcm,no,yes,,
|
||||
dcm_x,DCM lateral,MotorEC,X10SA-OP-DCM:TRX,baseline,dcm,no,yes,,
|
||||
dcm_perp,DCM Perp,MotorEC,X10SA-OP-DCM:TRX-CR2,baseline,dcm,no,yes,,
|
||||
dcm_pitch,DCM 2nd crystal pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-PITCH,baseline,dcm,no,yes,,
|
||||
dcm_fpitch,DCM 2nd crystal fine pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-FINEPITCH,baseline,dcm,no,yes,,
|
||||
dcm_froll,DCM 2nd crystal fine roll,MotorEC,X10SA-OP-DCM:ROTZ-CR2-FINEROLL,baseline,dcm,no,yes,,
|
||||
lu_bpm1,LU BPM Signal 1,SignalRO,X10SA-OP-LUBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm2,LU BPM Signal 2,SignalRO,X10SA-OP-LUBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm3,LU BPM Signal 3,SignalRO,X10SA-OP-LUBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm4,LU BPM Signal 4,SignalRO,X10SA-OP-LUBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
dcm_bragg,DCM Bragg Angle,MotorEC,X10SA-OP-DCM:ROTY,baseline,dcm,no,yes,,
|
||||
dcm_x,DCM Lateral,MotorEC,X10SA-OP-DCM:TRX,baseline,dcm,no,yes,,
|
||||
dcm_perp,DCM Perpendicular,MotorEC,X10SA-OP-DCM:TRX-CR2,baseline,dcm,no,yes,,
|
||||
dcm_pitch,DCM 2nd Crystal Pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-PITCH,baseline,dcm,no,yes,,
|
||||
dcm_fpitch,DCM 2nd Crystal Fine Pitch,MotorEC,X10SA-OP-DCM:ROTY-CR2-FINEPITCH,baseline,dcm,no,yes,,
|
||||
dcm_froll,DCM 2nd Crystal Fine roll,MotorEC,X10SA-OP-DCM:ROTZ-CR2-FINEROLL,baseline,dcm,no,yes,,
|
||||
lu_bpm1,LU BPM Channel 1,SignalRO,X10SA-OP-LUBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm2,LU BPM Channel 2,SignalRO,X10SA-OP-LUBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm3,LU BPM Channel 3,SignalRO,X10SA-OP-LUBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm4,LU BPM Channel 4,SignalRO,X10SA-OP-LUBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpmsum,LU BPM Summed,SignalRO,X10SA-OP-LUBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
lu_bpm_x,BPM2 X translation,Motor,X10SA-OP-LUBPM:TRX,baseline,lu,no,yes,,
|
||||
lu_bpm_y,BPM2 Y translation,Motor,X10SA-OP-LUBPM:TRY,baseline,lu,no,yes,,
|
||||
lu_z1,Lens Z1 Motion,Motor,X10SA-OP-LUTRZ1:TRZ,baseline,lu,no,yes,,
|
||||
lu_z2,Lens Z2 Motion,Motor,X10SA-OP-LUTRZ2:TRZ,baseline,lu,no,yes,,
|
||||
lu_bpm_x,BPM2 X ,Motor,X10SA-OP-LUBPM:TRX,baseline,lu,no,yes,,
|
||||
lu_bpm_y,BPM2 Y ,Motor,X10SA-OP-LUBPM:TRY,baseline,lu,no,yes,,
|
||||
lu_z1,Lens Z1 ,Motor,X10SA-OP-LUTRZ1:TRZ,baseline,lu,no,yes,,
|
||||
lu_z2,Lens Z2 ,Motor,X10SA-OP-LUTRZ2:TRZ,baseline,lu,no,yes,,
|
||||
lu_pod1_x,SmarPod1 X,Motor,X10SA-OP-LUPOD1:TRX1,baseline,lu,no,no,,
|
||||
lu_lens1_x2,Lenses1 X,Motor,X10SA-OP-LUPOD1:TRX2,baseline,lu,no,no,,
|
||||
lu_pod1_y,SmarPod1 Y,Motor,X10SA-OP-LUPOD1:TRY,baseline,lu,no,yes,,
|
||||
@@ -59,10 +59,10 @@ lu_pod2_z,SmarPod2 Z,Motor,X10SA-OP-LUPOD2:TRZ,baseline,lu,no,yes,,
|
||||
lu_pod2_rotx,SmarPod2 RX,Motor,X10SA-OP-LUPOD2:ROTX,baseline,lu,no,yes,,
|
||||
lu_pod2_roty,SmarPod2 RY,Motor,X10SA-OP-LUPOD2:ROTY,baseline,lu,no,yes,,
|
||||
lu_pod2_rotz,SmarPod2 RZ,Motor,X10SA-OP-LUPOD2:ROTZ,baseline,lu,no,yes,,
|
||||
ss_bpm1,SS BPM Signal 1,SignalRO,X10SA-ES-SSBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm2,SS BPM Signal 2,SignalRO,X10SA-ES-SSBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm3,SS BPM Signal 3,SignalRO,X10SA-ES-SSBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm4,SS BPM Signal 4,SignalRO,X10SA-ES-SSBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm1,SS BPM Channel 1,SignalRO,X10SA-ES-SSBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm2,SS BPM Channel 2,SignalRO,X10SA-ES-SSBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm3,SS BPM Channel 3,SignalRO,X10SA-ES-SSBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm4,SS BPM Channel 4,SignalRO,X10SA-ES-SSBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpmsum,SS BPM Summed,SignalRO,X10SA-ES-SSBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_bpm_x,SS BPM X,Motor,X10SA-ES-SSBPM:TRX,baseline,ss,no,yes,,
|
||||
ss_bpm_y,SS BPM Y,Motor,X10SA-ES-SSBPM:TRY,baseline,ss,no,yes,,
|
||||
@@ -70,100 +70,101 @@ ss_f1_x,SS Filter 1 X,Motor,X10SA-ES-SSFI1:TRX,baseline,ss,no,yes,,
|
||||
ss_f2_x,SS Filter 2 X,Motor,X10SA-ES-SSFI2:TRX,baseline,ss,no,yes,,
|
||||
ss_f3_x,SS Filter 2 X,Motor,X10SA-ES-SSFI3:TRX,baseline,ss,no,yes,,
|
||||
ss_f4_x,SS Filter 4 X,Motor,X10SA-ES-SSFI4:TRX,baseline,ss,no,yes,,
|
||||
ss_sl_xw,SS slit wall,Motor,X10SA-ES-SSSLH:TRXW,baseline,ss,no,yes,,
|
||||
ss_sl_xr,SS slit ring,Motor,X10SA-ES-SSSLH:TRXR,baseline,ss,no,yes,,
|
||||
ss_sl_xcen,SS slit X centre,Motor,X10SA-ES-SSSLH:CENTER,baseline,ss,no,yes,,
|
||||
ss_sl_xsize,SS slit X size,Motor,X10SA-ES-SSSLH:SIZE,baseline,ss,no,yes,,
|
||||
ss_sl_yt,SS slit top,Motor,X10SA-ES-SSSLV:TRYT,baseline,ss,no,yes,,
|
||||
ss_sl_yb,SS slit bottom,Motor,X10SA-ES-SSSLV:TRYB,baseline,ss,no,yes,,
|
||||
ss_sl_ycen,SS slit Y centre,Motor,X10SA-ES-SSSLV:CENTER,baseline,ss,no,yes,,
|
||||
ss_sl_ysize,SS slit Y size,Motor,X10SA-ES-SSSLV:SIZE,baseline,ss,no,yes,,
|
||||
ss_sl_xw,SS Slit Wall,Motor,X10SA-ES-SSSLH:TRXW,baseline,ss,no,yes,,
|
||||
ss_sl_xr,SS Slit Ring,Motor,X10SA-ES-SSSLH:TRXR,baseline,ss,no,yes,,
|
||||
ss_sl_xcen,SS Slit X Centre,Motor,X10SA-ES-SSSLH:CENTER,baseline,ss,no,yes,,
|
||||
ss_sl_xsize,SS Slit X Size,Motor,X10SA-ES-SSSLH:SIZE,baseline,ss,no,yes,,
|
||||
ss_sl_yt,SS Slit Top,Motor,X10SA-ES-SSSLV:TRYT,baseline,ss,no,yes,,
|
||||
ss_sl_yb,SS Slit Bottom,Motor,X10SA-ES-SSSLV:TRYB,baseline,ss,no,yes,,
|
||||
ss_sl_ycen,SS Slit Y Centre,Motor,X10SA-ES-SSSLV:CENTER,baseline,ss,no,yes,,
|
||||
ss_sl_ysize,SS Slit Y Size,Motor,X10SA-ES-SSSLV:SIZE,baseline,ss,no,yes,,
|
||||
ss_xi_x,SS X-ray eye X,Motor,X10SA-ES-SSXI:TRX,baseline,ss,no,yes,"{""type"": multi-position,""in"": 7.5, ""out"": -2.1}",
|
||||
ss_xi_y,SS X-ray eye Y,Motor,X10SA-ES-SSXI:TRY,baseline,ss,no,yes,,
|
||||
ss_xicam_x,ss cam X,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidX_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_y,ss cam Y,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidY_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_max,ss cam max value,SignalRO,X10SA-ES-SSXI:cam1:Stats5:MaxValue_RBV,monitored,ss,yes,no,,
|
||||
ss_xicam_exp,ss camera exposure,Signal,X10SA-ES-SSXI:cam1:AcquireTime,baseline,ss,no,no,,
|
||||
ss_xicam_gain,ss camera gain,Signal,X10SA-ES-SSXI:cam1:cam1:Gain,baseline,ss,no,no,,
|
||||
ss_xicam_xsig,ss camera x sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaX_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_ysig,ss camera y sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaY_RBV,baseline,ss,yes,no,,
|
||||
vfm_xu,VFM Upstream X,MotorEC,X10SA-ES-KBV:TRXU,baseline,vfm,no,no,,
|
||||
vfm_xd,VFM Downstream X,MotorEC,X10SA-ES-KBV:TRXD,baseline,vfm,no,no,,
|
||||
vfm_yur,VFM Upstream Ring Y,MotorEC,X10SA-ES-KBV:TRYUR,baseline,vfm,no,no,,
|
||||
vfm_yw,VFM Wall Y,MotorEC,X10SA-ES-KBV:TRYW,baseline,vfm,no,no,,
|
||||
vfm_ydr,VFM Downstream Ring Y,MotorEC,X10SA-ES-KBV:TRYDR,baseline,vfm,no,no,,
|
||||
vfm_bu,VFM Upstream Bender,MotorEC,X10SA-ES-KBV:BNDU,baseline,vfm,no,no,,
|
||||
vfm_bd,VFM Downstream Bender,MotorEC,X10SA-ES-KBV:BNDD,baseline,vfm,no,no,,
|
||||
vfm_yaw,VFM Virtual Yaw,MotorEC,X10SA-ES-KBV:YAW,baseline,vfm,no,no,,
|
||||
vfm_roll,VFM Virtual Roll,MotorEC,X10SA-ES-KBV:ROLL,baseline,vfm,no,no,,
|
||||
vfm_pitch,VFM Virtual Pitch,MotorEC,X10SA-ES-KBV:PITCH,baseline,vfm,no,no,,
|
||||
vfm_x,VFM Virtual X,MotorEC,X10SA-ES-KBV:TRX,baseline,vfm,no,no,,
|
||||
vfm_y,VFM Virtual Y ,MotorEC,X10SA-ES-KBV:TRY,baseline,vfm,no,no,,
|
||||
hfm_xu,HFM Upstream X,MotorEC,X10SA-ES-KBH:TRXU,baseline,hfm,no,no,,
|
||||
hfm_xd,HFM Downstream X,MotorEC,X10SA-ES-KBH:TRXD,baseline,hfm,no,no,,
|
||||
hfm_yuw,HFM Upstream Wall Y,MotorEC,X10SA-ES-KBH:TRYUW,baseline,hfm,no,no,,
|
||||
hfm_yr,HFM Ring Y,MotorEC,X10SA-ES-KBH:TRYR,baseline,hfm,no,no,,
|
||||
hfm_ydw,HFM Downstream Wall Y,MotorEC,X10SA-ES-KBH:TRYDW,baseline,hfm,no,no,,
|
||||
hfm_bu,HFM Upstream Bender,MotorEC,X10SA-ES-KBH:BNDU,baseline,hfm,no,no,,
|
||||
hfm_bd,HFM Downstream Bender,MotorEC,X10SA-ES-KBH:BNDD,baseline,hfm,no,no,,
|
||||
hfm_yaw,HFM Virtual Yaw,MotorEC,X10SA-ES-KBH:YAW,baseline,hfm,no,no,,
|
||||
hfm_roll,HFM Virtual Roll,MotorEC,X10SA-ES-KBH:ROLL,baseline,hfm,no,no,,
|
||||
hfm_pitch,HFM Virtual Pitch,MotorEC,X10SA-ES-KBH:PITCH,baseline,hfm,no,no,,
|
||||
hfm_x,HFM Virtual X,MotorEC,X10SA-ES-KBH:TRX,baseline,hfm,no,no,,
|
||||
hfm_y,HFM Virtual Y ,MotorEC,X10SA-ES-KBH:TRY,baseline,hfm,no,no,,
|
||||
bcu_bpm1,BCU BPM Signal 1 ,SignalRO,X10SA-ES-BCBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm2,BCU BPM Signal 2,SignalRO,X10SA-ES-BCBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm3,BCU BPM Signal 3,SignalRO,X10SA-ES-BCBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm4,BCU BPM Signal 4,SignalRO,X10SA-ES-BCBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
ss_xicam_x,SS Camera X,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidX_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_y,SS Camera Y,SignalRO,X10SA-ES-SSXI:cam1:Stats5:CentroidY_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_max,SS Cam Max,SignalRO,X10SA-ES-SSXI:cam1:Stats5:MaxValue_RBV,monitored,ss,yes,no,,
|
||||
ss_xicam_exp,SS Camera Exposure,Signal,X10SA-ES-SSXI:cam1:AcquireTime,baseline,ss,no,no,,
|
||||
ss_xicam_gain,SS Camera Gain,Signal,X10SA-ES-SSXI:cam1:cam1:Gain,baseline,ss,no,no,,
|
||||
ss_xicam_xsig,SS Camera X Sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaX_RBV,baseline,ss,yes,no,,
|
||||
ss_xicam_ysig,SS Camera Y Sigma,Signal,X10SA-ES-SSXI:cam1:Stats5:SigmaY_RBV,baseline,ss,yes,no,,
|
||||
vfm_xu,VFM Upstream X,MotorEC,X10SA-ES-VFM:TRXU,baseline,vfm,no,yes,,
|
||||
vfm_xd,VFM Downstream X,MotorEC,X10SA-ES-VFM:TRXD,baseline,vfm,no,yes,,
|
||||
vfm_yur,VFM Upstream Ring Y,MotorEC,X10SA-ES-VFM:TRYUR,baseline,vfm,no,yes,,
|
||||
vfm_yw,VFM Wall Y,MotorEC,X10SA-ES-VFM:TRYW,baseline,vfm,no,yes,,
|
||||
vfm_ydr,VFM Downstream Ring Y,MotorEC,X10SA-ES-VFM:TRYDR,baseline,vfm,no,yes,,
|
||||
vfm_bu,VFM Upstream Bender,MotorEC,X10SA-ES-VFM:BNDU,baseline,vfm,no,yes,,
|
||||
vfm_bd,VFM Downstream Bender,MotorEC,X10SA-ES-VFM:BNDD,baseline,vfm,no,yes,,
|
||||
vfm_yaw,VFM Virtual Yaw,MotorEC,X10SA-ES-VFM:YAW,baseline,vfm,no,yes,,
|
||||
vfm_roll,VFM Virtual Roll,MotorEC,X10SA-ES-VFM:ROLL,baseline,vfm,no,yes,,
|
||||
vfm_pitch,VFM Virtual Pitch,MotorEC,X10SA-ES-VFM:PITCH,baseline,vfm,no,yes,,
|
||||
vfm_x,VFM Virtual X,MotorEC,X10SA-ES-VFM:TRX,baseline,vfm,no,yes,,
|
||||
vfm_y,VFM Virtual Y ,MotorEC,X10SA-ES-VFM:TRY,baseline,vfm,no,yes,,
|
||||
hfm_xu,HFM Upstream X,MotorEC,X10SA-ES-HFM:TRXU,baseline,hfm,no,yes,,
|
||||
hfm_xd,HFM Downstream X,MotorEC,X10SA-ES-HFM:TRXD,baseline,hfm,no,yes,,
|
||||
hfm_yuw,HFM Upstream Wall Y,MotorEC,X10SA-ES-HFM:TRYUW,baseline,hfm,no,yes,,
|
||||
hfm_yr,HFM Ring Y,MotorEC,X10SA-ES-HFM:TRYR,baseline,hfm,no,yes,,
|
||||
hfm_ydw,HFM Downstream Wall Y,MotorEC,X10SA-ES-HFM:TRYDW,baseline,hfm,no,yes,,
|
||||
hfm_bu,HFM Upstream Bender,MotorEC,X10SA-ES-HFM:BNDU,baseline,hfm,no,yes,,
|
||||
hfm_bd,HFM Downstream Bender,MotorEC,X10SA-ES-HFM:BNDD,baseline,hfm,no,yes,,
|
||||
hfm_yaw,HFM Virtual Yaw,MotorEC,X10SA-ES-HFM:YAW,baseline,hfm,no,yes,,
|
||||
hfm_roll,HFM Virtual Roll,MotorEC,X10SA-ES-HFM:ROLL,baseline,hfm,no,yes,,
|
||||
hfm_pitch,HFM Virtual Pitch,MotorEC,X10SA-ES-HFM:PITCH,baseline,hfm,no,yes,,
|
||||
hfm_x,HFM Virtual X,MotorEC,X10SA-ES-HFM:TRX,baseline,hfm,no,yes,,
|
||||
hfm_y,HFM Virtual Y ,MotorEC,X10SA-ES-HFM:TRY,baseline,hfm,no,yes,,
|
||||
bcu_bpm1,BCU BPM Channel 1 ,SignalRO,X10SA-ES-BCBPM:Current1:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm2,BCU BPM Channel 2,SignalRO,X10SA-ES-BCBPM:Current2:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm3,BCU BPM Channel 3,SignalRO,X10SA-ES-BCBPM:Current3:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm4,BCU BPM Channel 4,SignalRO,X10SA-ES-BCBPM:Current4:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpmsum,BCU BPM Summed,SignalRO,X10SA-ES-BCBPM:SumAll:MeanValue_RBV,monitored,bpm,yes,yes,,
|
||||
bcu_bpm_x,BCU BPM X,Motor,X10SA-ES-BCBPM:TRX,baseline,bcu,no,yes,,
|
||||
bcu_bpm_y,BCU BPM Y ,Motor,X10SA-ES-BCBPM:TRY,baseline,bcu,no,yes,,
|
||||
bcu_sl_xw,BCU slit wall,Motor,X10SA-ES-BCSLH:TRXW,baseline,bcu,no,no,,
|
||||
bcu_sl_xr,BCU slit ring,Motor,X10SA-ES-BCSLH:TRXR,baseline,bcu,no,no,,
|
||||
bcu_sl_xcen,BCU slit X centre,Motor,X10SA-ES-BCSLH:CENTER,baseline,bcu,no,no,,
|
||||
bcu_sl_xsize,BCU slit X size,Motor,X10SA-ES-BCSLH:SIZEX,baseline,bcu,no,no,,
|
||||
bcu_sl_yt,BCU slit top,Motor,X10SA-ES-BCSLV:TRYT,baseline,bcu,no,no,,
|
||||
bcu_sl_yb,BCU slit bottom,Motor,X10SA-ES-BCSLV:TRYB,baseline,bcu,no,no,,
|
||||
bcu_sl_ycen,BCU slit Y centre,Motor,X10SA-ES-BCSLV:CENTER,baseline,bcu,no,no,,
|
||||
bcu_sl_ysize,BCU slit Y size,Motor,X10SA-ES-BCSLV:SIZE,baseline,bcu,no,no,,
|
||||
xrf_pos,XRF det in/out,Signal,X10SA-ES-XRF:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
samcam_x,sample cam X ,SignalRO,X10SA-ES-MS:Stats5:CentroidX_RBV,baseline,scam,yes,yes,,
|
||||
samcam_xsig,sample cam X sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaX_RBV,monitored,scam,yes,yes,,
|
||||
samcam_y,sample cam Y ,SignalRO,X10SA-ES-MS:Stats5:CentroidY_RBV,baseline,scam,yes,yes,,
|
||||
samcam_ysig,sample cam Y sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaY_RBV,monitored,scam,yes,yes,,
|
||||
samcam_max,sample cam max value,SignalRO,X10SA-ES-MS:Stats5:MaxValue_RBV,monitored,scam,yes,yes,,
|
||||
samcam_exp,sample cam exp time,Signal,X10SA-ES-MS:cam1:AcquireTime,baseline,scam,no,yes,,
|
||||
samcam_gain,sample cam gain,Signal,X10SA-ES-MS:cam1:Gain,baseline,scam,no,yes,,
|
||||
scam_zoom,Sample cam zoom,Motor,X10SA-ES-MS:ZOOM,baseline,scam,no,yes,,
|
||||
fl_bright,Frontlight brightness,Signal,X10SA-ES-FL:SET,baseline,se,no,no,,
|
||||
bcu_sl_xw,BCU Slit Wall,Motor,X10SA-ES-BCSLH:TRXW,baseline,bcu,no,yes,,
|
||||
bcu_sl_xr,BCU Slit Ring,Motor,X10SA-ES-BCSLH:TRXR,baseline,bcu,no,yes,,
|
||||
bcu_sl_xcen,BCU Slit X Centre,Motor,X10SA-ES-BCSLH:CENTER,baseline,bcu,no,yes,,
|
||||
bcu_sl_xsize,BCU Slit X Size,Motor,X10SA-ES-BCSLH:SIZE,baseline,bcu,no,yes,,
|
||||
bcu_sl_yt,BCU Slit Top,Motor,X10SA-ES-BCSLV:TRYT,baseline,bcu,no,yes,,
|
||||
bcu_sl_yb,BCU Slit Bottom,Motor,X10SA-ES-BCSLV:TRYB,baseline,bcu,no,yes,,
|
||||
bcu_sl_ycen,BCU Slit Y Centre,Motor,X10SA-ES-BCSLV:CENTER,baseline,bcu,no,yes,,
|
||||
bcu_sl_ysize,BCU Slit Y Size,Motor,X10SA-ES-BCSLV:SIZE,baseline,bcu,no,yes,,
|
||||
xrf_pos,XRF Positioner,Signal,X10SA-ES-XRF:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
samcam_x,Sample Camera X ,SignalRO,X10SA-ES-MS:Stats5:CentroidX_RBV,baseline,scam,yes,yes,,
|
||||
samcam_xsig,Sample Camera X Sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaX_RBV,monitored,scam,yes,yes,,
|
||||
samcam_y,Sample Camera Y ,SignalRO,X10SA-ES-MS:Stats5:CentroidY_RBV,baseline,scam,yes,yes,,
|
||||
samcam_ysig,Sample Camera Y Sigma,SignalRO,X10SA-ES-MS:Stats5:SigmaY_RBV,monitored,scam,yes,yes,,
|
||||
samcam_max,Sample Camera Max ,SignalRO,X10SA-ES-MS:Stats5:MaxValue_RBV,monitored,scam,yes,yes,,
|
||||
samcam_exp,Sample Camera Exposure,Signal,X10SA-ES-MS:cam1:AcquireTime,baseline,scam,no,yes,,
|
||||
samcam_gain,Sample Camera Gain,Signal,X10SA-ES-MS:cam1:Gain,baseline,scam,no,yes,,
|
||||
scam_zoom,Sample Camera Zoom,Motor,X10SA-ES-MS:ZOOM,baseline,scam,no,yes,,
|
||||
fl_bright,Frontlight Brightness,Signal,X10SA-ES-FL:SET,baseline,se,no,no,,
|
||||
coll_x,Collimator X,Motor,X10SA-ES-COL:TRX,baseline,se,no,yes,,
|
||||
coll_y,Collimator Y,Motor,X10SA-ES-COL:TRY,baseline,se,no,no,"{""type"": multi-position, ""in"": 41.5, ""out"": 20.0, ""park"": 0,""tol"":0.05}",
|
||||
diag_y,Scintillator/diode Y,Motor,X10SA-ES-SCL:TRY,baseline,se,no,no,"{""type"": multi-position, ""scint"": 38.62, ""i1"": 44.0, ""out"": 20.0,""park"": 0,""tol"":0.3}",
|
||||
diag_z,Scintillator/diode Z,Motor,X10SA-ES-SCL:TRZ,baseline,se,no,yes,,
|
||||
i1,i1 diode reading,SignalRO,X10SA-ES-SCLDI:READOUT,monitored,bpm,yes,yes,,
|
||||
bl_pos,Backlight positioner,Signal,X10SA-ES-BL:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
bl_bright,Backlight brightness,Signal,X10SA-ES-BL:SET,baseline,se,no,no,,
|
||||
i1,I1 Diode,SignalRO,X10SA-ES-SCLDI:READOUT,monitored,bpm,yes,yes,,
|
||||
bl_pos,Backlight Positioner,Signal,X10SA-ES-BL:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
bl_bright,Backlight Brightness,Signal,X10SA-ES-BL:SET,baseline,se,no,no,,
|
||||
bs_x,Beamstop X,Motor,X10SA-ES-BS:TRX,baseline,se,no,yes,,
|
||||
bs_y,Beamstop Y,Motor,X10SA-ES-BS:TRY,baseline,se,no,yes,,
|
||||
bs_z,Beamstop Z,Motor,X10SA-ES-BS:TRZ,baseline,se,no,no,"{""type"": guarded, ""min"": 13, ""samp"": 15, ""work_min"": 20, ""safe"": 41, ""max_blin"": 42, ""max_blout"": 70}",
|
||||
bs_pos,Beamstop positioner,Signal,X10SA-ES-BS:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
bs_pos,Beamstop Positioner,Signal,X10SA-ES-BS:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
gon_x,Goniometer X,Motor,X10SA-ES-DF1:TRX1,baseline,det,no,no,"{""type"": guarded, ""in"": 18.0, ""out"": -10.0, ""safe"": -100,""tol"":0.5}",
|
||||
gon_y,Goniometer Y,Motor,X10SA-ES-DF1:TRY1,baseline,det,no,yes,,
|
||||
gon_z,Goniometer X,Motor,X10SA-ES-DF1:TRZ1,baseline,det,no,yes,,
|
||||
omega,Omega,Motor,X10SA-ES-DF1:ROTU,baseline,det,no,yes,,
|
||||
cryo_pos,Cryo positioner,Signal,X10SA-ES-CS:POS-SET,baseline,se,no,no,"{""type"":positioner}",
|
||||
cryo_x,Cryojet X ,Motor,X10SA-ES-CS:TRX,baseline,se,no,yes,,
|
||||
det_xi_focus,X-ray eye 2 Focus,Motor,X10SA-ES-XEYE:FOCUS,baseline,det,no,yes,,
|
||||
det_xi_zoom,X-ray eye 2 Zoom,Motor,X10SA-ES-XEYE:ZOOM,baseline,det,no,yes,,
|
||||
det_xi_x,X-ray eye X,Motor,X10SA-ES-XEYE:TRX,baseline,det,no,yes,,
|
||||
i2,i2,SignalRO,X10SA-ES-XEYEDI:READOUT,monitored,bpm,yes,yes,,
|
||||
det_xicam_x,sample cam X ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV,baseline,scam,yes,no,,
|
||||
det_xicam_xsig,sample cam X sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_y,sample cam Y ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV,baseline,scam,yes,no,,
|
||||
det_xicam_ysig,sample cam Y sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_max,sample cam max value,SignalRO,X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_exp,sample cam exp time,Signal,X10SA-ES-XEYE:cam1:cam1:AcquireTime,baseline,scam,no,no,,
|
||||
det_xicam_gain,sample cam gain,Signal,X10SA-ES-XEYE:cam1:cam1:Gain,baseline,scam,no,no,,
|
||||
det_cov,Detector cover,Signal,X10SA-ES-DETCOV:SET,baseline,det,no,no,"{""type"":positioner}",
|
||||
cryo_x,Cryo X ,Motor,X10SA-ES-CS:TRX,baseline,se,no,yes,,
|
||||
cryo_temp,Cryo Temperature,Signal,X10SA-ES-CS:TEMP_RBV,baseline,se,yes,yes,,
|
||||
det_xi_focus,X-ray Eye 2 Focus,Motor,X10SA-ES-XEYE:FOCUS,baseline,det,no,yes,,
|
||||
det_xi_zoom,X-ray Eye 2 Zoom,Motor,X10SA-ES-XEYE:ZOOM,baseline,det,no,yes,,
|
||||
det_xi_x,X-ray Eye X,Motor,X10SA-ES-XEYE:TRX,baseline,det,no,yes,,
|
||||
i2,I2 Diode,SignalRO,X10SA-ES-XEYEDI:READOUT,monitored,bpm,yes,yes,,
|
||||
det_xicam_x,Det Camera X ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV,baseline,scam,yes,no,,
|
||||
det_xicam_xsig,Det Camera X Sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_y,Det Camera Y ,SignalRO,X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV,baseline,scam,yes,no,,
|
||||
det_xicam_ysig,Det Camera Y Sigma,SignalRO,X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_max,Det Camera Max,SignalRO,X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV,monitored,scam,yes,no,,
|
||||
det_xicam_exp,Det Camera Exposure,Signal,X10SA-ES-XEYE:cam1:cam1:AcquireTime,baseline,scam,no,no,,
|
||||
det_xicam_gain,Det Camera Gain,Signal,X10SA-ES-XEYE:cam1:cam1:Gain,baseline,Sigma,no,no,,
|
||||
det_cov,Detector Cover,Signal,X10SA-ES-DETCOV:SET,baseline,det,no,no,"{""type"":positioner}",
|
||||
det_y,Detector Y,Motor,X10SA-ES-DET:TRY,baseline,det,no,yes,,
|
||||
det_z,Detector Z,Motor,X10SA-ES-DET:TRZ,baseline,det,no,yes,,
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
sls_current:
|
||||
description: SLS current
|
||||
description: SLS Current
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -11,7 +11,7 @@ sls_current:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_bpm1:
|
||||
description: FE XBPM Signal 1
|
||||
description: FE XBPM Channel 1
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current1:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -23,7 +23,7 @@ fe_bpm1:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_bpm2:
|
||||
description: FE XBPM Signal 2
|
||||
description: FE XBPM Channel 2
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current2:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -35,7 +35,7 @@ fe_bpm2:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_bpm3:
|
||||
description: FE XBPM Signal 3
|
||||
description: FE XBPM Channel 3
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current3:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -47,7 +47,7 @@ fe_bpm3:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_bpm4:
|
||||
description: FE XBPM Signal 4
|
||||
description: FE XBPM Channel 4
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-XBPM1:Current4:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -107,7 +107,7 @@ fe_sl_xr:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_sl_yt:
|
||||
description: FE Slit Y top
|
||||
description: FE Slit Y Top
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-FE-SL1:TRYT'}
|
||||
onFailure: buffer
|
||||
@@ -131,7 +131,7 @@ fe_sl_xw:
|
||||
softwareTrigger: false
|
||||
|
||||
fe_sl_yb:
|
||||
description: FE SlitY Bottom
|
||||
description: FE Slit Y Bottom
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-FE-SL1:TRYB'}
|
||||
onFailure: buffer
|
||||
@@ -191,7 +191,7 @@ fe_sl_ysize:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_xw:
|
||||
description: BSF slit outboard
|
||||
description: BSF Slit Wall
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXW'}
|
||||
onFailure: buffer
|
||||
@@ -203,7 +203,7 @@ bsf_sl_xw:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_xr:
|
||||
description: BSF slit inboard
|
||||
description: BSF Slit Ring
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLH:TRXR'}
|
||||
onFailure: buffer
|
||||
@@ -215,7 +215,7 @@ bsf_sl_xr:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_yt:
|
||||
description: BSF slit top
|
||||
description: BSF Slit Top
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYT'}
|
||||
onFailure: buffer
|
||||
@@ -227,7 +227,7 @@ bsf_sl_yt:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_yb:
|
||||
description: BSF slit bottom
|
||||
description: BSF Slit Bottom
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLV:TRYB'}
|
||||
onFailure: buffer
|
||||
@@ -239,7 +239,7 @@ bsf_sl_yb:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_xcen:
|
||||
description: BSF X centre
|
||||
description: BSF X Centre
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLH:CENTER'}
|
||||
onFailure: buffer
|
||||
@@ -251,7 +251,7 @@ bsf_sl_xcen:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_xsize:
|
||||
description: BSF X size
|
||||
description: BSF X Size
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLH:SIZE'}
|
||||
onFailure: buffer
|
||||
@@ -263,7 +263,7 @@ bsf_sl_xsize:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_ycen:
|
||||
description: BSF Y centre
|
||||
description: BSF Y Centre
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLV:CENTER'}
|
||||
onFailure: buffer
|
||||
@@ -275,7 +275,7 @@ bsf_sl_ycen:
|
||||
softwareTrigger: false
|
||||
|
||||
bsf_sl_ysize:
|
||||
description: BSF Y size
|
||||
description: BSF Y Size
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-BSFSLV:SIZE'}
|
||||
onFailure: buffer
|
||||
@@ -311,7 +311,7 @@ bsf_f2_y:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_bragg:
|
||||
description: DCM Bragg angle
|
||||
description: DCM Bragg Angle
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'}
|
||||
onFailure: buffer
|
||||
@@ -323,7 +323,7 @@ dcm_bragg:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_x:
|
||||
description: DCM lateral
|
||||
description: DCM Lateral
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'}
|
||||
onFailure: buffer
|
||||
@@ -335,7 +335,7 @@ dcm_x:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_perp:
|
||||
description: DCM Perp
|
||||
description: DCM Perpendicular
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-CR2'}
|
||||
onFailure: buffer
|
||||
@@ -347,7 +347,7 @@ dcm_perp:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_pitch:
|
||||
description: DCM 2nd crystal pitch
|
||||
description: DCM 2nd Crystal Pitch
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-PITCH'}
|
||||
onFailure: buffer
|
||||
@@ -359,7 +359,7 @@ dcm_pitch:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_fpitch:
|
||||
description: DCM 2nd crystal fine pitch
|
||||
description: DCM 2nd Crystal Fine Pitch
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-CR2-FINEPITCH'}
|
||||
onFailure: buffer
|
||||
@@ -371,7 +371,7 @@ dcm_fpitch:
|
||||
softwareTrigger: false
|
||||
|
||||
dcm_froll:
|
||||
description: DCM 2nd crystal fine roll
|
||||
description: DCM 2nd Crystal Fine roll
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTZ-CR2-FINEROLL'}
|
||||
onFailure: buffer
|
||||
@@ -383,7 +383,7 @@ dcm_froll:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm1:
|
||||
description: LU BPM Signal 1
|
||||
description: LU BPM Channel 1
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current1:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -395,7 +395,7 @@ lu_bpm1:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm2:
|
||||
description: LU BPM Signal 2
|
||||
description: LU BPM Channel 2
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current2:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -407,7 +407,7 @@ lu_bpm2:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm3:
|
||||
description: LU BPM Signal 3
|
||||
description: LU BPM Channel 3
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current3:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -419,7 +419,7 @@ lu_bpm3:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm4:
|
||||
description: LU BPM Signal 4
|
||||
description: LU BPM Channel 4
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LUBPM:Current4:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -443,7 +443,7 @@ lu_bpmsum:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm_x:
|
||||
description: BPM2 X translation
|
||||
description: BPM2 X
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRX'}
|
||||
onFailure: buffer
|
||||
@@ -455,7 +455,7 @@ lu_bpm_x:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_bpm_y:
|
||||
description: BPM2 Y translation
|
||||
description: BPM2 Y
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-LUBPM:TRY'}
|
||||
onFailure: buffer
|
||||
@@ -467,7 +467,7 @@ lu_bpm_y:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_z1:
|
||||
description: Lens Z1 Motion
|
||||
description: Lens Z1
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-LUTRZ1:TRZ'}
|
||||
onFailure: buffer
|
||||
@@ -479,7 +479,7 @@ lu_z1:
|
||||
softwareTrigger: false
|
||||
|
||||
lu_z2:
|
||||
description: Lens Z2 Motion
|
||||
description: Lens Z2
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-LUTRZ2:TRZ'}
|
||||
onFailure: buffer
|
||||
@@ -611,7 +611,7 @@ lu_pod2_rotz:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_bpm1:
|
||||
description: SS BPM Signal 1
|
||||
description: SS BPM Channel 1
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current1:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -623,7 +623,7 @@ ss_bpm1:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_bpm2:
|
||||
description: SS BPM Signal 2
|
||||
description: SS BPM Channel 2
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current2:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -635,7 +635,7 @@ ss_bpm2:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_bpm3:
|
||||
description: SS BPM Signal 3
|
||||
description: SS BPM Channel 3
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current3:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -647,7 +647,7 @@ ss_bpm3:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_bpm4:
|
||||
description: SS BPM Signal 4
|
||||
description: SS BPM Channel 4
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SSBPM:Current4:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -743,7 +743,7 @@ ss_f4_x:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_xw:
|
||||
description: SS slit wall
|
||||
description: SS Slit Wall
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'}
|
||||
onFailure: buffer
|
||||
@@ -755,7 +755,7 @@ ss_sl_xw:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_xr:
|
||||
description: SS slit ring
|
||||
description: SS Slit Ring
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXR'}
|
||||
onFailure: buffer
|
||||
@@ -767,7 +767,7 @@ ss_sl_xr:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_xcen:
|
||||
description: SS slit X centre
|
||||
description: SS Slit X Centre
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLH:CENTER'}
|
||||
onFailure: buffer
|
||||
@@ -779,7 +779,7 @@ ss_sl_xcen:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_xsize:
|
||||
description: SS slit X size
|
||||
description: SS Slit X Size
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLH:SIZE'}
|
||||
onFailure: buffer
|
||||
@@ -791,7 +791,7 @@ ss_sl_xsize:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_yt:
|
||||
description: SS slit top
|
||||
description: SS Slit Top
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYT'}
|
||||
onFailure: buffer
|
||||
@@ -803,7 +803,7 @@ ss_sl_yt:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_yb:
|
||||
description: SS slit bottom
|
||||
description: SS Slit Bottom
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLV:TRYB'}
|
||||
onFailure: buffer
|
||||
@@ -815,7 +815,7 @@ ss_sl_yb:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_ycen:
|
||||
description: SS slit Y centre
|
||||
description: SS Slit Y Centre
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLV:CENTER'}
|
||||
onFailure: buffer
|
||||
@@ -827,7 +827,7 @@ ss_sl_ycen:
|
||||
softwareTrigger: false
|
||||
|
||||
ss_sl_ysize:
|
||||
description: SS slit Y size
|
||||
description: SS Slit Y Size
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLV:SIZE'}
|
||||
onFailure: buffer
|
||||
@@ -863,8 +863,296 @@ ss_xi_y:
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_xu:
|
||||
description: VFM Upstream X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_xd:
|
||||
description: VFM Downstream X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_yur:
|
||||
description: VFM Upstream Ring Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_yw:
|
||||
description: VFM Wall Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_ydr:
|
||||
description: VFM Downstream Ring Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_bu:
|
||||
description: VFM Upstream Bender
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_bd:
|
||||
description: VFM Downstream Bender
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_yaw:
|
||||
description: VFM Virtual Yaw
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_roll:
|
||||
description: VFM Virtual Roll
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_pitch:
|
||||
description: VFM Virtual Pitch
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_x:
|
||||
description: VFM Virtual X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
vfm_y:
|
||||
description: VFM Virtual Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_xu:
|
||||
description: HFM Upstream X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_xd:
|
||||
description: HFM Downstream X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_yuw:
|
||||
description: HFM Upstream Wall Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_yr:
|
||||
description: HFM Ring Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_ydw:
|
||||
description: HFM Downstream Wall Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_bu:
|
||||
description: HFM Upstream Bender
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_bd:
|
||||
description: HFM Downstream Bender
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_yaw:
|
||||
description: HFM Virtual Yaw
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_roll:
|
||||
description: HFM Virtual Roll
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_pitch:
|
||||
description: HFM Virtual Pitch
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_x:
|
||||
description: HFM Virtual X
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
hfm_y:
|
||||
description: HFM Virtual Y
|
||||
deviceClass: ophyd_devices.EpicsMotorEC
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_bpm1:
|
||||
description: BCU BPM Signal 1
|
||||
description: BCU BPM Channel 1
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current1:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -876,7 +1164,7 @@ bcu_bpm1:
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_bpm2:
|
||||
description: BCU BPM Signal 2
|
||||
description: BCU BPM Channel 2
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current2:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -888,7 +1176,7 @@ bcu_bpm2:
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_bpm3:
|
||||
description: BCU BPM Signal 3
|
||||
description: BCU BPM Channel 3
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current3:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -900,7 +1188,7 @@ bcu_bpm3:
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_bpm4:
|
||||
description: BCU BPM Signal 4
|
||||
description: BCU BPM Channel 4
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BCBPM:Current4:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -947,8 +1235,104 @@ bcu_bpm_y:
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_xw:
|
||||
description: BCU Slit Wall
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_xr:
|
||||
description: BCU Slit Ring
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLH:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_xcen:
|
||||
description: BCU Slit X Centre
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLH:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_xsize:
|
||||
description: BCU Slit X Size
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLH:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_yt:
|
||||
description: BCU Slit Top
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_yb:
|
||||
description: BCU Slit Bottom
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLV:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_ycen:
|
||||
description: BCU Slit Y Centre
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLV:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
bcu_sl_ysize:
|
||||
description: BCU Slit Y Size
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BCSLV:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- bcu
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_x:
|
||||
description: sample cam X
|
||||
description: Sample Camera X
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidX_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -960,7 +1344,7 @@ samcam_x:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_xsig:
|
||||
description: sample cam X sigma
|
||||
description: Sample Camera X Sigma
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaX_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -972,7 +1356,7 @@ samcam_xsig:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_y:
|
||||
description: sample cam Y
|
||||
description: Sample Camera Y
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:CentroidY_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -984,7 +1368,7 @@ samcam_y:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_ysig:
|
||||
description: sample cam Y sigma
|
||||
description: Sample Camera Y Sigma
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:SigmaY_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -996,7 +1380,7 @@ samcam_ysig:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_max:
|
||||
description: sample cam max value
|
||||
description: Sample Camera Max
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:Stats5:MaxValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -1008,7 +1392,7 @@ samcam_max:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_exp:
|
||||
description: sample cam exp time
|
||||
description: Sample Camera Exposure
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:AcquireTime', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -1020,7 +1404,7 @@ samcam_exp:
|
||||
softwareTrigger: false
|
||||
|
||||
samcam_gain:
|
||||
description: sample cam gain
|
||||
description: Sample Camera Gain
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-MS:cam1:Gain', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -1032,7 +1416,7 @@ samcam_gain:
|
||||
softwareTrigger: false
|
||||
|
||||
scam_zoom:
|
||||
description: Sample cam zoom
|
||||
description: Sample Camera Zoom
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-MS:ZOOM'}
|
||||
onFailure: buffer
|
||||
@@ -1068,7 +1452,7 @@ diag_z:
|
||||
softwareTrigger: false
|
||||
|
||||
i1:
|
||||
description: i1 diode reading
|
||||
description: I1 Diode
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SCLDI:READOUT', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -1140,7 +1524,7 @@ omega:
|
||||
softwareTrigger: false
|
||||
|
||||
cryo_x:
|
||||
description: Cryojet X
|
||||
description: Cryo X
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-CS:TRX'}
|
||||
onFailure: buffer
|
||||
@@ -1151,6 +1535,18 @@ cryo_x:
|
||||
readOnly: False
|
||||
softwareTrigger: false
|
||||
|
||||
cryo_temp:
|
||||
description: Cryo Temperature
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-CS:TEMP_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: baseline
|
||||
deviceTags:
|
||||
- se
|
||||
readOnly: True
|
||||
softwareTrigger: false
|
||||
|
||||
det_xi_focus:
|
||||
description: X-ray eye 2 Focus
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
@@ -1188,7 +1584,7 @@ det_xi_x:
|
||||
softwareTrigger: false
|
||||
|
||||
i2:
|
||||
description: i2
|
||||
description: I2 Diode
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-XEYEDI:READOUT', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
ss_sl_xw:
|
||||
description: SS slit wall
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSLH:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
@@ -16,7 +16,7 @@ ss_sl_xw:
|
||||
|
||||
bs_z:
|
||||
description: Beamstop Z
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-BS:TRZ'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
@@ -36,7 +36,7 @@ bs_z:
|
||||
|
||||
gon_x:
|
||||
description: Goniometer X
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-DF1:TRX1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
@@ -54,7 +54,7 @@ gon_x:
|
||||
|
||||
diag_y:
|
||||
description: Scintillator/diode Y
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SCL:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
@@ -73,7 +73,7 @@ diag_y:
|
||||
|
||||
coll_y:
|
||||
description: Collimator Y
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceClass: ophyd_devices.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-COL:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
@@ -91,7 +91,7 @@ coll_y:
|
||||
tol: 0.05
|
||||
|
||||
bs_pos:
|
||||
description: Beamstop positioner
|
||||
description: Beamstop Positioner
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BS:POS-SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -107,7 +107,7 @@ bs_pos:
|
||||
out: 0.0
|
||||
|
||||
xrf_pos:
|
||||
description: XRF positioner
|
||||
description: XRF Positioner
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-XRF:POS-SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -123,7 +123,7 @@ xrf_pos:
|
||||
out: 0.0
|
||||
|
||||
cryo_pos:
|
||||
description: Cryo positioner
|
||||
description: Cryo Positioner
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-CS:POS-SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -139,7 +139,7 @@ cryo_pos:
|
||||
out: 0.0
|
||||
|
||||
det_cov:
|
||||
description: Detector cover
|
||||
description: Detector Cover
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-DETCOV:SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -155,7 +155,7 @@ det_cov:
|
||||
'close': 1.0
|
||||
|
||||
bl_bright:
|
||||
description: Backlight brightness
|
||||
description: Backlight Brightness
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BL:SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -173,7 +173,7 @@ bl_bright:
|
||||
|
||||
|
||||
bl_pos:
|
||||
description: Backlight positioner
|
||||
description: Backlight Positioner
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BL:POS-SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
@@ -189,7 +189,7 @@ bl_pos:
|
||||
out: 0.0
|
||||
|
||||
fl_bright:
|
||||
description: Frontlight brightness
|
||||
description: Frontlight Brightness
|
||||
deviceClass: ophyd.EpicsSignal
|
||||
deviceConfig: {read_pv: 'X10SA-ES-FL:SET', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
|
||||
+436
-42
@@ -1,62 +1,456 @@
|
||||
from dataclasses import dataclass, field
|
||||
from enum import Enum
|
||||
from typing import Any, Callable
|
||||
|
||||
from bec_lib.device import Signal, Positioner
|
||||
|
||||
def check():
|
||||
check_devices(tolerance = 0.02)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Status Enum
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
class Status(Enum):
|
||||
OK = 0
|
||||
WARNING = 1
|
||||
ERROR = 2
|
||||
UNKNOWN = 3
|
||||
|
||||
@property
|
||||
def color(self):
|
||||
return {
|
||||
Status.OK: "green",
|
||||
Status.WARNING: "yellow",
|
||||
Status.ERROR: "red",
|
||||
Status.UNKNOWN: "blue",
|
||||
}[self]
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Health Result Object
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
@dataclass
|
||||
class HealthCheckResult:
|
||||
|
||||
name: str
|
||||
description: str
|
||||
status: Status
|
||||
|
||||
value: Any = None
|
||||
|
||||
message: str = ""
|
||||
|
||||
category: str = "general"
|
||||
|
||||
def __str__(self):
|
||||
|
||||
if self.status == Status.OK:
|
||||
return f"[{self.status.name}] {self.description}"
|
||||
|
||||
return (
|
||||
f"[{self.status.name}] "
|
||||
f"{self.description}: {self.message}"
|
||||
)
|
||||
|
||||
def formatted_message(self):
|
||||
if self.status == Status.OK:
|
||||
return f"[{self.status.name} {self.name}]"
|
||||
|
||||
|
||||
def check_devices(tolerance):
|
||||
devices = list(dev.items())
|
||||
for name, obj in devices:
|
||||
return (
|
||||
f"[{self.status.name}] "
|
||||
f"{self.description}: {self.message}"
|
||||
)
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Send to SciLog
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
def send_to_scilog(results):
|
||||
|
||||
msg = bec.messaging.scilog.new()
|
||||
|
||||
for result in results:
|
||||
msg.add_text(
|
||||
result.formatted_message(),
|
||||
# bold=result.status != Status.OK,
|
||||
color = result.status.color
|
||||
)
|
||||
# msg.add_text(result.formatted_message())
|
||||
msg.add_text("\n")
|
||||
msg.add_tags(["beamline health check"])
|
||||
msg.send()
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Configuration
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
@dataclass
|
||||
class BeamlineHealthConfig:
|
||||
|
||||
signal_rules: dict[str, Callable] = field(
|
||||
default_factory=lambda: {
|
||||
"cam": lambda x: x != 0,
|
||||
"bpm": lambda x: x != 0,
|
||||
}
|
||||
)
|
||||
|
||||
motor_tolerances: dict[str, float] = field(
|
||||
default_factory=lambda: {
|
||||
# examples
|
||||
# "mono_theta": 0.001,
|
||||
# "detector_z": 0.1,
|
||||
}
|
||||
)
|
||||
|
||||
default_motor_tolerance: float = 0.02
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Device Collection
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def get_devices():
|
||||
return list(dev.items())
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Signal Checks
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def check_signals(devices, config: BeamlineHealthConfig):
|
||||
|
||||
results = []
|
||||
|
||||
signal_devices = [
|
||||
(name, obj)
|
||||
for name, obj in devices
|
||||
if isinstance(obj, Signal)
|
||||
]
|
||||
|
||||
for name, obj in signal_devices:
|
||||
|
||||
try:
|
||||
data = obj.read()
|
||||
# deal with smargon
|
||||
if "smargon" in name:
|
||||
continue
|
||||
|
||||
actual = data[name]["value"]
|
||||
description = obj.description
|
||||
|
||||
except Exception as e:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=name,
|
||||
status=Status.UNKNOWN,
|
||||
message=f"Failed to read signal: {e}",
|
||||
category="signals",
|
||||
)
|
||||
)
|
||||
|
||||
continue
|
||||
|
||||
matched = False
|
||||
|
||||
for keyword, rule in config.signal_rules.items():
|
||||
|
||||
if keyword in name:
|
||||
|
||||
matched = True
|
||||
|
||||
try:
|
||||
passed = rule(actual)
|
||||
|
||||
except Exception as e:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=name,
|
||||
status=Status.UNKNOWN,
|
||||
value=actual,
|
||||
message=f"Rule evaluation failed: {e}",
|
||||
category="signals",
|
||||
)
|
||||
)
|
||||
|
||||
break
|
||||
|
||||
if passed:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.OK,
|
||||
value=actual,
|
||||
category="signals",
|
||||
)
|
||||
)
|
||||
|
||||
else:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.ERROR,
|
||||
value=actual,
|
||||
message=f"Signal value {actual} failed validation",
|
||||
category="signals",
|
||||
)
|
||||
)
|
||||
break
|
||||
|
||||
if not matched:
|
||||
continue
|
||||
|
||||
return results
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Motor Checks
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def check_motors(devices, config: BeamlineHealthConfig):
|
||||
|
||||
results = []
|
||||
|
||||
motor_devices = [
|
||||
(name, obj)
|
||||
for name, obj in devices
|
||||
if isinstance(obj, Positioner)
|
||||
]
|
||||
|
||||
for name, obj in motor_devices:
|
||||
|
||||
try:
|
||||
|
||||
data = obj.read()
|
||||
|
||||
description = obj.description
|
||||
|
||||
actual = data[name]["value"]
|
||||
|
||||
# If signal and a camera or bpm, check reading is not 0
|
||||
if isinstance(obj, Signal):
|
||||
if 'cam' in name or 'bpm' in name:
|
||||
if actual == 0.0:
|
||||
print(f"{name} is reading 0")
|
||||
error_code = obj.motor_status.get()
|
||||
|
||||
# if signal is a motor, check in position, error, moving
|
||||
if isinstance(obj, Positioner):
|
||||
# Check set position = real position
|
||||
move_state = obj.motor_is_moving.get()
|
||||
|
||||
sp_key = f"{name}_user_setpoint"
|
||||
except Exception as e:
|
||||
|
||||
if sp_key not in data:
|
||||
continue
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=name,
|
||||
status=Status.UNKNOWN,
|
||||
message=f"Failed to read motor: {e}",
|
||||
category="motors",
|
||||
)
|
||||
)
|
||||
|
||||
setpoint = data[sp_key]["value"]
|
||||
continue
|
||||
|
||||
diff = abs(actual - setpoint)
|
||||
inpos = diff <= tolerance
|
||||
if not inpos:
|
||||
print(
|
||||
f"{name}: "
|
||||
# f"actual={actual:.4f}, "
|
||||
# f"setpoint={setpoint:.4f}, "
|
||||
# f"diff={diff:.4f}, "
|
||||
f"in position = {inpos}"
|
||||
# -----------------------------------------------------------
|
||||
# Error state
|
||||
# -----------------------------------------------------------
|
||||
|
||||
if error_code != 0:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.ERROR,
|
||||
value=error_code,
|
||||
message=f"motor error code: {error_code}",
|
||||
category="motors",
|
||||
)
|
||||
)
|
||||
|
||||
continue
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Moving state
|
||||
# -----------------------------------------------------------
|
||||
|
||||
if move_state != 0:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.WARNING,
|
||||
value=move_state,
|
||||
message="motor is currently moving",
|
||||
category="motors",
|
||||
)
|
||||
)
|
||||
|
||||
continue
|
||||
|
||||
# -----------------------------------------------------------
|
||||
# Setpoint comparison
|
||||
# -----------------------------------------------------------
|
||||
|
||||
sp_key = f"{name}_user_setpoint"
|
||||
|
||||
if sp_key in data:
|
||||
|
||||
setpoint = data[sp_key]["value"]
|
||||
|
||||
diff = abs(actual - setpoint)
|
||||
|
||||
tolerance = config.motor_tolerances.get(
|
||||
name,
|
||||
config.default_motor_tolerance,
|
||||
)
|
||||
|
||||
if diff > tolerance:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.WARNING,
|
||||
value=diff,
|
||||
message=(
|
||||
f"Setpoint {setpoint:.5g} differs "
|
||||
f"from readback {actual:.5g} "
|
||||
f"by {diff:.4g}"
|
||||
),
|
||||
category="motors",
|
||||
)
|
||||
# check if motor is in error state
|
||||
error_status = obj.motor_status.get()
|
||||
)
|
||||
|
||||
else:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.OK,
|
||||
value=actual,
|
||||
category="motors",
|
||||
)
|
||||
)
|
||||
|
||||
else:
|
||||
|
||||
results.append(
|
||||
HealthCheckResult(
|
||||
name=name,
|
||||
description=description,
|
||||
status=Status.UNKNOWN,
|
||||
message="No setpoint available",
|
||||
category="motors",
|
||||
)
|
||||
)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Main Check Entry Point
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def check2(config: BeamlineHealthConfig | None = None):
|
||||
if config is None:
|
||||
config = BeamlineHealthConfig()
|
||||
|
||||
devices = get_devices()
|
||||
|
||||
results = []
|
||||
|
||||
results.extend(check_signals(devices, config))
|
||||
|
||||
results.extend(check_motors(devices, config))
|
||||
|
||||
# ---------------------------------------------------------------
|
||||
# Sort by severity
|
||||
# ---------------------------------------------------------------
|
||||
|
||||
results.sort(
|
||||
key=lambda r: r.status.value,
|
||||
)
|
||||
|
||||
return results
|
||||
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Summary Printer
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def print_summary(results):
|
||||
|
||||
n_ok = sum(r.status == Status.OK for r in results)
|
||||
|
||||
n_warn = sum(r.status == Status.WARNING for r in results)
|
||||
|
||||
n_err = sum(r.status == Status.ERROR for r in results)
|
||||
|
||||
n_unknown = sum(r.status == Status.UNKNOWN for r in results)
|
||||
|
||||
print("\n==============================")
|
||||
print(" Beamline Health Summary")
|
||||
print("==============================")
|
||||
print(f"OK : {n_ok}")
|
||||
print(f"WARNING : {n_warn}")
|
||||
print(f"ERROR : {n_err}")
|
||||
print(f"UNKNOWN : {n_unknown}")
|
||||
print("==============================\n")
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# Filter results
|
||||
# -------------------------------------------------------------------
|
||||
def filter_results(results, statuses = None):
|
||||
if statuses is None:
|
||||
return results
|
||||
|
||||
return [
|
||||
r for r in results
|
||||
if r.status in statuses
|
||||
]
|
||||
|
||||
# -------------------------------------------------------------------
|
||||
# CLI Entry Point
|
||||
# -------------------------------------------------------------------
|
||||
|
||||
|
||||
def run_check(show_all= False):
|
||||
|
||||
results = check2()
|
||||
|
||||
print_summary(results)
|
||||
|
||||
problem_results = filter_results(
|
||||
results,
|
||||
statuses={
|
||||
Status.WARNING,
|
||||
Status.ERROR,
|
||||
Status.UNKNOWN,
|
||||
}
|
||||
)
|
||||
# send_to_scilog(problem_results)
|
||||
|
||||
if not show_all:
|
||||
results = filter_results(
|
||||
results,
|
||||
statuses={
|
||||
Status.WARNING,
|
||||
Status.ERROR,
|
||||
Status.UNKNOWN
|
||||
}
|
||||
)
|
||||
for result in results:
|
||||
print(result)
|
||||
|
||||
if error_status != 0:
|
||||
print(f"{name}: error_state = {error_status}")
|
||||
|
||||
# check if motor is moving
|
||||
move_status = obj.motor_is_moving.get()
|
||||
if move_status != 0:
|
||||
print(f"{name} is moving")
|
||||
|
||||
|
||||
except Exception as exc:
|
||||
|
||||
print(f"{name}: ERROR -> {exc}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user