config for all galilrio and diagnostics to csaxs
CI for csaxs_bec / test (pull_request) Successful in 2m0s
Read the Docs Deploy Trigger / trigger-rtd-webhook (push) Successful in 3s
CI for csaxs_bec / test (push) Successful in 2m3s

This commit was merged in pull request #182.
This commit is contained in:
x12sa
2026-04-08 11:26:34 +02:00
parent ac23be094e
commit 31c71ff406
4 changed files with 188 additions and 43 deletions
@@ -16,9 +16,11 @@ from csaxs_bec.bec_ipython_client.plugins.cSAXS.smaract import cSAXSInitSmaractS
from csaxs_bec.bec_ipython_client.plugins.cSAXS.smaract import cSAXSSmaract
from csaxs_bec.bec_ipython_client.plugins.omny.omny_general_tools import OMNYTools
from csaxs_bec.bec_ipython_client.plugins.cSAXS.filter_transmission import cSAXSFilterTransmission
from csaxs_bec.bec_ipython_client.plugins.cSAXS.diagnostics import cSAXSDiagnostics
class cSAXSError(Exception):
pass
class cSAXS(
cSAXSInitSmaractStages,
cSAXSSmaract,
@@ -28,9 +30,12 @@ class cSAXS(
self.client = client
self.device_manager = client.device_manager
self.OMNYTools = OMNYTools(self.client)
self.diagnostics = cSAXSDiagnostics()
super().__init__(client=client)
# this is the csaxs master file that imports all routines from csaxs
# can be imported in the bec client by
# run in bec from folder /sls/x12sa/config/bec/production/csaxs_bec
+93 -28
View File
@@ -885,11 +885,99 @@ dettrx:
softwareTrigger: false
####################
### Beamstop diode control for flight tube
### BPM XBox2 (first Xbox in ES) and Xbox3 BIM
### This requires galilrioesxbox device. On top of that the gain control devices and slow readback devices are built.
####################
beamstop_gain_control:
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
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
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
####################
### Beamstop diode control for flight tube
### This requires galilrioft device. On top of that the gain control device is built as well as a slow voltage readback.
####################
galilrioesft:
description: Galil RIO for remote gain switching and slow reading FlightTube
deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO
deviceConfig:
host: galilrioesft.psi.ch
enabled: true
onFailure: retry
readOnly: false
readoutPriority: baseline
connectionTimeout: 20
gain_beamstop_diode:
description: Gain control for beamstop flightube
deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl
deviceConfig:
@@ -904,36 +992,11 @@ beamstop_gain_control:
needs:
- galilrioesft
galilrioesft:
description: Galil RIO for remote gain switching and slow reading FlightTube
deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO
deviceConfig:
host: galilrioesft.psi.ch
enabled: true
onFailure: retry
readOnly: false
readoutPriority: baseline
connectionTimeout: 20
beamstop_dummy_bpm:
description: BPM Xbox 2 (First Xbox in ES hutch)
deviceClass: csaxs_bec.devices.pseudo_devices.bpm.BPM
deviceConfig:
left_top: galilrioesft.analog_in.ch0
right_top: galilrioesft.analog_in.ch1
right_bot: galilrioesft.analog_in.ch2
left_bot: galilrioesft.analog_in.ch3
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioesft
beamstop_intensity:
description: Beamstop intensity from Galil analog input ch6
deviceClass: csaxs_bec.devices.pseudo_devices.signal_forwarder.SignalForwarder
deviceConfig:
signal: galilrioesft.analog_in.ch6
signal: galilrioesft.analog_in.ch0
enabled: true
readoutPriority: baseline
onFailure: retry
@@ -941,3 +1004,5 @@ beamstop_intensity:
- galilrioesft
-14
View File
@@ -9,17 +9,3 @@ x12saEPS:
onFailure: buffer
readOnly: false
readoutPriority: baseline
############################################################
##################### GalilRIO #############################
############################################################
galilrioesxbox:
description: Galil RIO for remote gain switching and slow reading ES XBox
deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO
deviceConfig:
host: galilrioesxbox.psi.ch
enabled: true
onFailure: raise
readOnly: false
readoutPriority: baseline
connectionTimeout: 20
+90 -1
View File
@@ -193,4 +193,93 @@ ccm_energy:
# enabled: true
# readoutPriority: baseline
# readOnly: false
# softwareTrigger: false
# softwareTrigger: false
####################
### BPM and polarization diag XBox1 (optics hutch)
### This requires galilrioop device. On top of that the gain control devices and slow readback devices are built.
### dev.galilrioop.read() shows the analog inputs
### another example ...analog_in.ch0.get()
### dev.galilrioop.read_configuration() shows the digital channels
### example for direct access dev.galilrioesxbox.digital_out.ch1.put(0)
####################
galilrioop:
description: Galil RIO for remote gain switching and slow reading XBox OP
deviceClass: csaxs_bec.devices.omny.galil.galil_rio.GalilRIO
deviceConfig:
host: galilrioop.psi.ch
enabled: true
onFailure: retry
readOnly: false
readoutPriority: baseline
connectionTimeout: 20
gain_bpm_xbox1:
description: Gain control for BPM XBox1 (OP hutch)
deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl
deviceConfig:
gain_lsb: galilrioop.digital_out.ch0 # Pin 10 -> Galil ch0
gain_mid: galilrioop.digital_out.ch1 # Pin 11 -> Galil ch1
gain_msb: galilrioop.digital_out.ch2 # Pin 12 -> Galil ch2
coupling: galilrioop.digital_out.ch3 # Pin 13 -> Galil ch3
speed_mode: galilrioop.digital_out.ch4 # Pin 14 -> Galil ch4
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioop
bpm_xbox1_slowrb:
description: BPM Xbox 1 (OP hutch) readback
deviceClass: csaxs_bec.devices.pseudo_devices.bpm.BPM
deviceConfig:
left_top: galilrioop.analog_in.ch0
right_top: galilrioop.analog_in.ch1
right_bot: galilrioop.analog_in.ch2
left_bot: galilrioop.analog_in.ch3
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioop
gain_diodes_xbox1:
description: Gain control for diodes (horizontal and vertical) XBox1
deviceClass: csaxs_bec.devices.pseudo_devices.bpm_control.BPMControl
deviceConfig:
gain_lsb: galilrioop.digital_out.ch6 # Pin 10 -> Galil ch0
gain_mid: galilrioop.digital_out.ch7 # Pin 11 -> Galil ch1
gain_msb: galilrioop.digital_out.ch8 # Pin 12 -> Galil ch2
coupling: galilrioop.digital_out.ch9 # Pin 13 -> Galil ch3
speed_mode: galilrioop.digital_out.ch10 # Pin 14 -> Galil ch4
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioop
diode_horizontal_xbox1_slowrb:
description: Slow readback diode horizontal XBox OP (polarization diagnostics)
deviceClass: csaxs_bec.devices.pseudo_devices.signal_forwarder.SignalForwarder
deviceConfig:
signal: galilrioop.analog_in.ch6
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioop
diode_vertical_xbox1_slowrb:
description: Slow readback diode vertical XBox OP (polarization diagnostics)
deviceClass: csaxs_bec.devices.pseudo_devices.signal_forwarder.SignalForwarder
deviceConfig:
signal: galilrioop.analog_in.ch7
enabled: true
readoutPriority: baseline
onFailure: retry
needs:
- galilrioop