Rework radar system

This commit is contained in:
Ayzen
2026-10-06 12:32:26 +03:00
parent 552cdc688a
commit 5bb86b7165
299 changed files with 13537 additions and 27763 deletions
+17 -21
View File
@@ -7,29 +7,25 @@ from pathlib import Path
import sys
from python_app.models.run_config_schema import RadarModel
from python_app.models.json_fields import json_object, read_str
def acquisition_command(project_root: Path, config_path: Path) -> list[str]:
def acquisition_command(config_path: Path) -> list[str]:
"""Select replay first, then the configured model's acquisition producer."""
payload = json.loads(config_path.read_text(encoding="utf-8"))
radar = payload.get("radar", {}) if isinstance(payload, dict) else {}
radar = radar if isinstance(radar, dict) else {}
replay = radar.get("replay", {})
dataset = replay.get("dataset_dir") if isinstance(replay, dict) else None
defaults = RadarModel()
model = radar.get("model")
if model is None and isinstance(payload, dict):
model = defaults.model
driver_mode = radar.get("driver_mode")
if driver_mode is None:
driver_mode = defaults.driver_mode
if model in ("librevna", "librevna_multi") and driver_mode == "mock":
model = "librevna_multi"
module = "replay_raw_producer" if isinstance(dataset, str) and dataset.strip() else {
payload = json_object(json.loads(config_path.read_text(encoding="utf-8")), "run config")
radar = json_object(payload.get("radar"), "radar")
replay = json_object(radar.get("replay"), "radar.replay")
dataset = read_str(replay, "dataset_dir", "")
model = read_str(radar, "model", RadarModel().model)
producers = {
"librevna": "matrix_raw_producer",
"librevna_multi": "matrix_raw_producer",
"kamil_adc": "kamil_adc_raw_producer",
}.get(model if isinstance(model, str) else "")
command = [sys.executable, "-m", f"python_app.scripts.{module}"] if module else [
str(project_root / "build/bin/sweep_orchestrator"),
]
return [*command, "--config", str(config_path)]
}
if dataset.strip():
module = "replay_raw_producer"
else:
if model not in producers:
raise ValueError(f"Unsupported radar model: {model}")
module = producers[model]
return [sys.executable, "-m", f"python_app.scripts.{module}", "--config", str(config_path)]