Workflows: added some state changes, trialing auto_exposure, todo how to safely, or more safely import bec macros
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
from aare.common.coordinate import Coordinate
|
||||
from aare.common.models import StagePositionEnum
|
||||
from aare.daq.devices import BeamlineDevices
|
||||
from aare.daq.config import BeamlineConfig, ABR_POS_MOUNT
|
||||
from pxii_bec.macros.planner import BeamlineState
|
||||
|
||||
from aare.devices.area_detector import AutoEnum
|
||||
from aare.common.logger_config import setup_logger
|
||||
|
||||
logger = setup_logger("aareDAQ")
|
||||
|
||||
def move_bsz(devs: BeamlineDevices, target: float):
|
||||
if abs(target - devs.bsz.position) > 0.1:
|
||||
@@ -68,49 +71,72 @@ def sa2se(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
# #print('move cryo to park')
|
||||
# #devs.__cryojet_pos = StagePositionEnum.PARK
|
||||
try:
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.MANUAL_SAMPLE_EXCHANGE)
|
||||
logger.info(f"moved to sample exchange, now moving to {cfg.abr_meas_pos}")
|
||||
devs.aerotech_pos = cfg.abr_meas_pos
|
||||
devs.smargon_move_home()
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
except Exception as e:
|
||||
devs.aerotech_pos = cfg.abr_meas_pos
|
||||
devs.smargon_move_home()
|
||||
raise
|
||||
|
||||
def sa2rse(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
common_2rse(devs, cfg)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def sa2xtal_snapshot(devs:BeamlineDevices, cfg:BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.XTAL_SNAPSHOT)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def dc2xtal_snapshot(devs:BeamlineDevices, cfg:BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.XTAL_SNAPSHOT)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def xtal_snapshot2dc(devs:BeamlineDevices, cfg:BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.DATA_COLLECTION)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def xtal_snapshot2sa(devs:BeamlineDevices, cfg:BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.SAMPLE_ALIGNMENT)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def dc2rse(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
common_2rse(devs, cfg)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def se2sa(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.SAMPLE_ALIGNMENT)
|
||||
devs.aerotech_pos = cfg.abr_meas_pos
|
||||
devs.smargon_move_home()
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def rse2sa(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
se2sa(devs, cfg)
|
||||
|
||||
def sa2dc(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.move_to(BeamlineState.DATA_COLLECTION)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def dc2sa(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.SAMPLE_ALIGNMENT)
|
||||
devs.aerotech_pos = cfg.abr_meas_pos
|
||||
devs.smargon_move_home()
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def sa2xrf(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
"""sample alignment to XrfCollection"""
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
devs.bec_worker.planner.move_to(BeamlineState.FLUX_MEASUREMENT)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
|
||||
def xrf2sa(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
"""XrfCollection to sample alignment"""
|
||||
@@ -146,7 +172,9 @@ def ba2bl(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.scintillator = 20.0
|
||||
|
||||
def sa2dh(devs: BeamlineDevices, cfg: BeamlineConfig):
|
||||
devs.samcam_auto(AutoEnum.AUTO)
|
||||
common_2rse(devs, cfg)
|
||||
devs.samcam_auto(AutoEnum.ONCE)
|
||||
if devs.tell.get_mounted_sample() is not None:
|
||||
try:
|
||||
# Best effort try to unmount
|
||||
|
||||
Reference in New Issue
Block a user