51 lines
1.7 KiB
Python
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
|
|
)
|