feat(configs): add laser_delay to the experimental hutch config and a sim config

This commit is contained in:
wyzula_j committed 2026-10-12 11:36:59 +02:00
1 parent 1320585fc2
commit 413dc7eb35
3 files changed
+68 -1

No files matched your search

@@ -0,0 +1,23 @@
###################################
## Laser delay, simulated ##
###################################
# SimLaserDelay: same device as LaserDelay but with soft signals instead of the five EPICS PVs, for a
# local demo BEC. Add it to a running session:
# bec.config.add_to_session("<path to superxas_bec>/superxas_bec/device_configs/laser_delay_sim.yaml")
# Then: dev.laser_delay.calibrate(-0.88); scans.line_scan(dev.laser_delay, -5, 5, steps=21, exp_time=0.1, relative=False)
# step_sleep is shortened so that demo moves take seconds instead of tens of seconds.
laser_delay:
readoutPriority: baseline
description: Simulated laser delay in ns (no EPICS)
deviceClass: superxas_bec.devices.laser_delay.SimLaserDelay
deviceConfig:
step_sleep: 0.01
deviceTags:
- laser
- timing
- simulation
onFailure: retry
enabled: true
readOnly: false
softwareTrigger: false
@@ -136,4 +136,11 @@ es2_try:
prefix: X10DA-ES2-ET2:TRY
onFailure: retry
enabled: true
softwareTrigger: false
softwareTrigger: false
###################################
## Laser delay (pump-probe) ##
###################################
laser_delay_config:
- !include ./x10da_laser_delay.yaml
@@ -0,0 +1,37 @@
###################################
## Laser delay (pump-probe) ##
###################################
# Delay card X10DA-ES2-TIM:SET1 + RF phase shifter 2 (ES4) for the Duetto laser, external trigger.
# Usage and calibration: superxas_bec/devices/LASER_DELAY.md
#
# readoutPriority baseline: every scan records the delay and the calibration once; a scan over
# laser_delay elevates it to monitored.
# onFailure buffer: if the timing or ES4 IOC is down, baseline readings fall back to the last value
# instead of aborting unrelated scans. If the PVs are unreachable at startup, BEC disables only this
# device (no I/O in __init__), the rest of the session loads.
# Calibration values are NOT config keys: run dev.laser_delay.calibrate(...) after every laser
# restart, or dev.laser_delay.set_calibration(...) to restore a previous one.
laser_delay:
readoutPriority: baseline
description: Laser delay in ns (delay card + phase shifter 2, Duetto); calibrate after laser restart
deviceClass: superxas_bec.devices.laser_delay.LaserDelay
deviceConfig:
delay_coarse_pv: X10DA-ES2-TIM:SET1-DELAY
delay_fine_pv: X10DA-ES2-TIM:SET1-FINE
evr_period_pv: X10DA-ES2-TIM:EVR-FPS2
phase_v1_pv: X10DA-ES4:AO-02
phase_v2_pv: X10DA-ES4:AO-01
rf_period: 2.0
cavity_period: 12.01
vmax: 1.0
steps_per_rf_period: 36
step_sleep: 0.1
phase_reference: stored
deviceTags:
- laser
- timing
onFailure: buffer
enabled: true
readOnly: false
softwareTrigger: false