60 lines
2.1 KiB
Python
60 lines
2.1 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)
|
|
|
|
# Print PVs
|
|
print("PVs:")
|
|
print(f"ICR: {falcon.dxp1.input_count_rate.describe()}")
|
|
print(f"OCR: {falcon.dxp1.output_count_rate.describe()}")
|
|
print(f"ROI: {falcon.mca1.rois.roi0.count.describe()}")
|
|
print(f"ERT: {falcon.mca1.elapsed_real_time.describe()}")
|
|
|
|
# print(falcon.acquiring._auto_monitor)
|
|
# while True:
|
|
# print(falcon.acquiring.get())
|
|
# time.sleep(1)
|
|
# Test loop
|
|
for i in range(500):
|
|
start_time = time.time()
|
|
print(f"Start loop iteration {i}")
|
|
|
|
#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.roi0.count.get()
|
|
ert = falcon.mca1.elapsed_real_time.get()
|
|
|
|
print(f"time={time.time() - start_time:.4f}", icr, ocr, roi, ert)
|