diff --git a/superxas_bec/device_configs/x10da_config_falcon_test.yaml b/superxas_bec/device_configs/x10da_config_falcon_test.yaml index 1118cc9..efacbb5 100644 --- a/superxas_bec/device_configs/x10da_config_falcon_test.yaml +++ b/superxas_bec/device_configs/x10da_config_falcon_test.yaml @@ -1,11 +1,11 @@ falcon: description: Falcon Sitoro detector - deviceClass: superxas_bec.devices.falcon.FalconSuperXAS + deviceClass: superxas_bec.devices.falcon_slim.FalconSuperXASSlim deviceConfig: prefix: 'X10DA-SITORO:' enabled: true onFailure: raise - readoutPriority: async + readoutPriority: monitored softwareTrigger: false manip_new_trx: description: Old Sample Manipulator X-Translation @@ -52,3 +52,12 @@ trigger: onFailure: raise readoutPriority: baseline softwareTrigger: true +kb_slit_y: + readoutPriority: baseline + description: KB slit axis Y + deviceClass: ophyd.EpicsMotor + deviceConfig: + prefix: X10DA-ES1-SV1:OPENY + onFailure: retry + enabled: true + softwareTrigger: false diff --git a/superxas_bec/devices/falcon_slim.py b/superxas_bec/devices/falcon_slim.py index ef597d3..2045eac 100644 --- a/superxas_bec/devices/falcon_slim.py +++ b/superxas_bec/devices/falcon_slim.py @@ -3,7 +3,7 @@ import enum import numpy as np from bec_lib.logger import bec_logger from ophyd import Component as Cpt -from ophyd import Device, EpicsSignal, EpicsSignalRO, EpicsSignalWithRBV, Kind, Signal +from ophyd import Device, EpicsSignal, EpicsSignalRO, Kind, Signal from ophyd_devices import CompareStatus, DeviceStatus, PreviewSignal, StatusBase from ophyd_devices.interfaces.base_classes.psi_device_base import PSIDeviceBase @@ -20,15 +20,15 @@ class FalconAcquiringStatus(int, enum.Enum): class FalconControlSlim(Device): """Slim Falcon Control class for SuperXAS. prefix: 'X10DA-SITORO:'""" - start = Cpt(EpicsSignal, "EraseStart", doc="XMAP start signal") - stop = Cpt(EpicsSignal, "StopAll", doc="XMAP stop signal") - acquiring = Cpt(EpicsSignalRO, "Acquiring", auto_monitor=True, doc="XMAP acquiring signal") - icr = Cpt(EpicsSignalRO, "dxp1:InputCountRate", doc="XMAP input count rate") - ocr = Cpt(EpicsSignalRO, "dxp1:OutputCountRate", doc="XMAP output count rate") - ert = Cpt(EpicsSignalRO, "mca1.ERTM", doc="XMAP elapsed real time") - roi = Cpt(EpicsSignalRO, "mca1.R0", kind=Kind.hinted, doc="XMAP ROI signal") - label = Cpt(EpicsSignalRO, "mca1.R0NM", kind=Kind.config, doc="XMAP ROI signal") - spectrum_val = Cpt(EpicsSignalRO, "mca1.VAL", kind=Kind.omitted) + erase_start:EpicsSignal = Cpt(EpicsSignal, "EraseStart", kind=Kind.omitted, doc="XMAP start signal") + stop_all:EpicsSignal = Cpt(EpicsSignal, "StopAll", kind=Kind.omitted,doc="XMAP stop signal") + acquiring:EpicsSignalRO = Cpt(EpicsSignalRO, "Acquiring", kind=Kind.omitted, auto_monitor=True, doc="XMAP acquiring signal") + icr:EpicsSignalRO = Cpt(EpicsSignalRO, "dxp1:InputCountRate", doc="XMAP input count rate") + ocr:EpicsSignalRO = Cpt(EpicsSignalRO, "dxp1:OutputCountRate", doc="XMAP output count rate") + ert:EpicsSignalRO = Cpt(EpicsSignalRO, "mca1.ERTM", doc="XMAP elapsed real time") + roi:EpicsSignalRO = Cpt(EpicsSignalRO, "mca1.R0", kind=Kind.hinted, doc="XMAP ROI signal") + label:EpicsSignalRO = Cpt(EpicsSignalRO, "mca1.R0NM", kind=Kind.config, doc="XMAP ROI signal") + spectrum_val:EpicsSignalRO = Cpt(EpicsSignalRO, "mca1.VAL", kind=Kind.omitted) # Preview Signal for Falcon detector spectrum = Cpt( @@ -36,11 +36,11 @@ class FalconControlSlim(Device): ) # Configuration attributes - collect_mode = Cpt(EpicsSignal, "CollectMode", doc="Collect mode signal") - preset_real_time = Cpt(EpicsSignalWithRBV, "PresetRealTime", doc="Preset real time signal") + collect_mode:EpicsSignal = Cpt(EpicsSignal, "CollectMode", doc="Collect mode signal") + preset_real:EpicsSignal = Cpt(EpicsSignal, "PresetReal", doc="Preset real time signal") # Computed signal for dead time corrected counts - dead_cor_roi0_count = Cpt(Signal, "dead_cor_roi0_count", doc="Dead time corrected ROI 0 count") + dead_cor_roi0_count = Cpt(Signal, name="dead_cor_roi0_count", doc="Dead time corrected ROI 0 count") def compute_dead_time_corrected_signal(icr: float, ocr: float, roi: float, ert: float): @@ -106,7 +106,7 @@ class FalconSuperXASSlim(PSIDeviceBase, FalconControlSlim): status.wait(timeout=self._pv_timeout) self.collect_mode.set(0).wait(timeout=self._pv_timeout) - self.preset_real_time.set(0).wait(timeout=self._pv_timeout) + self.preset_real.set(0).wait(timeout=self._pv_timeout) def on_unstage(self) -> DeviceStatus | StatusBase | None: """Called while unstaging the device.""" diff --git a/superxas_bec/devices/trigger.py b/superxas_bec/devices/trigger.py index 1240857..390c39f 100644 --- a/superxas_bec/devices/trigger.py +++ b/superxas_bec/devices/trigger.py @@ -146,7 +146,7 @@ class Trigger(PSIDeviceBase, TriggerControl): falcon.stop_all.put(1) status.wait(timeout=self._pv_timeout) time.sleep(0.4) # Simulate some processing time - falcon.update_data() + falcon.obj.update_data() return status_smpl def on_complete(self) -> DeviceStatus | StatusBase | None: