This commit is contained in:
2025-09-03 16:23:34 +02:00
parent 1fa3c6d108
commit f0ea79f8f4

View File

@@ -22,7 +22,7 @@ if TYPE_CHECKING: # pragma: no cover
from bec_lib.messages import ScanStatusMessage
from bec_server.device_server.device_server import DeviceManagerDS
PILATUS_READOUT_TIME = 0.3 # in s
PILATUS_READOUT_TIME = 0.1 # in s
PILATUS_ACQUIRE_TIME = (
999999 # This time is the timeout of the detector in operation mode, so it needs to be large.
)
@@ -282,24 +282,24 @@ if __name__ == "__main__":
# pilatus.wait_for_connection(all_signals=True, timeout=20)
logger.info(f"Connecting to pilatus...")
pilatus.on_connected()
pilatus.scan_info.msg.num_points = 10
pilatus.scan_info.msg.scan_parameters["exposure_time"] = 1.0
pilatus.scan_info.msg.scan_parameters["frames_per_trigger"] = 1
pilatus.scan_info.msg.info["file_components"] = (
"/sls/x01da/data/p22481/raw/data/S00000-00999/S00001/S00001",
"h5",
)
pilatus.on_stage()
logger.info(f"Stage done")
pilatus.on_pre_scan().wait(timeout=5)
logger.info(f"Pre-scan done")
for ii in range(pilatus.scan_info.msg.num_points):
if ii == 0:
time.sleep(1)
logger.info(f"Triggering image {ii+1}/{pilatus.scan_info.msg.num_points}")
pilatus.on_trigger().wait()
pilatus.on_complete().wait(timeout=5)
logger.info(f"Complete done")
pilatus.on_unstage()
logger.info(f"Unstage done")
for exp_time, scan_number, n_pnts in zip([0.5, 1.0, 2.0], [1, 2, 3], [30, 20, 10]):
pilatus.scan_info.msg.num_points = n_pnts
pilatus.scan_info.msg.scan_parameters["exposure_time"] = exp_time
pilatus.scan_info.msg.scan_parameters["frames_per_trigger"] = 1
pilatus.scan_info.msg.info["file_components"] = (
f"/sls/x01da/data/p22481/raw/data/S00000-00999/S{scan_number:05d}/S{scan_number:05d}",
"h5",
)
pilatus.on_stage()
logger.info(f"Stage done")
pilatus.on_pre_scan().wait(timeout=5)
logger.info(f"Pre-scan done")
for ii in range(pilatus.scan_info.msg.num_points):
if ii == 0:
time.sleep(1)
logger.info(f"Triggering image {ii+1}/{pilatus.scan_info.msg.num_points}")
pilatus.on_trigger().wait()
pilatus.on_complete().wait(timeout=5)
logger.info(f"Complete done")
pilatus.on_unstage()
logger.info(f"Unstage done")