diff --git a/superxas_bec/device_configs/laser_delay_sim.yaml b/superxas_bec/device_configs/laser_delay_sim.yaml new file mode 100644 index 0000000..463bae2 --- /dev/null +++ b/superxas_bec/device_configs/laser_delay_sim.yaml @@ -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("/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 diff --git a/superxas_bec/device_configs/x10da_experimental_hutch.yaml b/superxas_bec/device_configs/x10da_experimental_hutch.yaml index 71a085d..915ab12 100644 --- a/superxas_bec/device_configs/x10da_experimental_hutch.yaml +++ b/superxas_bec/device_configs/x10da_experimental_hutch.yaml @@ -136,4 +136,11 @@ es2_try: prefix: X10DA-ES2-ET2:TRY onFailure: retry enabled: true - softwareTrigger: false \ No newline at end of file + softwareTrigger: false + +################################### +## Laser delay (pump-probe) ## +################################### + +laser_delay_config: + - !include ./x10da_laser_delay.yaml diff --git a/superxas_bec/device_configs/x10da_laser_delay.yaml b/superxas_bec/device_configs/x10da_laser_delay.yaml new file mode 100644 index 0000000..08a5ca3 --- /dev/null +++ b/superxas_bec/device_configs/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