diff --git a/debye_bec/devices/mo1_bragg.py b/debye_bec/devices/mo1_bragg.py index 8818458..639743d 100644 --- a/debye_bec/devices/mo1_bragg.py +++ b/debye_bec/devices/mo1_bragg.py @@ -167,6 +167,31 @@ class Mo1BraggScanSettings(Device): a_scan_vel = Cpt(EpicsSignalWithRBV, suffix="a_scan_vel", kind="config", auto_monitor=True) a_scan_time = Cpt(EpicsSignalWithRBV, suffix="a_scan_time", kind="config", auto_monitor=True) +class Mo1TriggerSettings(Device): + """Mo1 Trigger settings""" + settle_time = Cpt(EpicsSignalWithRBV, suffix="settle_time", kind="config") + max_dev = Cpt(EpicsSignalWithRBV, suffix="max_dev", kind="config") + + xrd_trig_src_enum = Cpt(EpicsSignalWithRBV, suffix="xrd_trig_src_ENUM", kind="config") + xrd_trig_mode_enum = Cpt(EpicsSignalWithRBV, suffix="xrd_trig_mode_ENUM", kind="config") + xrd_trig_len = Cpt(EpicsSignalWithRBV, suffix="xrd_trig_len", kind="config") + xrd_trig_req = Cpt(EpicsSignal, suffix="xrd_trig_req", kind="config") + + falcon_trig_src_enum = Cpt(EpicsSignalWithRBV, suffix="falcon_trig_src_ENUM", kind="config") + falcon_trig_mode_enum = Cpt(EpicsSignalWithRBV, suffix="falcon_trig_mode_ENUM", kind="config") + falcon_trig_len = Cpt(EpicsSignalWithRBV, suffix="falcon_trig_len", kind="config") + falcon_trig_req = Cpt(EpicsSignal, suffix="falcon_trig_req", kind="config") + + univ1_trig_src_enum = Cpt(EpicsSignalWithRBV, suffix="univ1_trig_src_ENUM", kind="config") + univ1_trig_mode_enum = Cpt(EpicsSignalWithRBV, suffix="univ1_trig_mode_ENUM", kind="config") + univ1_trig_len = Cpt(EpicsSignalWithRBV, suffix="univ1_trig_len", kind="config") + univ1_trig_req = Cpt(EpicsSignal, suffix="univ1_trig_req", kind="config") + + univ2_trig_src_enum = Cpt(EpicsSignalWithRBV, suffix="univ2_trig_src_ENUM", kind="config") + univ2_trig_mode_enum = Cpt(EpicsSignalWithRBV, suffix="univ2_trig_mode_ENUM", kind="config") + univ2_trig_len = Cpt(EpicsSignalWithRBV, suffix="univ2_trig_len", kind="config") + univ2_trig_req = Cpt(EpicsSignal, suffix="univ2_trig_req", kind="config") + class Mo1BraggCalculator(Device): """Mo1 Bragg PVs to convert angle to energy or vice-versa.""" @@ -237,11 +262,12 @@ class Mo1Bragg(Device, PositionerBase): the NI motor controller via web sockets. """ - USER_ACCESS = [] + USER_ACCESS = ["set_advanced_xas_settings"] crystal = Cpt(Mo1BraggCrystal, "") encoder = Cpt(Mo1BraggEncoder, "") scan_settings = Cpt(Mo1BraggScanSettings, "") + trigger_settings = Cpt(Mo1TriggerSettings, "") calculator = Cpt(Mo1BraggCalculator, "") scan_control = Cpt(Mo1BraggScanControl, "") status = Cpt(Mo1BraggStatus, "") @@ -594,8 +620,8 @@ class Mo1Bragg(Device, PositionerBase): """Set Advanced XAS parameters for upcoming scan. Args: - low (float): Low angle value of the scan in deg - high (float): High angle value of the scan in deg + low (float): Low angle value of the scan in eV + high (float): High angle value of the scan in eV scan_time (float): Time for a half oscillation in s p_kink (float): Position of kink in % e_kink (float): Energy of kink in eV