update device configs and checker
CI for pxii_bec / test (push) Successful in 36s

This commit is contained in:
x10sa
2026-05-26 15:46:31 +02:00
parent 7c7c09d42b
commit 19579bc708
5 changed files with 1021 additions and 226 deletions
@@ -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)
+116 -115
View File
@@ -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 name description deviceClass PV readoutPriority tag readOnly include userParameter
2 sls_current SLS current SLS Current SignalRO ARS07-DPCT-0100:CURR monitored SLS yes yes
3 fe_bpm1 FE XBPM Signal 1 FE XBPM Channel 1 SignalRO X10SA-FE-XBPM1:Current1:MeanValue_RBV monitored bpm yes yes
4 fe_bpm2 FE XBPM Signal 2 FE XBPM Channel 2 SignalRO X10SA-FE-XBPM1:Current2:MeanValue_RBV monitored bpm yes yes
5 fe_bpm3 FE XBPM Signal 3 FE XBPM Channel 3 SignalRO X10SA-FE-XBPM1:Current3:MeanValue_RBV monitored bpm yes yes
6 fe_bpm4 FE XBPM Signal 4 FE XBPM Channel 4 SignalRO X10SA-FE-XBPM1:Current4:MeanValue_RBV monitored bpm yes yes
7 fe_bpmsum FE XBPM Summed SignalRO X10SA-FE-XBPM1:SumAll:MeanValue_RBV monitored bpm yes yes
8 fe_bpm_x FE BPM X Motor X10SA-FE-XBPM1:TRX baseline fe no yes
9 fe_bpm_y FE BPM Y Motor X10SA-FE-XBPM1:TRY baseline fe no yes
10 fe_sl_xr FE Slit X Ring MotorEC X10SA-FE-SL1:TRXR baseline fe no yes
11 fe_sl_yt FE Slit Y top FE Slit Y Top MotorEC X10SA-FE-SL1:TRYT baseline fe no yes
12 fe_sl_xw FE Slit X Wall MotorEC X10SA-FE-SL1:TRXW baseline fe no yes
13 fe_sl_yb FE SlitY Bottom FE Slit Y Bottom MotorEC X10SA-FE-SL1:TRYB baseline fe no yes
14 fe_sl_xcen FE Slit X Centre MotorEC X10SA-FE-SL1:CENTERX baseline fe no yes
15 fe_sl_xsize FE Slit X Size MotorEC X10SA-FE-SL1:SIZEX baseline fe no yes
16 fe_sl_ycen FE Slit Y Centre MotorEC X10SA-FE-SL1:CENTERY baseline fe no yes
17 fe_sl_ysize FE Slit Y Size MotorEC X10SA-FE-SL1:SIZEY baseline fe no yes
18 bsf_bpm1 BSF BPM Signal 1 BSF BPM Channel 1 SignalRO X10SA-OP-BSFBPM:SIGNAL1 monitored bpm yes no
19 bsf_bpm2 BSF BPM Signal 2 BSF BPM Channel 2 SignalRO X10SA-OP-BSFBPM:SIGNAL2 monitored bpm yes no
20 bsf_bpm3 BSF BPM Signal 3 BSF BPM Channel 3 SignalRO X10SA-OP-BSFBPM:SIGNAL3 monitored bpm yes no
21 bsf_bpm4 BSF BPM Signal 4 BSF BPM Channel 4 SignalRO X10SA-OP-BSFBPM:SIGNAL4 monitored bpm yes no
22 bsf_bpmsum BSF BPM Summed SignalRO X10SA-OP-BSFBPM:SUM monitored bpm yes no
23 bsf_sl_xw BSF slit outboard BSF Slit Wall MotorEC X10SA-OP-BSFSLH:TRXW baseline bsf no yes
24 bsf_sl_xr BSF slit inboard BSF Slit Ring MotorEC X10SA-OP-BSFSLH:TRXR baseline bsf no yes
25 bsf_sl_yt BSF slit top BSF Slit Top MotorEC X10SA-OP-BSFSLV:TRYT baseline bsf no yes
26 bsf_sl_yb BSF slit bottom BSF Slit Bottom MotorEC X10SA-OP-BSFSLV:TRYB baseline bsf no yes
27 bsf_sl_xcen BSF X centre BSF X Centre MotorEC X10SA-OP-BSFSLH:CENTER baseline bsf no yes
28 bsf_sl_xsize BSF X size BSF X Size MotorEC X10SA-OP-BSFSLH:SIZE baseline bsf no yes
29 bsf_sl_ycen BSF Y centre BSF Y Centre MotorEC X10SA-OP-BSFSLV:CENTER baseline bsf no yes
30 bsf_sl_ysize BSF Y size BSF Y Size MotorEC X10SA-OP-BSFSLV:SIZE baseline bsf no yes
31 bsf_f1_y BSF Filter 1 Y MotorEC X10SA-OP-BSFFI1:TRY baseline bsf no yes
32 bsf_f2_y BSF Filter 2 Y MotorEC X10SA-OP-BSFFI2:TRY baseline bsf no yes
33 dcm_bragg DCM Bragg angle DCM Bragg Angle MotorEC X10SA-OP-DCM:ROTY baseline dcm no yes
34 dcm_x DCM lateral DCM Lateral MotorEC X10SA-OP-DCM:TRX baseline dcm no yes
35 dcm_perp DCM Perp DCM Perpendicular MotorEC X10SA-OP-DCM:TRX-CR2 baseline dcm no yes
36 dcm_pitch DCM 2nd crystal pitch DCM 2nd Crystal Pitch MotorEC X10SA-OP-DCM:ROTY-CR2-PITCH baseline dcm no yes
37 dcm_fpitch DCM 2nd crystal fine pitch DCM 2nd Crystal Fine Pitch MotorEC X10SA-OP-DCM:ROTY-CR2-FINEPITCH baseline dcm no yes
38 dcm_froll DCM 2nd crystal fine roll DCM 2nd Crystal Fine roll MotorEC X10SA-OP-DCM:ROTZ-CR2-FINEROLL baseline dcm no yes
39 lu_bpm1 LU BPM Signal 1 LU BPM Channel 1 SignalRO X10SA-OP-LUBPM:Current1:MeanValue_RBV monitored bpm yes yes
40 lu_bpm2 LU BPM Signal 2 LU BPM Channel 2 SignalRO X10SA-OP-LUBPM:Current2:MeanValue_RBV monitored bpm yes yes
41 lu_bpm3 LU BPM Signal 3 LU BPM Channel 3 SignalRO X10SA-OP-LUBPM:Current3:MeanValue_RBV monitored bpm yes yes
42 lu_bpm4 LU BPM Signal 4 LU BPM Channel 4 SignalRO X10SA-OP-LUBPM:Current4:MeanValue_RBV monitored bpm yes yes
43 lu_bpmsum LU BPM Summed SignalRO X10SA-OP-LUBPM:SumAll:MeanValue_RBV monitored bpm yes yes
44 lu_bpm_x BPM2 X translation BPM2 X Motor X10SA-OP-LUBPM:TRX baseline lu no yes
45 lu_bpm_y BPM2 Y translation BPM2 Y Motor X10SA-OP-LUBPM:TRY baseline lu no yes
46 lu_z1 Lens Z1 Motion Lens Z1 Motor X10SA-OP-LUTRZ1:TRZ baseline lu no yes
47 lu_z2 Lens Z2 Motion Lens Z2 Motor X10SA-OP-LUTRZ2:TRZ baseline lu no yes
48 lu_pod1_x SmarPod1 X Motor X10SA-OP-LUPOD1:TRX1 baseline lu no no
49 lu_lens1_x2 Lenses1 X Motor X10SA-OP-LUPOD1:TRX2 baseline lu no no
50 lu_pod1_y SmarPod1 Y Motor X10SA-OP-LUPOD1:TRY baseline lu no yes
59 lu_pod2_rotx SmarPod2 RX Motor X10SA-OP-LUPOD2:ROTX baseline lu no yes
60 lu_pod2_roty SmarPod2 RY Motor X10SA-OP-LUPOD2:ROTY baseline lu no yes
61 lu_pod2_rotz SmarPod2 RZ Motor X10SA-OP-LUPOD2:ROTZ baseline lu no yes
62 ss_bpm1 SS BPM Signal 1 SS BPM Channel 1 SignalRO X10SA-ES-SSBPM:Current1:MeanValue_RBV monitored bpm yes yes
63 ss_bpm2 SS BPM Signal 2 SS BPM Channel 2 SignalRO X10SA-ES-SSBPM:Current2:MeanValue_RBV monitored bpm yes yes
64 ss_bpm3 SS BPM Signal 3 SS BPM Channel 3 SignalRO X10SA-ES-SSBPM:Current3:MeanValue_RBV monitored bpm yes yes
65 ss_bpm4 SS BPM Signal 4 SS BPM Channel 4 SignalRO X10SA-ES-SSBPM:Current4:MeanValue_RBV monitored bpm yes yes
66 ss_bpmsum SS BPM Summed SignalRO X10SA-ES-SSBPM:SumAll:MeanValue_RBV monitored bpm yes yes
67 ss_bpm_x SS BPM X Motor X10SA-ES-SSBPM:TRX baseline ss no yes
68 ss_bpm_y SS BPM Y Motor X10SA-ES-SSBPM:TRY baseline ss no yes
70 ss_f2_x SS Filter 2 X Motor X10SA-ES-SSFI2:TRX baseline ss no yes
71 ss_f3_x SS Filter 2 X Motor X10SA-ES-SSFI3:TRX baseline ss no yes
72 ss_f4_x SS Filter 4 X Motor X10SA-ES-SSFI4:TRX baseline ss no yes
73 ss_sl_xw SS slit wall SS Slit Wall Motor X10SA-ES-SSSLH:TRXW baseline ss no yes
74 ss_sl_xr SS slit ring SS Slit Ring Motor X10SA-ES-SSSLH:TRXR baseline ss no yes
75 ss_sl_xcen SS slit X centre SS Slit X Centre Motor X10SA-ES-SSSLH:CENTER baseline ss no yes
76 ss_sl_xsize SS slit X size SS Slit X Size Motor X10SA-ES-SSSLH:SIZE baseline ss no yes
77 ss_sl_yt SS slit top SS Slit Top Motor X10SA-ES-SSSLV:TRYT baseline ss no yes
78 ss_sl_yb SS slit bottom SS Slit Bottom Motor X10SA-ES-SSSLV:TRYB baseline ss no yes
79 ss_sl_ycen SS slit Y centre SS Slit Y Centre Motor X10SA-ES-SSSLV:CENTER baseline ss no yes
80 ss_sl_ysize SS slit Y size SS Slit Y Size Motor X10SA-ES-SSSLV:SIZE baseline ss no yes
81 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}
82 ss_xi_y SS X-ray eye Y Motor X10SA-ES-SSXI:TRY baseline ss no yes
83 ss_xicam_x ss cam X SS Camera X SignalRO X10SA-ES-SSXI:cam1:Stats5:CentroidX_RBV baseline ss yes no
84 ss_xicam_y ss cam Y SS Camera Y SignalRO X10SA-ES-SSXI:cam1:Stats5:CentroidY_RBV baseline ss yes no
85 ss_xicam_max ss cam max value SS Cam Max SignalRO X10SA-ES-SSXI:cam1:Stats5:MaxValue_RBV monitored ss yes no
86 ss_xicam_exp ss camera exposure SS Camera Exposure Signal X10SA-ES-SSXI:cam1:AcquireTime baseline ss no no
87 ss_xicam_gain ss camera gain SS Camera Gain Signal X10SA-ES-SSXI:cam1:cam1:Gain baseline ss no no
88 ss_xicam_xsig ss camera x sigma SS Camera X Sigma Signal X10SA-ES-SSXI:cam1:Stats5:SigmaX_RBV baseline ss yes no
89 ss_xicam_ysig ss camera y sigma SS Camera Y Sigma Signal X10SA-ES-SSXI:cam1:Stats5:SigmaY_RBV baseline ss yes no
90 vfm_xu VFM Upstream X MotorEC X10SA-ES-KBV:TRXU X10SA-ES-VFM:TRXU baseline vfm no no yes
91 vfm_xd VFM Downstream X MotorEC X10SA-ES-KBV:TRXD X10SA-ES-VFM:TRXD baseline vfm no no yes
92 vfm_yur VFM Upstream Ring Y MotorEC X10SA-ES-KBV:TRYUR X10SA-ES-VFM:TRYUR baseline vfm no no yes
93 vfm_yw VFM Wall Y MotorEC X10SA-ES-KBV:TRYW X10SA-ES-VFM:TRYW baseline vfm no no yes
94 vfm_ydr VFM Downstream Ring Y MotorEC X10SA-ES-KBV:TRYDR X10SA-ES-VFM:TRYDR baseline vfm no no yes
95 vfm_bu VFM Upstream Bender MotorEC X10SA-ES-KBV:BNDU X10SA-ES-VFM:BNDU baseline vfm no no yes
96 vfm_bd VFM Downstream Bender MotorEC X10SA-ES-KBV:BNDD X10SA-ES-VFM:BNDD baseline vfm no no yes
97 vfm_yaw VFM Virtual Yaw MotorEC X10SA-ES-KBV:YAW X10SA-ES-VFM:YAW baseline vfm no no yes
98 vfm_roll VFM Virtual Roll MotorEC X10SA-ES-KBV:ROLL X10SA-ES-VFM:ROLL baseline vfm no no yes
99 vfm_pitch VFM Virtual Pitch MotorEC X10SA-ES-KBV:PITCH X10SA-ES-VFM:PITCH baseline vfm no no yes
100 vfm_x VFM Virtual X MotorEC X10SA-ES-KBV:TRX X10SA-ES-VFM:TRX baseline vfm no no yes
101 vfm_y VFM Virtual Y MotorEC X10SA-ES-KBV:TRY X10SA-ES-VFM:TRY baseline vfm no no yes
102 hfm_xu HFM Upstream X MotorEC X10SA-ES-KBH:TRXU X10SA-ES-HFM:TRXU baseline hfm no no yes
103 hfm_xd HFM Downstream X MotorEC X10SA-ES-KBH:TRXD X10SA-ES-HFM:TRXD baseline hfm no no yes
104 hfm_yuw HFM Upstream Wall Y MotorEC X10SA-ES-KBH:TRYUW X10SA-ES-HFM:TRYUW baseline hfm no no yes
105 hfm_yr HFM Ring Y MotorEC X10SA-ES-KBH:TRYR X10SA-ES-HFM:TRYR baseline hfm no no yes
106 hfm_ydw HFM Downstream Wall Y MotorEC X10SA-ES-KBH:TRYDW X10SA-ES-HFM:TRYDW baseline hfm no no yes
107 hfm_bu HFM Upstream Bender MotorEC X10SA-ES-KBH:BNDU X10SA-ES-HFM:BNDU baseline hfm no no yes
108 hfm_bd HFM Downstream Bender MotorEC X10SA-ES-KBH:BNDD X10SA-ES-HFM:BNDD baseline hfm no no yes
109 hfm_yaw HFM Virtual Yaw MotorEC X10SA-ES-KBH:YAW X10SA-ES-HFM:YAW baseline hfm no no yes
110 hfm_roll HFM Virtual Roll MotorEC X10SA-ES-KBH:ROLL X10SA-ES-HFM:ROLL baseline hfm no no yes
111 hfm_pitch HFM Virtual Pitch MotorEC X10SA-ES-KBH:PITCH X10SA-ES-HFM:PITCH baseline hfm no no yes
112 hfm_x HFM Virtual X MotorEC X10SA-ES-KBH:TRX X10SA-ES-HFM:TRX baseline hfm no no yes
113 hfm_y HFM Virtual Y MotorEC X10SA-ES-KBH:TRY X10SA-ES-HFM:TRY baseline hfm no no yes
114 bcu_bpm1 BCU BPM Signal 1 BCU BPM Channel 1 SignalRO X10SA-ES-BCBPM:Current1:MeanValue_RBV monitored bpm yes yes
115 bcu_bpm2 BCU BPM Signal 2 BCU BPM Channel 2 SignalRO X10SA-ES-BCBPM:Current2:MeanValue_RBV monitored bpm yes yes
116 bcu_bpm3 BCU BPM Signal 3 BCU BPM Channel 3 SignalRO X10SA-ES-BCBPM:Current3:MeanValue_RBV monitored bpm yes yes
117 bcu_bpm4 BCU BPM Signal 4 BCU BPM Channel 4 SignalRO X10SA-ES-BCBPM:Current4:MeanValue_RBV monitored bpm yes yes
118 bcu_bpmsum BCU BPM Summed SignalRO X10SA-ES-BCBPM:SumAll:MeanValue_RBV monitored bpm yes yes
119 bcu_bpm_x BCU BPM X Motor X10SA-ES-BCBPM:TRX baseline bcu no yes
120 bcu_bpm_y BCU BPM Y Motor X10SA-ES-BCBPM:TRY baseline bcu no yes
121 bcu_sl_xw BCU slit wall BCU Slit Wall Motor X10SA-ES-BCSLH:TRXW baseline bcu no no yes
122 bcu_sl_xr BCU slit ring BCU Slit Ring Motor X10SA-ES-BCSLH:TRXR baseline bcu no no yes
123 bcu_sl_xcen BCU slit X centre BCU Slit X Centre Motor X10SA-ES-BCSLH:CENTER baseline bcu no no yes
124 bcu_sl_xsize BCU slit X size BCU Slit X Size Motor X10SA-ES-BCSLH:SIZEX X10SA-ES-BCSLH:SIZE baseline bcu no no yes
125 bcu_sl_yt BCU slit top BCU Slit Top Motor X10SA-ES-BCSLV:TRYT baseline bcu no no yes
126 bcu_sl_yb BCU slit bottom BCU Slit Bottom Motor X10SA-ES-BCSLV:TRYB baseline bcu no no yes
127 bcu_sl_ycen BCU slit Y centre BCU Slit Y Centre Motor X10SA-ES-BCSLV:CENTER baseline bcu no no yes
128 bcu_sl_ysize BCU slit Y size BCU Slit Y Size Motor X10SA-ES-BCSLV:SIZE baseline bcu no no yes
129 xrf_pos XRF det in/out XRF Positioner Signal X10SA-ES-XRF:POS-SET baseline se no no {"type":positioner}
130 samcam_x sample cam X Sample Camera X SignalRO X10SA-ES-MS:Stats5:CentroidX_RBV baseline scam yes yes
131 samcam_xsig sample cam X sigma Sample Camera X Sigma SignalRO X10SA-ES-MS:Stats5:SigmaX_RBV monitored scam yes yes
132 samcam_y sample cam Y Sample Camera Y SignalRO X10SA-ES-MS:Stats5:CentroidY_RBV baseline scam yes yes
133 samcam_ysig sample cam Y sigma Sample Camera Y Sigma SignalRO X10SA-ES-MS:Stats5:SigmaY_RBV monitored scam yes yes
134 samcam_max sample cam max value Sample Camera Max SignalRO X10SA-ES-MS:Stats5:MaxValue_RBV monitored scam yes yes
135 samcam_exp sample cam exp time Sample Camera Exposure Signal X10SA-ES-MS:cam1:AcquireTime baseline scam no yes
136 samcam_gain sample cam gain Sample Camera Gain Signal X10SA-ES-MS:cam1:Gain baseline scam no yes
137 scam_zoom Sample cam zoom Sample Camera Zoom Motor X10SA-ES-MS:ZOOM baseline scam no yes
138 fl_bright Frontlight brightness Frontlight Brightness Signal X10SA-ES-FL:SET baseline se no no
139 coll_x Collimator X Motor X10SA-ES-COL:TRX baseline se no yes
140 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}
141 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}
142 diag_z Scintillator/diode Z Motor X10SA-ES-SCL:TRZ baseline se no yes
143 i1 i1 diode reading I1 Diode SignalRO X10SA-ES-SCLDI:READOUT monitored bpm yes yes
144 bl_pos Backlight positioner Backlight Positioner Signal X10SA-ES-BL:POS-SET baseline se no no {"type":positioner}
145 bl_bright Backlight brightness Backlight Brightness Signal X10SA-ES-BL:SET baseline se no no
146 bs_x Beamstop X Motor X10SA-ES-BS:TRX baseline se no yes
147 bs_y Beamstop Y Motor X10SA-ES-BS:TRY baseline se no yes
148 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}
149 bs_pos Beamstop positioner Beamstop Positioner Signal X10SA-ES-BS:POS-SET baseline se no no {"type":positioner}
150 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}
151 gon_y Goniometer Y Motor X10SA-ES-DF1:TRY1 baseline det no yes
152 gon_z Goniometer X Motor X10SA-ES-DF1:TRZ1 baseline det no yes
153 omega Omega Motor X10SA-ES-DF1:ROTU baseline det no yes
154 cryo_pos Cryo positioner Signal X10SA-ES-CS:POS-SET baseline se no no {"type":positioner}
155 cryo_x Cryojet X Cryo X Motor X10SA-ES-CS:TRX baseline se no yes
156 det_xi_focus cryo_temp X-ray eye 2 Focus Cryo Temperature Motor Signal X10SA-ES-XEYE:FOCUS X10SA-ES-CS:TEMP_RBV baseline det se no yes yes
157 det_xi_zoom det_xi_focus X-ray eye 2 Zoom X-ray Eye 2 Focus Motor X10SA-ES-XEYE:ZOOM X10SA-ES-XEYE:FOCUS baseline det no yes
158 det_xi_x det_xi_zoom X-ray eye X X-ray Eye 2 Zoom Motor X10SA-ES-XEYE:TRX X10SA-ES-XEYE:ZOOM baseline det no yes
159 i2 det_xi_x i2 X-ray Eye X SignalRO Motor X10SA-ES-XEYEDI:READOUT X10SA-ES-XEYE:TRX monitored baseline bpm det yes no yes
160 det_xicam_x i2 sample cam X I2 Diode SignalRO X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV X10SA-ES-XEYEDI:READOUT baseline monitored scam bpm yes no yes
161 det_xicam_xsig det_xicam_x sample cam X sigma Det Camera X SignalRO X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV X10SA-ES-XEYE:cam1:Stats5:CentroidX_RBV monitored baseline scam yes no
162 det_xicam_y det_xicam_xsig sample cam Y Det Camera X Sigma SignalRO X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV X10SA-ES-XEYE:cam1:Stats5:SigmaX_RBV baseline monitored scam yes no
163 det_xicam_ysig det_xicam_y sample cam Y sigma Det Camera Y SignalRO X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV X10SA-ES-XEYE:cam1:Stats5:CentroidY_RBV monitored baseline scam yes no
164 det_xicam_max det_xicam_ysig sample cam max value Det Camera Y Sigma SignalRO X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV X10SA-ES-XEYE:cam1:Stats5:SigmaY_RBV monitored scam yes no
165 det_xicam_exp det_xicam_max sample cam exp time Det Camera Max Signal SignalRO X10SA-ES-XEYE:cam1:cam1:AcquireTime X10SA-ES-XEYE:cam1:Stats5:MaxValue_RBV baseline monitored scam no yes no
166 det_xicam_gain det_xicam_exp sample cam gain Det Camera Exposure Signal X10SA-ES-XEYE:cam1:cam1:Gain X10SA-ES-XEYE:cam1:cam1:AcquireTime baseline scam no no
167 det_cov det_xicam_gain Detector cover Det Camera Gain Signal X10SA-ES-DETCOV:SET X10SA-ES-XEYE:cam1:cam1:Gain baseline det Sigma no no {"type":positioner}
168 det_cov Detector Cover Signal X10SA-ES-DETCOV:SET baseline det no no {"type":positioner}
169 det_y Detector Y Motor X10SA-ES-DET:TRY baseline det no yes
170 det_z Detector Z Motor X10SA-ES-DET:TRZ baseline det no yes
+452 -56
View File
@@ -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
+12 -12
View File
@@ -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
View File
@@ -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}")