added capture time for every sweep
This commit is contained in:
@@ -140,7 +140,13 @@ class SwitchedMatrixRadarService:
|
||||
)
|
||||
|
||||
def _acquire_step_traces(self, out_k: int, in_k: int, collection_id: int) -> list[TraceData]:
|
||||
"""Drive both switches to one step, settle, and collect its widened traces."""
|
||||
"""Drive both switches to one step, settle, and collect its widened traces.
|
||||
|
||||
Every returned trace carries the monotonic window of the inner collection
|
||||
that produced it, so a consumer can tell when each combo of a switched
|
||||
matrix was really measured instead of only when the whole cycle began and
|
||||
ended. The switch drive and settling are deliberately outside the window.
|
||||
"""
|
||||
step_start_ns = time.monotonic_ns()
|
||||
if self.output_switch is not None:
|
||||
self.output_switch.switch_to(out_k)
|
||||
@@ -178,6 +184,11 @@ class SwitchedMatrixRadarService:
|
||||
input=in_k * self.inner_input_positions + int(trace.combo.input),
|
||||
output=out_k * self.inner_output_positions + int(trace.combo.output),
|
||||
),
|
||||
# Keep the inner service's own per-trace window when it reports one
|
||||
# (it knows its internal port order better than this step does);
|
||||
# otherwise fall back to the window of this inner collection.
|
||||
capture_start_ns=int(trace.capture_start_ns) or settled_ns,
|
||||
capture_end_ns=int(trace.capture_end_ns) or inner_end_ns,
|
||||
)
|
||||
for trace in sub.traces
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user