update configuration of smaract in optics hutch and experimental hutch. Correct some parameters in the readout of XBPMs and BIM. We also added an example for a Smaract stage in the user_template.yaml #218
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -145,4 +145,29 @@ test_cam_mic:
|
||||
onFailure: buffer
|
||||
readOnly: false
|
||||
readoutPriority: async
|
||||
|
||||
|
||||
############################################################
|
||||
####################### 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
|
||||
@@ -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()
|
||||
return signal.get()
|
||||
|
||||
Reference in New Issue
Block a user