from bec_lib.client import BECClient from bec_lib.service_config import ServiceConfig from bec_lib.user_macros import UserMacros import sys sys.path.append("/sls/MX/applications/test_scripts/bec_tes") service_config = ServiceConfig(redis={"host": "x06da-bec-001", "port": 6379}) client = BECClient(service_config, name="Martins-Custom-Client") client.start() client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/calculator.py") client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/pxiii_parameters.py") client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/pxiii_energy.py") client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/mx_methods.py") client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/mx_basics.py") client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/energy_check.py") #client.macros.load_user_macro("/sls/MX/applications/test_scripts/bec_tes/y") dev=client.device_manager.devices macros = client.macros scans = client.scans try: energy_ev = validate_energy(13) current_energy = get_current_energy() energy_diff = calculate_energy_difference(current_energy, energy_ev) dccm_pos = get_dccm_motors_positions(energy_ev) print(dev.dccm_theta1) print(dev.dccm_theta2) print( f"Moving DCCM theta1: {dccm_pos['theta1_angle']: .5g} deg, theta2: {dccm_pos['theta2_angle']: .5g} deg, " # f"DCM pitch: {dcm_pos['dcm_pitch']: .5g} mrad, " ) theta = scans.umv(dev.dccm_theta1, dccm_pos["theta1_angle"], relative=False) theta.wait() theta_2 = scans.umv(dev.dccm_theta2, dccm_pos["theta2_angle"], relative=False) theta_2.wait() set_mirror_stripe(energy_ev) print( f"Energy difference: {energy_diff: .5g} eV, current energy: {current_energy: .5g} eV" ) mono_pitch_scan(scans, plot=False) #bl_energy(energy_ev=13, scans=scans, plot=False) except Exception as e: print(e) # print(dev.det_z.read()) # status = scans.mv(dev.det_z, 770.0, relative=False) # status.wait() # print(dev.det_z.read()) client.shutdown()