From d108975ec801130ff4c06f894f9129d67ce0c2de Mon Sep 17 00:00:00 2001 From: appel_c Date: Tue, 26 Aug 2025 08:25:17 +0200 Subject: [PATCH] wip --- superxas_bec/devices/timepix/timepix.py | 50 ++++++++++++------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/superxas_bec/devices/timepix/timepix.py b/superxas_bec/devices/timepix/timepix.py index 0c8b50d..e3d9c38 100644 --- a/superxas_bec/devices/timepix/timepix.py +++ b/superxas_bec/devices/timepix/timepix.py @@ -352,6 +352,7 @@ class Timepix(PSIDeviceBase, TimePixControl): TRoiN=self.troin, output_uri=f"tcp://{self.backend.hostname}:{self.backend.socket_port}", ) + logger.info(f"Current TimePixFly configuration: {other_config}") pixel_map = self.pixel_map self.backend.on_stage(other_config=other_config, pixel_map=pixel_map) @@ -459,7 +460,7 @@ if __name__ == "__main__": # pragma: no cover timepix.wait_for_connection(all_signals=True, timeout=10) timepix.on_connected() print("Timepix connected and initialized.") - for exp_time, frames_per_trigger, runs in zip([0.003, 0.5], [40, 10], [5, 5]): + for exp_time, frames_per_trigger in zip([0.2, 1], [10, 5]): # time.sleep(0.5) # print( # f"Sleeping for 0.5 seconds before starting the scan with exp_time={exp_time} " @@ -477,32 +478,31 @@ if __name__ == "__main__": # pragma: no cover print("Timepix pre-scan completed.") msgs = [] - for ii in range(runs): + # for ii in range(runs): + print( + f"Starting scan {ii + 1}...; exp_time={exp_time}, frames_per_trigger={frames_per_trigger}" + ) + status = timepix.trigger() + print("Timepix trigger sent.") + 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)") + if time.time() - start_time > 30: + print("Breaking loop manually after 30 seconds of waiting.") + break + print(f"Received number of messages: {len(timepix.backend.msg_buffer)}") + if timepix.xes_data.get() is not None: + # msgs.append(timepix.backend.msg_buffer) print( - f"Starting scan {ii + 1}...; exp_time={exp_time}, frames_per_trigger={frames_per_trigger}" + f"Events in energy rois {timepix.xes_data.get().signals[timepix.xes_data.name]['value'].sum()}" ) - status = timepix.trigger() - print("Timepix trigger sent.") - 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)" - ) - if time.time() - start_time > 30: - print("Breaking loop manually after 30 seconds of waiting.") - print(f"Received number of messages: {len(timepix.backend.msg_buffer)}") - if timepix.xes_data.get() is not None: - # msgs.append(timepix.backend.msg_buffer) - print( - f"Events in energy rois {timepix.xes_data.get().signals[timepix.xes_data.name]['value'].sum()}" - ) - events = timepix.xes_info.get().signals[ - f"{timepix.xes_info.name}_tds_total_events" - ]["value"] - print(f"Total number of events: {events}") + events = timepix.xes_info.get().signals[ + f"{timepix.xes_info.name}_tds_total_events" + ]["value"] + print(f"Total number of events: {events}") status = timepix.complete() print("Waiting for timepix to complete.") status.wait(timeout=10)