added median sweep and fixed multi device issue
This commit is contained in:
@@ -43,7 +43,7 @@ class AppWindowPreprocessMixin:
|
||||
for index, trace in enumerate(session.captured_traces(), start=1):
|
||||
entries.append(
|
||||
f"{display_name}: {index}/{total_count} | "
|
||||
f"input={trace.combo.input_pos} output={trace.combo.output_pos}"
|
||||
f"input={trace.combo.input} output={trace.combo.output}"
|
||||
)
|
||||
return entries
|
||||
|
||||
@@ -134,7 +134,12 @@ class AppWindowPreprocessMixin:
|
||||
f"set={TMP_REFERENCE_SET_NAME}, radar_key={radar_key}"
|
||||
)
|
||||
|
||||
radar_key, collection = capture_reference_set(config, TMP_REFERENCE_SET_NAME, self._store)
|
||||
radar_key, collection = capture_reference_set(
|
||||
config,
|
||||
TMP_REFERENCE_SET_NAME,
|
||||
self._store,
|
||||
median_sweep_count=self._preprocess_median_sweep_count,
|
||||
)
|
||||
self._selected_preprocess_sets["s21_reference"] = TMP_REFERENCE_SET_NAME
|
||||
self._selected_preprocess_radar_key = radar_key
|
||||
self._processor_run_signature = None
|
||||
@@ -176,11 +181,13 @@ class AppWindowPreprocessMixin:
|
||||
dialog.set_set_name(self._preprocess_set_name)
|
||||
dialog.set_radar_config_dir(self._preprocess_radar_config_dir)
|
||||
dialog.set_use_all_radar_configs(self._preprocess_use_all_radar_configs)
|
||||
dialog.set_median_sweep_count(self._preprocess_median_sweep_count)
|
||||
dialog.set_selected_sets(self._selected_preprocess_sets, emit_signal=False)
|
||||
dialog.refresh_requested.connect(self._refresh_sets)
|
||||
dialog.selection_changed.connect(self._on_preprocess_selection_changed)
|
||||
dialog.radar_config_dir_changed.connect(self._on_preprocess_radar_config_inputs_changed)
|
||||
dialog.multi_radar_option_changed.connect(self._on_preprocess_radar_config_inputs_changed)
|
||||
dialog.median_sweep_count_changed.connect(self._on_preprocess_median_sweep_count_changed)
|
||||
dialog.start_sequence_requested.connect(self._start_capture_sequence)
|
||||
dialog.capture_next_requested.connect(self._capture_next_combo)
|
||||
dialog.capture_all_requested.connect(self._capture_all_remaining)
|
||||
@@ -206,6 +213,11 @@ class AppWindowPreprocessMixin:
|
||||
self._preprocess_use_all_radar_configs = dialog.use_all_radar_configs()
|
||||
self._refresh_sets()
|
||||
|
||||
def _on_preprocess_median_sweep_count_changed(self) -> None:
|
||||
"""Persist updated per-combo median sweep count from the preprocessing dialog."""
|
||||
dialog = self._ensure_preprocess_dialog()
|
||||
self._preprocess_median_sweep_count = dialog.median_sweep_count()
|
||||
|
||||
def _on_preprocess_selection_changed(self) -> None:
|
||||
"""Persist selected preprocessing set names from dialog."""
|
||||
dialog = self._ensure_preprocess_dialog()
|
||||
@@ -314,17 +326,31 @@ class AppWindowPreprocessMixin:
|
||||
try:
|
||||
config = self._build_config()
|
||||
display_name = preprocess_asset_display_name(kind)
|
||||
median_sweep_count = dialog.median_sweep_count()
|
||||
self._preprocess_median_sweep_count = median_sweep_count
|
||||
if self._preprocess_use_all_radar_configs:
|
||||
session = self._build_multi_radar_capture_session(config=config, kind=kind, set_name=set_name)
|
||||
session = self._build_multi_radar_capture_session(
|
||||
config=config,
|
||||
kind=kind,
|
||||
set_name=set_name,
|
||||
median_sweep_count=median_sweep_count,
|
||||
)
|
||||
radar_summary = (
|
||||
f"radar_variants={session.radar_variant_count()}, "
|
||||
f"combos={session.state().total_count}"
|
||||
f"combos={session.state().total_count}, "
|
||||
f"median_sweep_count={median_sweep_count}"
|
||||
)
|
||||
else:
|
||||
session = self._build_single_radar_capture_session(config=config, kind=kind, set_name=set_name)
|
||||
session = self._build_single_radar_capture_session(
|
||||
config=config,
|
||||
kind=kind,
|
||||
set_name=set_name,
|
||||
median_sweep_count=median_sweep_count,
|
||||
)
|
||||
radar_summary = (
|
||||
f"radar_key={self._radar_key(config)}, "
|
||||
f"combos={session.state().total_count}"
|
||||
f"combos={session.state().total_count}, "
|
||||
f"median_sweep_count={median_sweep_count}"
|
||||
)
|
||||
|
||||
session.open()
|
||||
@@ -431,6 +457,7 @@ class AppWindowPreprocessMixin:
|
||||
config,
|
||||
kind: str,
|
||||
set_name: str,
|
||||
median_sweep_count: int,
|
||||
) -> SequentialCaptureSession:
|
||||
"""Validate and create the existing single-radar capture session."""
|
||||
radar_key = self._radar_key(config)
|
||||
@@ -438,7 +465,12 @@ class AppWindowPreprocessMixin:
|
||||
display_name = preprocess_asset_display_name(kind)
|
||||
if set_name in existing_sets:
|
||||
raise RuntimeError(f"Set '{set_name}' already exists for {display_name} and cannot be overwritten")
|
||||
return SequentialCaptureSession(config=config, kind=kind, set_name=set_name)
|
||||
return SequentialCaptureSession(
|
||||
config=config,
|
||||
kind=kind,
|
||||
set_name=set_name,
|
||||
median_sweep_count=median_sweep_count,
|
||||
)
|
||||
|
||||
def _build_multi_radar_capture_session(
|
||||
self,
|
||||
@@ -446,6 +478,7 @@ class AppWindowPreprocessMixin:
|
||||
config,
|
||||
kind: str,
|
||||
set_name: str,
|
||||
median_sweep_count: int,
|
||||
) -> MultiRadarSequentialCaptureSession:
|
||||
"""Validate and create the multi-radar capture session."""
|
||||
self._refresh_preprocess_radar_variants()
|
||||
@@ -469,6 +502,7 @@ class AppWindowPreprocessMixin:
|
||||
kind=kind,
|
||||
set_name=set_name,
|
||||
radar_variants=self._preprocess_radar_variants,
|
||||
median_sweep_count=median_sweep_count,
|
||||
)
|
||||
|
||||
def _capture_next_combo(self) -> None:
|
||||
@@ -554,8 +588,8 @@ class AppWindowPreprocessMixin:
|
||||
extra_details = f" | radar_configs={len(capture_result.traces)}"
|
||||
else:
|
||||
trace = capture_result
|
||||
input_pos = trace.combo.input_pos
|
||||
output_pos = trace.combo.output_pos
|
||||
input_pos = trace.combo.input
|
||||
output_pos = trace.combo.output
|
||||
extra_details = ""
|
||||
|
||||
dialog.append_capture_log_entry(
|
||||
@@ -600,8 +634,8 @@ class AppWindowPreprocessMixin:
|
||||
removed_output = removed_capture.combo.output
|
||||
extra_details = f" | radar_configs={len(removed_capture.traces)}"
|
||||
else:
|
||||
removed_input = removed_capture.combo.input_pos
|
||||
removed_output = removed_capture.combo.output_pos
|
||||
removed_input = removed_capture.combo.input
|
||||
removed_output = removed_capture.combo.output
|
||||
extra_details = ""
|
||||
|
||||
dialog.set_capture_log_entries(self._capture_log_entries_for_session(session))
|
||||
|
||||
Reference in New Issue
Block a user