diff --git a/pxii_bec/bec_widgets/widgets/scan_history/scan_history.py b/pxii_bec/bec_widgets/widgets/scan_history/scan_history.py index bbaabb2..8f100df 100644 --- a/pxii_bec/bec_widgets/widgets/scan_history/scan_history.py +++ b/pxii_bec/bec_widgets/widgets/scan_history/scan_history.py @@ -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) diff --git a/pxii_bec/device_configs/config_saved.yaml b/pxii_bec/device_configs/config_saved.yaml new file mode 100644 index 0000000..ea6c9da --- /dev/null +++ b/pxii_bec/device_configs/config_saved.yaml @@ -0,0 +1,2125 @@ +aptrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +aptry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bim2x: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bim2y: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm1trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm1try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm2trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm2try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm3trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm3try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm4trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm4try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm5trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm5try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm6trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bm6try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bpm3a: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3b: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3c: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3d: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3i: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3x: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3y: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm3z: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4a: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4b: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4c: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4d: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4i: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4r: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bpm4s: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4x: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4xf: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4xm: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4y: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4yf: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4ym: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm4z: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5a: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5b: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5c: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5d: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5i: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5r: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bpm5x: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5y: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm5z: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6a: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6b: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6c: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6d: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6i: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6x: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6y: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bpm6z: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +bs1x: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bs1y: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bs2x: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +bs2y: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +burstn: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +burstr: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +curr: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ddg1a: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1b: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1c: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1d: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1e: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1f: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1g: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ddg1h: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dettrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +di2trx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +di2try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +diode: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +dtpush: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dtth: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dttrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dttry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dttrz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +dyn_signals: + deviceClass: ophyd_devices.sim.sim.SynDynamicComponents + deviceConfig: {} + enabled: true + readOnly: false + readoutPriority: baseline +ebcsx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebcsy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfi1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfi2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfi3: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfi4: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfzpx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebfzpy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebpmdx: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ebpmdy: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ebpmux: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ebpmuy: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ebtrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebtry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ebtrz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +eiger: + deviceClass: ophyd_devices.SimCamera + deviceConfig: + device_access: true + deviceTags: + - detector + enabled: true + readOnly: false + readoutPriority: async + softwareTrigger: true +eyefoc: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +eyex: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +eyey: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +fi1try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fi2try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fi3try: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +flyer_sim: + deviceClass: ophyd_devices.SynFlyer + deviceConfig: + delay: 1 + device_access: true + update_frequency: 400 + deviceTags: + - flyer + enabled: true + readOnly: false + readoutPriority: on_request +fsh1x: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fsh2x: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +ftp: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +ftrans: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fttrx1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fttrx2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fttry1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fttry2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +fttrz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +hexapod: + deviceClass: ophyd_devices.SynDeviceOPAAS + deviceConfig: {} + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hrox: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hroy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hroz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +hz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +idgap: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mbsx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +mbsy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +mibd: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mibd1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mibd2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +miroll: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mith: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mitrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mitry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mitry1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mitry2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mitry3: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mobd: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mobdai: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mobdbo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mobdco: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mobddi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mokev: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +monitor_async: + deviceClass: ophyd_devices.sim.sim_monitor.SimMonitorAsync + deviceConfig: + sim_init: + model: GaussianModel + params: + amplitude: 500 + center: 0 + sigma: 1 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: async + softwareTrigger: true +mopush1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +mopush2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moroll1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moroll2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moth1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moth1e: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moth2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moth2e: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +motrx2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +motry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +motry2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +motrz1: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +motrz1e: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +moyaw2: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +pinx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +piny: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +pinz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +pseudo_signal1: + deviceClass: ophyd_devices.ComputedSignal + deviceConfig: + compute_method: "def compute_signals(signal1, signal2):\n return signal1.get()*signal2.get()\n" + input_signals: + - bpm4i + - bpm5i + enabled: true + readOnly: false + readoutPriority: baseline +ring_current_sim: + deviceClass: ophyd_devices.ReadOnlySignal + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +rt_controller: + deviceClass: ophyd_devices.sim.SimPositionerWithController + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + - test device + enabled: true + readOnly: false + readoutPriority: baseline +samx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +samy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +samz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + limits: + - -50 + - 50 + tolerance: 0.01 + update_frequency: 400 + deviceTags: + - user motors + enabled: true + readOnly: false + readoutPriority: baseline +sl0ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl0trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl0trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl0wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1cv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1tryb: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1tryt: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl1wv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2cv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2tryb: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2tryt: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl2wv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3cv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3tryb: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3tryt: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl3wv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4cv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4tryb: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4tryt: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl4wv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5ch: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5cv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5trxi: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5trxo: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5tryb: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5tryt: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5wh: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sl5wv: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +strox: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +stroy: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +stroz: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sttrx: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +sttry: + deviceClass: ophyd_devices.SimPositioner + deviceConfig: + delay: 1 + update_frequency: 400 + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: baseline +temp: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +transd: + deviceClass: ophyd_devices.SimMonitor + deviceConfig: {} + deviceTags: + - beamline + enabled: true + readOnly: false + readoutPriority: monitored +waveform: + deviceClass: ophyd_devices.SimWaveform + deviceConfig: + sim_init: + model: GaussianModel + params: + amplitude: 100 + center: 500 + sigma: 50 + waveform_shape: 1000 + deviceTags: + - detector + enabled: true + readOnly: false + readoutPriority: async + softwareTrigger: true diff --git a/pxii_bec/device_configs/device_config.yaml b/pxii_bec/device_configs/device_config.yaml new file mode 100644 index 0000000..7926fec --- /dev/null +++ b/pxii_bec/device_configs/device_config.yaml @@ -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 diff --git a/pxii_bec/device_configs/device_config.yaml-tst b/pxii_bec/device_configs/device_config.yaml-tst new file mode 100644 index 0000000..78713b3 --- /dev/null +++ b/pxii_bec/device_configs/device_config.yaml-tst @@ -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 diff --git a/pxii_bec/device_configs/device_test_reports/report_device_config.txt b/pxii_bec/device_configs/device_test_reports/report_device_config.txt new file mode 100644 index 0000000..f426b47 --- /dev/null +++ b/pxii_bec/device_configs/device_test_reports/report_device_config.txt @@ -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. diff --git a/pxii_bec/device_configs/device_test_reports/report_x10sa_device_config.txt b/pxii_bec/device_configs/device_test_reports/report_x10sa_device_config.txt new file mode 100644 index 0000000..e5e5795 --- /dev/null +++ b/pxii_bec/device_configs/device_test_reports/report_x10sa_device_config.txt @@ -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. diff --git a/pxii_bec/device_configs/x10sa_device_config.yaml b/pxii_bec/device_configs/x10sa_device_config.yaml new file mode 100644 index 0000000..d28a1af --- /dev/null +++ b/pxii_bec/device_configs/x10sa_device_config.yaml @@ -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 diff --git a/pxii_bec/devices/undulator.py b/pxii_bec/devices/undulator.py new file mode 100644 index 0000000..c1416f8 --- /dev/null +++ b/pxii_bec/devices/undulator.py @@ -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) +