diff --git a/superxas_bec/devices/timepix/timepix.py b/superxas_bec/devices/timepix/timepix.py index 5d5816f..5eaca16 100644 --- a/superxas_bec/devices/timepix/timepix.py +++ b/superxas_bec/devices/timepix/timepix.py @@ -640,31 +640,34 @@ if __name__ == "__main__": # pragma: no cover } ) timepix.stage() - print("Timepix staged.") + logger.warning(f"Timepix on stage done") timepix.pre_scan() - print("Timepix pre-scan completed.") + logger.warning(f"Timepix on pre_scan done") msgs = [] # for ii in range(runs): - print(f"Starting scan...; exp_time={exp_time}, frames_per_trigger={frames_per_trigger}") for run in range(runs): - print(f"Starting run {run} for exp_time {exp_time}.") + logger.warning(f"Starting trigger run {run + 1}/{runs}") status = timepix.trigger() + logger.warning(f"Timepix triggered") start_time = time.time() while not status.done: try: status.wait(timeout=1) except Exception as exc: - print( - f" Trigger status not done yet after ({time.time() - start_time:.2f}s)" - ) + logger.warning(f"Trigger not done after ({time.time() - start_time:.2f}s)") if time.time() - start_time > 20: - print("Breaking loop manually after 20 seconds of waiting.") + logger.warning("Breaking loop manually after 20 seconds of waiting.") + status.set_exception(f"Failed to complete trigger after 20 seconds") break n_messages = len(timepix._msg_dump) - logger.warning( - f"Messages in Buffer is {len(timepix._msg_dump)}" - ) # , with types: {[';'.join([var.get('type') for var in timepix._msg_dump])]}") + logger.warning(f"Messages in Buffer is {n_messages}") + if n_messages > 0: + msgs = timepix._msg_dump[-1].get("sub_messages", []) + logger.warning( + f"Last message had start_frame : {len(msgs.get('start_frame'))}, {len(msgs.get('data_frame'))}, end_frame : {len(msgs.get('end_frame'))}" + ) + logger.warning() status = timepix.complete() print("Waiting for timepix to complete.") status.wait(timeout=10)