diff --git a/csaxs_bec/devices/epics/delay_generator_csaxs.py b/csaxs_bec/devices/epics/delay_generator_csaxs.py index 87a6035..af1cbd1 100644 --- a/csaxs_bec/devices/epics/delay_generator_csaxs.py +++ b/csaxs_bec/devices/epics/delay_generator_csaxs.py @@ -4,6 +4,7 @@ from bec_lib import bec_logger from bec_lib.devicemanager import ScanInfo from ophyd.status import DeviceStatus, StatusBase, SubscriptionStatus +from csaxs_bec.devices.jungfraujoch.readout_constants import EIGER9M_READOUT_TIME from ophyd_devices.devices.delay_generator_645 import DelayGenerator, TriggerSource from ophyd_devices.interfaces.base_classes.psi_device_base import PSIDeviceBase @@ -37,7 +38,7 @@ class DelayGeneratorcSAXS(PSIDeviceBase, DelayGenerator): # Readout time of detectors, will be subtracted from exp_time # TBD should this behave like this or should it be added to the exp_time? - READOUT_TIME = [20e-6, 20e-6, 20e-6, 20e-6, 20e-6] + READOUT_TIME = [1e-3, EIGER9M_READOUT_TIME, 1e-3, 1e-3, 1e-3] # TO, AB, CD, EF, GH def __init__( self, @@ -100,7 +101,8 @@ class DelayGeneratorcSAXS(PSIDeviceBase, DelayGenerator): exp_time = self.scan_info.msg.scan_parameters["exp_time"] bursts = self.scan_info.msg.scan_parameters["frames_per_trigger"] self.burst_enable(count=bursts, delay=0, period=exp_time, config="first") - self.set_channels("width", (-1 * self.READOUT_TIME + exp_time)) + widths = [exp_time - readout for readout in self.READOUT_TIME] + self.set_channels("width", widths) self.set_channels("delay", 0) return elif self.scan_info.msg.scan_type == "fly": diff --git a/csaxs_bec/devices/jungfraujoch/readout_constants.py b/csaxs_bec/devices/jungfraujoch/readout_constants.py new file mode 100644 index 0000000..b8722c5 --- /dev/null +++ b/csaxs_bec/devices/jungfraujoch/readout_constants.py @@ -0,0 +1,3 @@ +"""Readout constants for all relevant detectors at cSAXS beamline.""" + +EIGER9M_READOUT_TIME = 1e-3 # s