Files
superxas_bec/bin/test_ad_based_falcon.py

51 lines
1.7 KiB
Python

import time
from ophyd_devices import CompareStatus
from superxas_bec.devices.falcon_ad import FalconAcquiringStatus, FalconAD
from superxas_bec.devices.trigger import SamplingDone, Trigger
if __name__ == "__main__":
print("Initializing Falcon...")
time_started = time.time()
falcon = FalconAD(name="test_device", prefix="X10DA-SITORO:", scan_info=None)
trigger = Trigger(name="trigger_device", prefix="X10DA-ES1:", scan_info=None)
falcon.wait_for_connection(timeout=50, all_signals=True)
trigger.wait_for_connection(timeout=50, all_signals=True)
print(f"Device initialized in {time.time() - time_started:.2f} seconds.")
if falcon.acquiring.get != FalconAcquiringStatus.DONE:
status = CompareStatus(falcon.acquiring, FalconAcquiringStatus.DONE)
falcon.stop_all.put(1)
status.wait(timeout=5)
# Test loop
for i in range(500):
start_time = time.time()
status = CompareStatus(falcon.acquiring, FalconAcquiringStatus.ACQUIRING)
falcon.erase_start.put(1)
status.wait(timeout=5)
status2 = CompareStatus(trigger.smpl_done, SamplingDone.DONE)
trigger.smpl.put(1)
status2.wait(timeout=5)
status3 = CompareStatus(falcon.acquiring, FalconAcquiringStatus.DONE)
falcon.stop_all.put(1)
status3.wait(timeout=5)
time.sleep(0.1)
icr = falcon.dxp1.input_count_rate.get()
ocr = falcon.dxp1.output_count_rate.get()
roi = falcon.mca1.rois.count.get()
ert = falcon.mca1.elapsed_real_time.get()
dead_time_corrected_signal = falcon.dead_time_corrected_signal.get()
print(
f"time={time.time() - start_time:.4f}", icr, ocr, roi, ert, dead_time_corrected_signal
)