This commit is contained in:
2025-08-26 08:25:17 +02:00
parent 62391f56fc
commit d108975ec8
+25 -25
View File
@@ -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)