From 92c57967db7ee5bc69b173eff7dfba7c98ed809d Mon Sep 17 00:00:00 2001 From: x01da Date: Tue, 18 Aug 2026 08:51:54 +0200 Subject: [PATCH] fix(AcsSignals) for enums --- debye_bec/devices/mo1_bragg/acs.py | 4 +- .../devices/mo1_bragg/mo1_bragg_devices.py | 52 ++++++------------- 2 files changed, 18 insertions(+), 38 deletions(-) diff --git a/debye_bec/devices/mo1_bragg/acs.py b/debye_bec/devices/mo1_bragg/acs.py index aebb128..f91195d 100644 --- a/debye_bec/devices/mo1_bragg/acs.py +++ b/debye_bec/devices/mo1_bragg/acs.py @@ -119,11 +119,11 @@ class AcsSignal(SocketSignal): # logger.info(f"socket_get called from: {traceback.format_stack()}") def convert(val): - return self.enum(val) if self.enum is not None else val + return self.enum(val).name if self.enum is not None else val if self.num_el <= 1: val = convert(self.controller.get_var(self.tag, self.prec)) - # logger.info(f"Get signal with tag {self.tag}, time to last get: {interval*1e3} ms") + # logger.info(f"Got signal with tag {self.tag} and value {val}, time to last get: {interval*1e3} ms") return val return np.array( [convert(self.controller.get_var(self.tag, self.prec, i)) for i in range(self.num_el)] diff --git a/debye_bec/devices/mo1_bragg/mo1_bragg_devices.py b/debye_bec/devices/mo1_bragg/mo1_bragg_devices.py index a65cc3d..4e02e50 100644 --- a/debye_bec/devices/mo1_bragg/mo1_bragg_devices.py +++ b/debye_bec/devices/mo1_bragg/mo1_bragg_devices.py @@ -16,17 +16,7 @@ from ophyd_devices.utils.socket import SocketIO # from debye_bec.devices.mo1_bragg.acs_controller import ACSSignal from debye_bec.devices.mo1_bragg.acs import ACSController, AcsSignal, AcsSignalRO -from debye_bec.devices.mo1_bragg.mo1_bragg_enums import ( - MoveType, - ScanControlLoadMessage, - ScanControlMode, - ScanControlScanStatus, - TriggerControlMode, - TriggerControlSource, - TriggerEnable, - TriggerSelectReference, - Xtal, -) +from debye_bec.devices.mo1_bragg.mo1_bragg_enums import MoveType, Xtal # Initialise logger logger = bec_logger.logger @@ -91,7 +81,7 @@ class Mo1BraggCrystal(Device): d_spacing_si111 = Cpt(AcsSignal, tag=50000, prec=12, kind="config") d_spacing_si311 = Cpt(AcsSignal, tag=50001, prec=12, kind="config") - current_d_spacing = Cpt(AcsSignalRO, tag=50503, prec=12, kind="config") + current_d_spacing = Cpt(AcsSignalRO, tag=50503, prec=12, kind="normal") current_bragg_off = Cpt(AcsSignalRO, tag=50504, prec=12, kind="config") current_phi_off = Cpt(AcsSignalRO, tag=50509, prec=12, kind="config") current_azm_off = Cpt(AcsSignalRO, tag=50512, prec=12, kind="config") @@ -103,15 +93,13 @@ class Mo1BraggCrystal(Device): class Mo1BraggScanSettings(Device): """Mo1 Bragg PVs to set the scan setttings""" - trig_select_ref_enum = Cpt( - AcsSignal, tag=12504, prec=0, enum=TriggerSelectReference, kind="config" - ) + trig_select_ref_enum = Cpt(AcsSignal, tag=12504, prec=0, kind="config") - trig_ena_hi_enum = Cpt(AcsSignal, tag=12501, prec=0, enum=TriggerEnable, kind="config") + trig_ena_hi_enum = Cpt(AcsSignal, tag=12501, prec=0, kind="config") trig_time_hi = Cpt(AcsSignal, tag=52501, prec=3, kind="config") trig_every_n_hi = Cpt(AcsSignal, tag=12503, prec=0, kind="config") - trig_ena_lo_enum = Cpt(AcsSignal, tag=12500, prec=0, enum=TriggerEnable, kind="config") + trig_ena_lo_enum = Cpt(AcsSignal, tag=12500, prec=0, kind="config") trig_time_lo = Cpt(AcsSignal, tag=52500, prec=3, kind="config") trig_every_n_lo = Cpt(AcsSignal, tag=12502, prec=0, kind="config") @@ -133,37 +121,29 @@ class Mo1TriggerSettings(Device): settle_time = Cpt(AcsSignal, tag=55000, prec=3, kind="config") max_dev = Cpt(AcsSignal, tag=55001, prec=6, kind="config") - xrd_trig_src_enum = Cpt(AcsSignal, tag=14501, prec=0, enum=TriggerControlSource, kind="config") - xrd_trig_mode_enum = Cpt(AcsSignal, tag=14502, prec=0, enum=TriggerControlMode, kind="config") + xrd_trig_src_enum = Cpt(AcsSignal, tag=14501, prec=0, kind="config") + xrd_trig_mode_enum = Cpt(AcsSignal, tag=14502, prec=0, kind="config") xrd_trig_len = Cpt(AcsSignal, tag=54500, prec=3, kind="config") xrd_trig_period = Cpt(AcsSignal, tag=54504, prec=3, kind="config") xrd_n_of_trig = Cpt(AcsSignal, tag=14512, prec=0, kind="config") xrd_trig_req = Cpt(AcsSignal, tag=14500, prec=0, kind="config") - falcon_trig_src_enum = Cpt( - AcsSignal, tag=14504, prec=0, enum=TriggerControlSource, kind="config" - ) - falcon_trig_mode_enum = Cpt( - AcsSignal, tag=14505, prec=0, enum=TriggerControlMode, kind="config" - ) + falcon_trig_src_enum = Cpt(AcsSignal, tag=14504, prec=0, kind="config") + falcon_trig_mode_enum = Cpt(AcsSignal, tag=14505, prec=0, kind="config") falcon_trig_len = Cpt(AcsSignal, tag=54501, prec=3, kind="config") falcon_trig_period = Cpt(AcsSignal, tag=54505, prec=3, kind="config") falcon_n_of_trig = Cpt(AcsSignal, tag=14513, prec=0, kind="config") falcon_trig_req = Cpt(AcsSignal, tag=14503, prec=0, kind="config") - univ1_trig_src_enum = Cpt( - AcsSignal, tag=14507, prec=0, enum=TriggerControlSource, kind="config" - ) - univ1_trig_mode_enum = Cpt(AcsSignal, tag=14508, prec=0, enum=TriggerControlMode, kind="config") + univ1_trig_src_enum = Cpt(AcsSignal, tag=14507, prec=0, kind="config") + univ1_trig_mode_enum = Cpt(AcsSignal, tag=14508, prec=0, kind="config") univ1_trig_len = Cpt(AcsSignal, tag=54502, prec=3, kind="config") univ1_trig_period = Cpt(AcsSignal, tag=54506, prec=3, kind="config") univ1_n_of_trig = Cpt(AcsSignal, tag=14514, prec=0, kind="config") univ1_trig_req = Cpt(AcsSignal, tag=14506, prec=0, kind="config") - univ2_trig_src_enum = Cpt( - AcsSignal, tag=14510, prec=0, enum=TriggerControlSource, kind="config" - ) - univ2_trig_mode_enum = Cpt(AcsSignal, tag=14511, prec=0, enum=TriggerControlMode, kind="config") + univ2_trig_src_enum = Cpt(AcsSignal, tag=14510, prec=0, kind="config") + univ2_trig_mode_enum = Cpt(AcsSignal, tag=14511, prec=0, kind="config") univ2_trig_len = Cpt(AcsSignal, tag=54503, prec=3, kind="config") univ2_trig_period = Cpt(AcsSignal, tag=54507, prec=3, kind="config") univ2_n_of_trig = Cpt(AcsSignal, tag=14515, prec=0, kind="config") @@ -182,14 +162,14 @@ class Mo1BraggCalculator(Device): class Mo1BraggScanControl(Device): """Mo1 Bragg PVs to control the scan after setting the parameters.""" - scan_mode_enum = Cpt(AcsSignal, tag=12000, prec=0, enum=ScanControlMode, kind="config") + scan_mode_enum = Cpt(AcsSignal, tag=12000, prec=0, kind="config") scan_duration = Cpt(AcsSignal, tag=52000, prec=1, kind="config") scan_load = Cpt(AcsSignal, tag=12001, prec=0, kind="omitted") - scan_msg = Cpt(AcsSignalRO, tag=12007, prec=0, enum=ScanControlLoadMessage, kind="config") + scan_msg = Cpt(AcsSignalRO, tag=12007, prec=0, kind="config") scan_start_infinite = Cpt(AcsSignal, tag=12003, prec=0, kind="omitted") scan_start_timer = Cpt(AcsSignal, tag=12006, prec=0, kind="omitted") scan_stop = Cpt(AcsSignal, tag=12004, prec=0, kind="omitted") - scan_status = Cpt(AcsSignalRO, tag=12002, prec=0, enum=ScanControlScanStatus, kind="config") + scan_status = Cpt(AcsSignalRO, tag=12002, prec=0, kind="config") scan_time_left = Cpt(AcsSignalRO, tag=52001, prec=1, kind="omitted") scan_done = Cpt(AcsSignalRO, tag=12005, prec=0, kind="omitted") scan_val_reset = Cpt(AcsSignal, tag=52000, prec=0, kind="omitted")