diff --git a/csaxs_bec/device_configs/bl_endstation.yaml b/csaxs_bec/device_configs/bl_endstation.yaml index 0d00ebc..0c80e67 100644 --- a/csaxs_bec/device_configs/bl_endstation.yaml +++ b/csaxs_bec/device_configs/bl_endstation.yaml @@ -1019,71 +1019,71 @@ dettrx: # ### This requires galilrioesxbox device. On top of that the gain control devices and slow readback devices are built. # #################### -# galilrioesxbox: -# description: Galil RIO for remote gain switching and slow reading XBox ES -# deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO -# deviceConfig: -# host: galilrioesxbox.psi.ch -# enabled: true -# onFailure: retry -# readOnly: false -# readoutPriority: baseline -# connectionTimeout: 20 +galilrioesxbox: + description: Galil RIO for remote gain switching and slow reading XBox ES + deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO + deviceConfig: + host: galilrioesxbox.psi.ch + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 -# gain_bpm_xbox2: -# description: Gain control for BPM XBox2 -# deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl -# deviceConfig: -# gain_lsb: galilrioesxbox.digital_out.ch0 # Pin 10 -> Galil ch0 -# gain_mid: galilrioesxbox.digital_out.ch1 # Pin 11 -> Galil ch1 -# gain_msb: galilrioesxbox.digital_out.ch2 # Pin 12 -> Galil ch2 -# coupling: galilrioesxbox.digital_out.ch3 # Pin 13 -> Galil ch3 -# speed_mode: galilrioesxbox.digital_out.ch4 # Pin 14 -> Galil ch4 -# enabled: true -# readoutPriority: baseline -# onFailure: retry -# needs: -# - galilrioesxbox +gain_bpm_xbox2: + description: Gain control for BPM XBox2 + deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl + deviceConfig: + gain_lsb: galilrioesxbox.digital_out.ch0 # Pin 10 -> Galil ch0 + gain_mid: galilrioesxbox.digital_out.ch1 # Pin 11 -> Galil ch1 + gain_msb: galilrioesxbox.digital_out.ch2 # Pin 12 -> Galil ch2 + coupling: galilrioesxbox.digital_out.ch3 # Pin 13 -> Galil ch3 + speed_mode: galilrioesxbox.digital_out.ch4 # Pin 14 -> Galil ch4 + enabled: true + readoutPriority: baseline + onFailure: retry + needs: + - galilrioesxbox -# bpm_xbox2_slowrb: -# description: BPM Xbox 2 (First Xbox in ES hutch) readback -# deviceClass: csaxs_bec.devices.pseudo_devices.bpm.BPM -# deviceConfig: -# left_top: galilrioesxbox.analog_in.ch0 -# right_top: galilrioesxbox.analog_in.ch1 -# right_bot: galilrioesxbox.analog_in.ch2 -# left_bot: galilrioesxbox.analog_in.ch3 -# enabled: true -# readoutPriority: baseline -# onFailure: retry -# needs: -# - galilrioesxbox +bpm_xbox2_slowrb: + description: BPM Xbox 2 (First Xbox in ES hutch) readback + deviceClass: csaxs_bec.devices.pseudo_devices.bpm.BPM + deviceConfig: + left_top: galilrioesxbox.analog_in.ch0 + right_top: galilrioesxbox.analog_in.ch1 + right_bot: galilrioesxbox.analog_in.ch2 + left_bot: galilrioesxbox.analog_in.ch3 + enabled: true + readoutPriority: monitored + onFailure: retry + needs: + - galilrioesxbox -# gain_bim_xbox3: -# description: Gain control for beam intensity monitor ES Xbox3 -# deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl -# deviceConfig: -# gain_lsb: galilrioesxbox.digital_out.ch6 # Pin 10 -> Galil ch0 -# gain_mid: galilrioesxbox.digital_out.ch7 # Pin 11 -> Galil ch1 -# gain_msb: galilrioesxbox.digital_out.ch8 # Pin 12 -> Galil ch2 -# coupling: galilrioesxbox.digital_out.ch9 # Pin 13 -> Galil ch3 -# speed_mode: galilrioesxbox.digital_out.ch10 # Pin 14 -> Galil ch4 -# enabled: true -# readoutPriority: baseline -# onFailure: retry -# needs: -# - galilrioesxbox +gain_bim_xbox3: + description: Gain control for beam intensity monitor ES Xbox3 + deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl + deviceConfig: + gain_lsb: galilrioesxbox.digital_out.ch6 # Pin 10 -> Galil ch0 + gain_mid: galilrioesxbox.digital_out.ch7 # Pin 11 -> Galil ch1 + gain_msb: galilrioesxbox.digital_out.ch8 # Pin 12 -> Galil ch2 + coupling: galilrioesxbox.digital_out.ch9 # Pin 13 -> Galil ch3 + speed_mode: galilrioesxbox.digital_out.ch10 # Pin 14 -> Galil ch4 + enabled: true + readoutPriority: baseline + onFailure: retry + needs: + - galilrioesxbox -# bim_xbox3_slowrb: -# description: Beam intensity slow readback ES XBox3 -# deviceClass: csaxs_bec.devices.pseudo_devices.signal_forwarder.SignalForwarder -# deviceConfig: -# signal: galilrioesxbox.analog_in.ch6 -# enabled: true -# readoutPriority: baseline -# onFailure: retry -# needs: -# - galilrioesxbox +bim_xbox3_slowrb: + description: Beam intensity slow readback ES XBox3 + deviceClass: csaxs_bec.devices.pseudo_devices.signal_forwarder.SignalForwarder + deviceConfig: + signal: galilrioesxbox.analog_in.ch6 + enabled: true + readoutPriority: monitored + onFailure: retry + needs: + - galilrioesxbox diff --git a/csaxs_bec/device_configs/bl_optics_hutch.yaml b/csaxs_bec/device_configs/bl_optics_hutch.yaml index 651b2cc..1f637fe 100644 --- a/csaxs_bec/device_configs/bl_optics_hutch.yaml +++ b/csaxs_bec/device_configs/bl_optics_hutch.yaml @@ -91,88 +91,88 @@ ccm_energy: ######################## SMARACT STAGES ################################## ########################################################################## -# xbpm2x: -# description: X-ray beam position monitor 1 in OPbox -# deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor -# deviceConfig: -# axis_Id: A -# host: x12sa-eb-smaract-mcs-03.psi.ch -# limits: -# - -200 -# - 200 -# port: 5000 -# sign: 1 -# enabled: true -# onFailure: buffer -# readOnly: false -# readoutPriority: baseline -# connectionTimeout: 20 -# userParameter: -# # bl_smar_stage to use csaxs reference method. assign number according to axis channel -# bl_smar_stage: 0 - -# xbpm2y: -# description: X-ray beam position monitor 1 in OPbox -# deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor -# deviceConfig: -# axis_Id: B -# host: x12sa-eb-smaract-mcs-03.psi.ch -# limits: -# - -200 -# - 200 -# port: 5000 -# sign: 1 -# enabled: true -# onFailure: buffer -# readOnly: false -# readoutPriority: baseline -# connectionTimeout: 20 -# userParameter: -# # bl_smar_stage to use csaxs reference method. assign number according to axis channel -# bl_smar_stage: 1 - -# cu_foilx: -# description: Cu foil in OPbox -# deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor -# deviceConfig: -# axis_Id: C -# host: x12sa-eb-smaract-mcs-03.psi.ch -# limits: -# - -200 -# - 200 -# port: 5000 -# sign: 1 -# enabled: true -# onFailure: buffer -# readOnly: false -# readoutPriority: baseline -# connectionTimeout: 20 -# userParameter: -# # bl_smar_stage to use csaxs reference method. assign number according to axis channel -# bl_smar_stage: 2 - -# scinx: -# description: scintillator in OPbox -# deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor -# deviceConfig: -# axis_Id: D -# host: x12sa-eb-smaract-mcs-03.psi.ch -# limits: -# - -200 -# - 200 -# port: 5000 -# sign: 1 -# enabled: true -# onFailure: buffer -# readOnly: false -# readoutPriority: baseline -# connectionTimeout: 20 -# userParameter: -# # bl_smar_stage to use csaxs reference method. assign number according to axis channel -# bl_smar_stage: 3 +xbpm2x: + description: X-ray beam position monitor 1 in OPbox + deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor + deviceConfig: + axis_Id: A + host: x12sa-eb-smaract-mcs-03.psi.ch + limits: + - -200 + - 200 + port: 5000 + sign: 1 + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 + userParameter: + # bl_smar_stage to use csaxs reference method. assign number according to axis channel + init_position: 22.5 + bl_smar_stage: 0 +xbpm2y: + description: X-ray beam position monitor 1 in OPbox + deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor + deviceConfig: + axis_Id: B + host: x12sa-eb-smaract-mcs-03.psi.ch + limits: + - -200 + - 200 + port: 5000 + sign: 1 + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 + userParameter: + # bl_smar_stage to use csaxs reference method. assign number according to axis channel + bl_smar_stage: 1 +scinx: + description: scintillator in OPbox + deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor + deviceConfig: + axis_Id: E + host: x12sa-eb-smaract-mcs-03.psi.ch + limits: + - -200 + - 200 + port: 5000 + sign: 1 + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 + userParameter: + # bl_smar_stage to use csaxs reference method. assign number according to axis channel + init_position: -23 + bl_smar_stage: 4 +poly: + description: polarizer holder in OPbox + deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor + deviceConfig: + axis_Id: D + host: x12sa-eb-smaract-mcs-03.psi.ch + limits: + - -200 + - 200 + port: 5000 + sign: 1 + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 + userParameter: + # bl_smar_stage to use csaxs reference method. assign number according to axis channel + init_position: -23 + bl_smar_stage: 3 # dmm1_trx_readback_example: # This is the same template as for i.e. bpm4i # description: 'This is an example of a read-only Epics signal' @@ -214,7 +214,7 @@ ccm_energy: # enabled: true # onFailure: retry # readOnly: false -# readoutPriority: baseline +# readoutPriority: monitored # connectionTimeout: 20 # gain_bpm_xbox1: @@ -227,7 +227,7 @@ ccm_energy: # coupling: galilrioop.digital_out.ch3 # Pin 13 -> Galil ch3 # speed_mode: galilrioop.digital_out.ch4 # Pin 14 -> Galil ch4 # enabled: true -# readoutPriority: baseline +# readoutPriority: monitored # onFailure: retry # needs: # - galilrioop @@ -241,7 +241,7 @@ ccm_energy: # right_bot: galilrioop.analog_in.ch2 # left_bot: galilrioop.analog_in.ch3 # enabled: true -# readoutPriority: baseline +# readoutPriority: monitored # onFailure: retry # needs: # - galilrioop diff --git a/csaxs_bec/device_configs/user_template.yaml b/csaxs_bec/device_configs/user_template.yaml index 1dea4a0..6a85f8e 100644 --- a/csaxs_bec/device_configs/user_template.yaml +++ b/csaxs_bec/device_configs/user_template.yaml @@ -145,4 +145,29 @@ test_cam_mic: onFailure: buffer readOnly: false readoutPriority: async - \ No newline at end of file + +############################################################ +####################### Smaract ############################ +############################################################ +xbpm3x: + description: X-ray beam position x monitor 1 in ESbox1 + deviceClass: csaxs_bec.devices.smaract.smaract_ophyd.SmaractMotor + deviceConfig: + axis_Id: A + host: x12sa-eb-smaract-mcs-04.psi.ch + limits: + - -200 + - 200 + port: 5000 + sign: -1 + # precision: 3 + # tolerance: 0.005 + enabled: true + onFailure: retry + readOnly: false + readoutPriority: baseline + connectionTimeout: 20 + userParameter: + init_position: -22.5 + # bl_smar_stage to use csaxs reference method. assign number according to axis channel + bl_smar_stage: 0 \ No newline at end of file diff --git a/csaxs_bec/devices/pseudo_devices/signal_forwarder.py b/csaxs_bec/devices/pseudo_devices/signal_forwarder.py index 17e21fb..2d79ba0 100644 --- a/csaxs_bec/devices/pseudo_devices/signal_forwarder.py +++ b/csaxs_bec/devices/pseudo_devices/signal_forwarder.py @@ -15,27 +15,19 @@ class SignalForwarder(PSIPseudoDeviceBase): BECProcessedSignal, name="signal", model_config=None, - kind=Kind.config, + # kind=Kind.config, + kind=Kind.normal, doc="Forwarded signal", ) - def __init__( - self, - name, - signal: str, - device_manager=None, - scan_info=None, - **kwargs, - ): + def __init__(self, name, signal: str, device_manager=None, scan_info=None, **kwargs): super().__init__(name=name, device_manager=device_manager, scan_info=scan_info, **kwargs) src = self.signal.get_device_object_from_bec( - object_name=signal, - signal_name=self.name, - device_manager=device_manager, + object_name=signal, signal_name=self.name, device_manager=device_manager ) self.signal.set_compute_method(self._compute_signal, signal=src) def _compute_signal(self, signal: Signal) -> float: - return signal.get() \ No newline at end of file + return signal.get()