cache wip updates #4
@@ -17,7 +17,9 @@ logger = bec_logger.logger
|
||||
if TYPE_CHECKING:
|
||||
from qtpy.QtWidgets import QPushButton, QLabel, QSpinBox
|
||||
from bec_widgets.widgets.plots.waveform.waveform import Waveform
|
||||
from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import DeviceComboBox
|
||||
from bec_widgets.widgets.control.device_input.device_combobox.device_combobox import (
|
||||
DeviceComboBox,
|
||||
)
|
||||
from bec_widgets.widgets.editors.text_box.text_box import TextBox
|
||||
|
||||
|
||||
@@ -50,132 +52,141 @@ class ScanHistory(BECWidget, QWidget):
|
||||
self.setLayout(layout)
|
||||
|
||||
self.components: ScanHistoryUIComponents = {
|
||||
"waveform" : self.ui.waveform,
|
||||
"metadata_text_box" : self.ui.metadata_text_box,
|
||||
"monitor_label" : self.ui.monitor_label,
|
||||
"monitor_combobox" : self.ui.monitor_combobox,
|
||||
"history_label" : self.ui.history_label,
|
||||
"history_spin_box" : self.ui.history_spin_box,
|
||||
"history_add" : self.ui.history_add,
|
||||
"history_clear" : self.ui.history_clear,
|
||||
"waveform": self.ui.waveform,
|
||||
"metadata_text_box": self.ui.metadata_text_box,
|
||||
"monitor_label": self.ui.monitor_label,
|
||||
"monitor_combobox": self.ui.monitor_combobox,
|
||||
"history_label": self.ui.history_label,
|
||||
"history_spin_box": self.ui.history_spin_box,
|
||||
"history_add": self.ui.history_add,
|
||||
"history_clear": self.ui.history_clear,
|
||||
}
|
||||
|
||||
icon_options = {"size": (16, 16), "convert_to_pixmap": False}
|
||||
|
||||
self.components['monitor_combobox'].apply_filter = False
|
||||
self.components['monitor_combobox'].devices = ['bpm4i', 'bpm3i']
|
||||
self.components["monitor_combobox"].apply_filter = False
|
||||
self.components["monitor_combobox"].devices = ["lu_bpmsum", "ss_bpmsum"]
|
||||
|
||||
self.components['history_spin_box'].setMinimum(-10000)
|
||||
self.components['history_spin_box'].setMaximum(-1)
|
||||
self.components['history_spin_box'].valueChanged.connect(self._scan_history_selected)
|
||||
self.components["history_spin_box"].setMinimum(-10000)
|
||||
self.components["history_spin_box"].setMaximum(-1)
|
||||
self.components["history_spin_box"].valueChanged.connect(self._scan_history_selected)
|
||||
self._scan_history_selected(-1)
|
||||
self.components['history_spin_box'].setValue(-1)
|
||||
self.components['history_add'].setText("Load")
|
||||
self.components['history_add'].setStyleSheet(
|
||||
"background-color: #129490; color: white; font-weight: bold; font-size: 12px;"
|
||||
)
|
||||
|
||||
self.components['history_clear'].setText("Clear")
|
||||
self.components['history_clear'].setStyleSheet(
|
||||
"background-color: #065143; color: white; font-weight: bold; font-size: 12px;"
|
||||
)
|
||||
self.components["history_spin_box"].setValue(-1)
|
||||
self.components["history_add"].setText("Load")
|
||||
self.components["history_add"].setStyleSheet(
|
||||
"background-color: #129490; color: white; font-weight: bold; font-size: 12px;"
|
||||
)
|
||||
|
||||
self.components['history_add'].clicked.connect(self._refresh_plot)
|
||||
self.components['history_clear'].clicked.connect(self.clear_plot)
|
||||
self.components["history_clear"].setText("Clear")
|
||||
self.components["history_clear"].setStyleSheet(
|
||||
"background-color: #065143; color: white; font-weight: bold; font-size: 12px;"
|
||||
)
|
||||
|
||||
self.components["history_add"].clicked.connect(self._refresh_plot)
|
||||
self.components["history_clear"].clicked.connect(self.clear_plot)
|
||||
self.setWindowTitle("Scan History")
|
||||
self._scan_history_selected(-1)
|
||||
|
||||
@SafeSlot()
|
||||
def add_scan_from_history(self) -> None:
|
||||
"""Load selected scan from history."""
|
||||
self.components['history_add'].click()
|
||||
self.components["history_add"].click()
|
||||
|
||||
@SafeSlot()
|
||||
def clear_plot(self) -> None:
|
||||
"""Delete all curves on the plot."""
|
||||
self.components['waveform'].clear_all()
|
||||
self.components["waveform"].clear_all()
|
||||
|
||||
@SafeSlot()
|
||||
def _refresh_plot(self) -> None:
|
||||
"""Refresh plot."""
|
||||
spin_box_value = self.components['history_spin_box'].value()
|
||||
spin_box_value = self.components["history_spin_box"].value()
|
||||
self._check_scan_in_history(spin_box_value)
|
||||
|
||||
# Get the data from the client
|
||||
# Get the data from the client
|
||||
data = self.client.history[spin_box_value]
|
||||
|
||||
# Check that the plot does not already have a curve with the same data
|
||||
scan_number = int(data.metadata.bec['scan_number'])
|
||||
monitor_name = self.components['monitor_combobox'].currentText()
|
||||
scan_number = int(data.metadata.bec["scan_number"])
|
||||
monitor_name = self.components["monitor_combobox"].currentText()
|
||||
# Get signal hints
|
||||
signal_name = getattr(self.client.device_manager.devices, monitor_name)._hints
|
||||
signal_name = signal_name[0] if len(signal_name)>0 else signal_name
|
||||
signal_name = signal_name[0] if len(signal_name) > 0 else signal_name
|
||||
|
||||
curve_label = f"Scan-{scan_number}-{monitor_name}-{signal_name}"
|
||||
if len([curve for curve in self.components['waveform'].curves if curve.config.label == curve_label]):
|
||||
if len(
|
||||
[
|
||||
curve
|
||||
for curve in self.components["waveform"].curves
|
||||
if curve.config.label == curve_label
|
||||
]
|
||||
):
|
||||
return
|
||||
if not hasattr(data.devices, monitor_name):
|
||||
raise ValueError(f"Device {monitor_name} not found in data.")
|
||||
|
||||
|
||||
# Get scan motors and check that the plot x_axis motor is the same as the scan motor, if not, clear the plot
|
||||
scan_motors = [motor.decode() for motor in data.metadata.bec['scan_motors']]
|
||||
x_motor_name = self.components['waveform'].x_mode
|
||||
scan_motors = [motor.decode() for motor in data.metadata.bec["scan_motors"]]
|
||||
x_motor_name = self.components["waveform"].x_mode
|
||||
if x_motor_name not in scan_motors:
|
||||
self.clear_plot()
|
||||
self.components['waveform'].x_mode = x_motor_name = scan_motors[0]
|
||||
self.components["waveform"].x_mode = x_motor_name = scan_motors[0]
|
||||
|
||||
# fetching the data
|
||||
monitor_data = getattr(data.devices, monitor_name).read()[signal_name]['value']
|
||||
motor_data = getattr(data.devices, x_motor_name).read()[x_motor_name]['value']
|
||||
monitor_data = getattr(data.devices, monitor_name).read()[signal_name]["value"]
|
||||
motor_data = getattr(data.devices, x_motor_name).read()[x_motor_name]["value"]
|
||||
|
||||
# Plot custom curve, with custom label
|
||||
self.components['waveform'].plot(x=motor_data, y=monitor_data, label=curve_label)
|
||||
x_label = f"{x_motor_name} / [{getattr(self.client.device_manager.devices, x_motor_name).egu()}]"
|
||||
self.components['waveform'].x_label = x_label
|
||||
self.components["waveform"].plot(x=motor_data, y=monitor_data, label=curve_label)
|
||||
x_label = (
|
||||
f"{x_motor_name} / [{getattr(self.client.device_manager.devices, x_motor_name).egu()}]"
|
||||
)
|
||||
self.components["waveform"].x_label = x_label
|
||||
|
||||
def _check_scan_in_history(self, history_value:int) -> None:
|
||||
def _check_scan_in_history(self, history_value: int) -> None:
|
||||
"""
|
||||
Check if scan is in history.
|
||||
|
||||
|
||||
Args:
|
||||
history_value (int): Value from history -1...-10000
|
||||
"""
|
||||
if len(self.client.history) < abs(history_value):
|
||||
self.components['metadata_text_box'].set_plain_text(f"Scan history does not have the request scan {history_value} of history with length: {len(self.client.history)}")
|
||||
self.components["metadata_text_box"].set_plain_text(
|
||||
f"Scan history does not have the request scan {history_value} of history with length: {len(self.client.history)}"
|
||||
)
|
||||
return
|
||||
|
||||
|
||||
def select_scan_from_history(self, value:int) -> None:
|
||||
"""
|
||||
def select_scan_from_history(self, value: int) -> None:
|
||||
"""
|
||||
Set scan from CLI.
|
||||
|
||||
|
||||
Args:
|
||||
value (int) : value from history -1 ...-10000
|
||||
"""
|
||||
if value >=0:
|
||||
if value >= 0:
|
||||
raise ValueError(f"Value must be smaller or equal -1, provided {value}")
|
||||
self.components['history_spin_box'].setValue(value)
|
||||
self.components["history_spin_box"].setValue(value)
|
||||
|
||||
@SafeSlot(int)
|
||||
def _scan_history_selected(self, spin_box_value:int) -> None:
|
||||
def _scan_history_selected(self, spin_box_value: int) -> None:
|
||||
self._check_scan_in_history(spin_box_value)
|
||||
data = self.client.history[spin_box_value]
|
||||
data.metadata.bec['scan_motors'][0].decode()
|
||||
data.metadata.bec["scan_motors"][0].decode()
|
||||
|
||||
text = str(data)
|
||||
scan_motor_text = "\n" + "Scan Motors: "
|
||||
for motor in data.metadata.bec['scan_motors']:
|
||||
for motor in data.metadata.bec["scan_motors"]:
|
||||
scan_motor_text += f" {motor.decode()}"
|
||||
|
||||
self.components['metadata_text_box'].set_plain_text(text + scan_motor_text)
|
||||
|
||||
self.components["metadata_text_box"].set_plain_text(text + scan_motor_text)
|
||||
|
||||
@SafeSlot(str)
|
||||
def _set_x_axis(self, device_x:str) -> None:
|
||||
self.components['waveform'].x_mode = device_x
|
||||
def _set_x_axis(self, device_x: str) -> None:
|
||||
self.components["waveform"].x_mode = device_x
|
||||
|
||||
@SafeSlot(str)
|
||||
def _plot_new_device(self, device:str) -> None:
|
||||
# if len(curve for curve in self.components["waveform"].curves if curve.config.label == f"{device}-{device}":
|
||||
def _plot_new_device(self, device: str) -> None:
|
||||
# if len(curve for curve in self.components["waveform"].curves if curve.config.label == f"{device}-{device}":
|
||||
self.components["waveform"].plot(device)
|
||||
|
||||
|
||||
|
||||
2125
pxii_bec/device_configs/config_saved.yaml
Normal file
2125
pxii_bec/device_configs/config_saved.yaml
Normal file
File diff suppressed because it is too large
Load Diff
792
pxii_bec/device_configs/device_config.yaml
Normal file
792
pxii_bec/device_configs/device_config.yaml
Normal file
@@ -0,0 +1,792 @@
|
||||
sls_current:
|
||||
description: SLS current
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- SLS
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
ps1_press:
|
||||
description: Photon shutter 1 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-PSH1-VMCC-1010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
abs_press:
|
||||
description: Absorber pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-VMCC-0000:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
lu_bpmsum:
|
||||
description: LU BPM Summed
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LUBPM:SumAll:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bpm
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
ss_bpmsum:
|
||||
description: SS BPM Summed
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SSBPM1:SumAll:MeanValue_RBV', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bpm
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
ps3_press:
|
||||
description: Pumpstand 3 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-PUM3-VMCC-2010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
bsf_press:
|
||||
description: BSF pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-BSF-VMFR-0010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
bb1_press:
|
||||
description: BB1 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-BBU-VMFR-1010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
dcm_press:
|
||||
description: DCM pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-DCM-VMFR-3010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
bb2_press:
|
||||
description: BB2 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-BBD-VMFR-4010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
lu_press:
|
||||
description: LU pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-LU-VMFR-5010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
ps2_press:
|
||||
description: Photon shutter 2 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-OP-PSH1-VMFR-7010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
ss_press:
|
||||
description: SS pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-SS1-VMFR-0010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
kb_press:
|
||||
description: KBV pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-KBV-VMFR-0010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
bcu_press:
|
||||
description: BCU pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-ES-BCU-VMFR-0010:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- press
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
fe_sxr:
|
||||
description: 'FE Slit X Ring'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_syt:
|
||||
description: 'FE Slit Y top'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_sxw:
|
||||
description: 'FE Slit X Wall'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_syb:
|
||||
description: 'FE SlitY Bottom'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_sxcen:
|
||||
description: 'FE Slit X Centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:CENTERX'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_sxsize:
|
||||
description: 'FE Slit X Size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:SIZEX'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_sycen:
|
||||
description: 'FE Slit Y Centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:CENTERY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
fe_sysize:
|
||||
description: 'FE Slit Y Size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-FE-SLDI:SIZEY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xw:
|
||||
description: 'BSF slit outboard'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xr:
|
||||
description: 'BSF slit inboard'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_yt:
|
||||
description: 'BSF slit top'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_yb:
|
||||
description: 'BSF slit bottom'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xcen:
|
||||
description: 'BSF X centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xsize:
|
||||
description: 'BSF X size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_ycen:
|
||||
description: 'BSF Y centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
opf1_y:
|
||||
description: 'BSF Filter 1 Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-FI1:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
opf2_y:
|
||||
description: 'BSF Filter 2 Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-FI2:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
dcm_bragg:
|
||||
description: 'DCM Bragg angle'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- dcm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
dcm_x:
|
||||
description: 'DCM lateral'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- dcm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
dcm_perp:
|
||||
description: 'DCM Perp'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:TRX-C2'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- dcm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
dcm_pitch:
|
||||
description: 'DCM 2nd crystal pitch'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-DCM:ROTY-C2'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- dcm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
ssbpm_x:
|
||||
description: 'SS BPM X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRX1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
ssbpm_y:
|
||||
description: 'SS BPM Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRY1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xw:
|
||||
description: 'SS slit wall'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xr:
|
||||
description: 'SS slit ring'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xcen:
|
||||
description: 'SS slit X centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xsize:
|
||||
description: 'SS slit X size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_yt:
|
||||
description: 'SS slit top'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_yb:
|
||||
description: 'SS slit bottom'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_ycen:
|
||||
description: 'SS slit Y centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_ysize:
|
||||
description: 'SS slit Y size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
xeye_x:
|
||||
description: 'SS X-ray eye X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRX1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
xeye_y:
|
||||
description: 'SS X-ray eye Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRY1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_xu:
|
||||
description: 'VFM Upstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_xd:
|
||||
description: 'VFM Downstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yur:
|
||||
description: 'VFM Upstream Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yw:
|
||||
description: 'VFM Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_ydr:
|
||||
description: 'VFM Downstream Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_bu:
|
||||
description: 'VFM Upstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_bd:
|
||||
description: 'VFM Downstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yaw:
|
||||
description: 'VFM Virtual Yaw'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_roll:
|
||||
description: 'VFM Virtual Roll'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_pitch:
|
||||
description: 'VFM Virtual Pitch'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_lat:
|
||||
description: 'VFM Virtual X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_vert:
|
||||
description: 'VFM Virtual Y '
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_xu:
|
||||
description: 'HFM Upstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_xd:
|
||||
description: 'HFM Downstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yuw:
|
||||
description: 'HFM Upstream Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yr:
|
||||
description: 'HFM Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_ydw:
|
||||
description: 'HFM Downstream Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_bu:
|
||||
description: 'HFM Upstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_bd:
|
||||
description: 'HFM Downstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yaw:
|
||||
description: 'HFM Virtual Yaw'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_roll:
|
||||
description: 'HFM Virtual Roll'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_pitch:
|
||||
description: 'HFM Virtual Pitch'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_lat:
|
||||
description: 'HFM Virtual X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_vert:
|
||||
description: 'HFM Virtual Y '
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
543
pxii_bec/device_configs/device_config.yaml-tst
Normal file
543
pxii_bec/device_configs/device_config.yaml-tst
Normal file
@@ -0,0 +1,543 @@
|
||||
sls_current:
|
||||
description: SLS current
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'ARS07-DPCT-0100:CURR', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- SLS
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
|
||||
gap:
|
||||
description: 'U19 gap'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-UIND:GAP'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- SLS
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
|
||||
ps1_press:
|
||||
description: Pumpstand1 pressure
|
||||
deviceClass: ophyd.EpicsSignalRO
|
||||
deviceConfig: {read_pv: 'X10SA-FE-PUM1-VPIG-1020:PRESSURE', auto_monitor: true}
|
||||
onFailure: buffer
|
||||
enabled: true
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- fe
|
||||
readOnly: true
|
||||
softwareTrigger: false
|
||||
|
||||
#xbpm1_temp:
|
||||
# description: XBPM1 temp
|
||||
# deviceClass: ophyd.EpicsSignalRO
|
||||
# deviceConfig: {read_pv: 'X10SA-FE-XBPM1-ETTC-0010:TEMP', auto_monitor: true}
|
||||
# onFailure: buffer
|
||||
# enabled: true
|
||||
# readoutPriority: monitored
|
||||
# deviceTags:
|
||||
# - fe
|
||||
# readOnly: true
|
||||
# softwareTrigger: false
|
||||
|
||||
s1_xw:
|
||||
description: 'BSF slit outboard'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xr:
|
||||
description: 'BSF slit inboard'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_yt:
|
||||
description: 'BSF slit top'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_yb:
|
||||
description: 'BSF slit bottom'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xcen:
|
||||
description: 'BSF X centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_xsize:
|
||||
description: 'BSF X size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLH:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s1_ycen:
|
||||
description: 'BSF Y centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-SLV:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
opf1_y:
|
||||
description: 'BSF Filter 1 Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-FI1:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
opf2_y:
|
||||
description: 'BSF Filter 2 Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-OP-FI2:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- bsf
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
ssbpm_x:
|
||||
description: 'SS BPM X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRX1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
ssbpm_y:
|
||||
description: 'SS BPM Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSBPM1:TRY1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xw:
|
||||
description: 'SS slit wall'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXW'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xr:
|
||||
description: 'SS slit ring'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:TRXR'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xcen:
|
||||
description: 'SS slit X centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_xsize:
|
||||
description: 'SS slit X size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSH1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_yt:
|
||||
description: 'SS slit top'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYT'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_yb:
|
||||
description: 'SS slit bottom'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:TRYB'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_ycen:
|
||||
description: 'SS slit Y centre'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:CENTER'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
s2_ysize:
|
||||
description: 'SS slit Y size'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSSV1:SIZE'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
xeye_x:
|
||||
description: 'SS X-ray eye X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRX1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
xeye_y:
|
||||
description: 'SS X-ray eye Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-SSXI1:TRY1'}
|
||||
onFailure: buffer
|
||||
enabled: True
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- ss
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_xu:
|
||||
description: 'VFM Upstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_xd:
|
||||
description: 'VFM Downstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yur:
|
||||
description: 'VFM Upstream Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYUR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yw:
|
||||
description: 'VFM Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_ydr:
|
||||
description: 'VFM Downstream Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRYDR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_bu:
|
||||
description: 'VFM Upstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_bd:
|
||||
description: 'VFM Downstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_yaw:
|
||||
description: 'VFM Virtual Yaw'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_roll:
|
||||
description: 'VFM Virtual Roll'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_pitch:
|
||||
description: 'VFM Virtual Pitch'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_lat:
|
||||
description: 'VFM Virtual X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
vfm_vert:
|
||||
description: 'VFM Virtual Y '
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-VFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- vfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_xu:
|
||||
description: 'HFM Upstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_xd:
|
||||
description: 'HFM Downstream X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRXD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yuw:
|
||||
description: 'HFM Upstream Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYUW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yr:
|
||||
description: 'HFM Ring Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYR'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_ydw:
|
||||
description: 'HFM Downstream Wall Y'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRYDW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_bu:
|
||||
description: 'HFM Upstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDU'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_bd:
|
||||
description: 'HFM Downstream Bender'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:BNDD'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_yaw:
|
||||
description: 'HFM Virtual Yaw'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:YAW'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_roll:
|
||||
description: 'HFM Virtual Roll'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:ROLL'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_pitch:
|
||||
description: 'HFM Virtual Pitch'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:PITCH'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_lat:
|
||||
description: 'HFM Virtual X'
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRX'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
hfm_vert:
|
||||
description: 'HFM Virtual Y '
|
||||
deviceClass: ophyd.EpicsMotor
|
||||
deviceConfig: {prefix: 'X10SA-ES-HFM:TRY'}
|
||||
onFailure: buffer
|
||||
enabled: False
|
||||
readoutPriority: monitored
|
||||
deviceTags:
|
||||
- hfm
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
@@ -0,0 +1,150 @@
|
||||
Checking sls_current...
|
||||
OK
|
||||
Checking ps1_press...
|
||||
OK
|
||||
Checking abs_press...
|
||||
OK
|
||||
Checking lu_bpmsum...
|
||||
OK
|
||||
Checking ss_bpmsum...
|
||||
OK
|
||||
Checking ps3_press...
|
||||
OK
|
||||
Checking bsf_press...
|
||||
OK
|
||||
Checking bb1_press...
|
||||
OK
|
||||
Checking dcm_press...
|
||||
OK
|
||||
Checking bb2_press...
|
||||
OK
|
||||
Checking lu_press...
|
||||
OK
|
||||
Checking ps2_press...
|
||||
OK
|
||||
Checking ss_press...
|
||||
OK
|
||||
Checking kb_press...
|
||||
OK
|
||||
Checking bcu_press...
|
||||
OK
|
||||
Checking fe_sxr...
|
||||
OK
|
||||
Checking fe_syt...
|
||||
OK
|
||||
Checking fe_sxw...
|
||||
OK
|
||||
Checking fe_syb...
|
||||
OK
|
||||
Checking fe_sxcen...
|
||||
OK
|
||||
Checking fe_sxsize...
|
||||
OK
|
||||
Checking fe_sycen...
|
||||
OK
|
||||
Checking fe_sysize...
|
||||
OK
|
||||
Checking s1_xw...
|
||||
OK
|
||||
Checking s1_xr...
|
||||
OK
|
||||
Checking s1_yt...
|
||||
OK
|
||||
Checking s1_yb...
|
||||
OK
|
||||
Checking s1_xcen...
|
||||
OK
|
||||
Checking s1_xsize...
|
||||
OK
|
||||
Checking s1_ycen...
|
||||
OK
|
||||
Checking opf1_y...
|
||||
OK
|
||||
Checking opf2_y...
|
||||
OK
|
||||
Checking dcm_bragg...
|
||||
OK
|
||||
Checking dcm_x...
|
||||
OK
|
||||
Checking dcm_perp...
|
||||
OK
|
||||
Checking dcm_pitch...
|
||||
OK
|
||||
Checking ssbpm_x...
|
||||
OK
|
||||
Checking ssbpm_y...
|
||||
OK
|
||||
Checking s2_xw...
|
||||
OK
|
||||
Checking s2_xr...
|
||||
OK
|
||||
Checking s2_xcen...
|
||||
OK
|
||||
Checking s2_xsize...
|
||||
OK
|
||||
Checking s2_yt...
|
||||
OK
|
||||
Checking s2_yb...
|
||||
OK
|
||||
Checking s2_ycen...
|
||||
OK
|
||||
Checking s2_ysize...
|
||||
OK
|
||||
Checking xeye_x...
|
||||
OK
|
||||
Checking xeye_y...
|
||||
OK
|
||||
Checking vfm_xu...
|
||||
OK
|
||||
Checking vfm_xd...
|
||||
OK
|
||||
Checking vfm_yur...
|
||||
OK
|
||||
Checking vfm_yw...
|
||||
OK
|
||||
Checking vfm_ydr...
|
||||
OK
|
||||
Checking vfm_bu...
|
||||
OK
|
||||
Checking vfm_bd...
|
||||
OK
|
||||
Checking vfm_yaw...
|
||||
OK
|
||||
Checking vfm_roll...
|
||||
OK
|
||||
Checking vfm_pitch...
|
||||
OK
|
||||
Checking vfm_lat...
|
||||
OK
|
||||
Checking vfm_vert...
|
||||
OK
|
||||
Checking hfm_xu...
|
||||
OK
|
||||
Checking hfm_xd...
|
||||
OK
|
||||
Checking hfm_yuw...
|
||||
OK
|
||||
Checking hfm_yr...
|
||||
OK
|
||||
Checking hfm_ydw...
|
||||
OK
|
||||
Checking hfm_bu...
|
||||
OK
|
||||
Checking hfm_bd...
|
||||
OK
|
||||
Checking hfm_yaw...
|
||||
OK
|
||||
Checking hfm_roll...
|
||||
OK
|
||||
Checking hfm_pitch...
|
||||
OK
|
||||
Checking hfm_lat...
|
||||
OK
|
||||
Checking hfm_vert...
|
||||
OK
|
||||
|
||||
|
||||
|
||||
========================================
|
||||
Summary:
|
||||
All devices passed the test.
|
||||
@@ -0,0 +1,118 @@
|
||||
Checking sls_current...
|
||||
OK
|
||||
Checking ps1_press...
|
||||
OK
|
||||
Checking fes_press...
|
||||
OK
|
||||
Checking fe_sxr...
|
||||
OK
|
||||
Checking fe_syt...
|
||||
OK
|
||||
Checking fe_sxw...
|
||||
OK
|
||||
Checking fe_syb...
|
||||
OK
|
||||
Checking fe_sxcen...
|
||||
OK
|
||||
Checking fe_sxsize...
|
||||
OK
|
||||
Checking fe_sycen...
|
||||
OK
|
||||
Checking fe_sysize...
|
||||
OK
|
||||
Checking s1_xw...
|
||||
OK
|
||||
Checking s1_xr...
|
||||
OK
|
||||
Checking s1_yt...
|
||||
OK
|
||||
Checking s1_yb...
|
||||
OK
|
||||
Checking s1_xcen...
|
||||
OK
|
||||
Checking s1_xsize...
|
||||
OK
|
||||
Checking s1_ycen...
|
||||
OK
|
||||
Checking opf1_y...
|
||||
OK
|
||||
Checking opf2_y...
|
||||
OK
|
||||
Checking ssbpm_x...
|
||||
OK
|
||||
Checking ssbpm_y...
|
||||
OK
|
||||
Checking s2_xw...
|
||||
OK
|
||||
Checking s2_xr...
|
||||
OK
|
||||
Checking s2_xcen...
|
||||
OK
|
||||
Checking s2_xsize...
|
||||
OK
|
||||
Checking s2_yt...
|
||||
OK
|
||||
Checking s2_yb...
|
||||
OK
|
||||
Checking s2_ycen...
|
||||
OK
|
||||
Checking s2_ysize...
|
||||
OK
|
||||
Checking xeye_x...
|
||||
OK
|
||||
Checking xeye_y...
|
||||
OK
|
||||
Checking vfm_xu...
|
||||
OK
|
||||
Checking vfm_xd...
|
||||
OK
|
||||
Checking vfm_yur...
|
||||
OK
|
||||
Checking vfm_yw...
|
||||
OK
|
||||
Checking vfm_ydr...
|
||||
OK
|
||||
Checking vfm_bu...
|
||||
OK
|
||||
Checking vfm_bd...
|
||||
OK
|
||||
Checking vfm_yaw...
|
||||
OK
|
||||
Checking vfm_roll...
|
||||
OK
|
||||
Checking vfm_pitch...
|
||||
OK
|
||||
Checking vfm_lat...
|
||||
OK
|
||||
Checking vfm_vert...
|
||||
OK
|
||||
Checking hfm_xu...
|
||||
OK
|
||||
Checking hfm_xd...
|
||||
OK
|
||||
Checking hfm_yuw...
|
||||
OK
|
||||
Checking hfm_yr...
|
||||
OK
|
||||
Checking hfm_ydw...
|
||||
OK
|
||||
Checking hfm_bu...
|
||||
OK
|
||||
Checking hfm_bd...
|
||||
OK
|
||||
Checking hfm_yaw...
|
||||
OK
|
||||
Checking hfm_roll...
|
||||
OK
|
||||
Checking hfm_pitch...
|
||||
OK
|
||||
Checking hfm_lat...
|
||||
OK
|
||||
Checking hfm_vert...
|
||||
OK
|
||||
|
||||
|
||||
|
||||
========================================
|
||||
Summary:
|
||||
All devices passed the test.
|
||||
13
pxii_bec/device_configs/x10sa_device_config.yaml
Normal file
13
pxii_bec/device_configs/x10sa_device_config.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
base_config:
|
||||
- !include ./device_config.yaml
|
||||
|
||||
id_gap:
|
||||
readoutPriority: baseline
|
||||
description: undulator gap
|
||||
deviceClass: pxii_bec.devices.undulator.UndulatorGap
|
||||
deviceConfig:
|
||||
prefix: 'X10SA-UIND:'
|
||||
onFailure: buffer
|
||||
enabled: true
|
||||
readOnly: false
|
||||
softwareTrigger: false
|
||||
58
pxii_bec/devices/undulator.py
Normal file
58
pxii_bec/devices/undulator.py
Normal file
@@ -0,0 +1,58 @@
|
||||
from ophyd.device import Component as Cpt
|
||||
from ophyd.status import MoveStatus
|
||||
from ophyd import EpicsSignal, EpicsSignalRO, PVPositioner
|
||||
|
||||
class UndulatorGap(PVPositioner):
|
||||
"""
|
||||
SLS Undulator gap control
|
||||
"""
|
||||
|
||||
setpoint = Cpt(EpicsSignal, suffix="GAP-SP")
|
||||
readback = Cpt(EpicsSignal, suffix="GAP-RBV", kind="hinted", auto_monitor=True)
|
||||
|
||||
stop_signal = Cpt(EpicsSignal, suffix="STOP")
|
||||
done = Cpt(EpicsSignal, suffix="DONE", auto_monitor=True)
|
||||
|
||||
select_control = Cpt(EpicsSignalRO, suffix="SCTRL", auto_monitor=True)
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
prefix="",
|
||||
*,
|
||||
limits=None,
|
||||
name=None,
|
||||
read_attrs=None,
|
||||
configuration_attrs=None,
|
||||
parent=None,
|
||||
egu="",
|
||||
**kwargs,
|
||||
):
|
||||
super().__init__(
|
||||
prefix=prefix,
|
||||
limits=limits,
|
||||
name=name,
|
||||
read_attrs=read_attrs,
|
||||
configuration_attrs=configuration_attrs,
|
||||
parent=parent,
|
||||
egu=egu,
|
||||
**kwargs,
|
||||
)
|
||||
# Make the default alias for the user_readback the name of the
|
||||
# motor itself.
|
||||
self.readback.name = self.name
|
||||
|
||||
def move(self, position, wait=True, timeout=None, moved_cb=None):
|
||||
|
||||
# If it is operator controlled, undulator will not move.
|
||||
if self.select_control.get() == 0:
|
||||
raise Exception("Undulator is operator controlled!")
|
||||
|
||||
# If it is already there, undulator will not move. The done flag
|
||||
# will not change, the moving change callback will not be called.
|
||||
# The status will not change.
|
||||
if abs(position - self._position) < 0.0008:
|
||||
status = MoveStatus(self, position, done=True, success=True)
|
||||
return status
|
||||
|
||||
return super().move(position, wait=wait, timeout=timeout, moved_cb=moved_cb)
|
||||
|
||||
Reference in New Issue
Block a user