This commit is contained in:
Ayzen
2026-06-11 19:51:30 +03:00
parent 9661504e51
commit f0d095de80
16 changed files with 1786 additions and 72 deletions
@@ -74,11 +74,13 @@ _WEB_LIVE_SCHEMA = [
("gpr_visible_x_max_m", "Visible window", _GPR_MODES, _dual("_gpr_visible_x_max_m", "_legacy_gpr_visible_x_max_m")),
("gpr_visible_z_min_m", "Visible window", _GPR_MODES, _dual("_gpr_visible_z_min_m", "_legacy_gpr_visible_z_min_m")),
("gpr_visible_z_max_m", "Visible window", _GPR_MODES, _dual("_gpr_visible_z_max_m", "_legacy_gpr_visible_z_max_m")),
("gpr_look_angle_deg", "Motion", ("legacy_gpr",), _attr("_legacy_gpr_look_angle_deg")),
("gpr_motion_mode", "Motion", ("gpr",), _attr("_gpr_motion_mode")),
("gpr_look_angle_deg", "Motion", _GPR_MODES, _dual("_gpr_look_angle_deg", "_legacy_gpr_look_angle_deg")),
("gpr_direction_sign", "Motion", ("gpr",), _attr("_gpr_direction_sign")),
("gpr_apply_freq_phase_correction", "Motion", ("legacy_gpr",), _attr("_legacy_gpr_apply_freq_phase_correction")),
("gpr_reference_mode", "Motion", ("legacy_gpr",), _attr("_legacy_gpr_reference_mode")),
("ignore_socket_speed", "Motion", ("legacy_gpr",), _attr("_legacy_gpr_ignore_socket_speed_enabled")),
("gpr_speed_m_s", "Motion", ("legacy_gpr",), _attr("_legacy_gpr_speed_m_s")),
("ignore_socket_speed", "Motion", _GPR_MODES, _dual("_gpr_ignore_socket_speed_enabled", "_legacy_gpr_ignore_socket_speed_enabled")),
("gpr_speed_m_s", "Motion", _GPR_MODES, _dual("_gpr_speed_m_s", "_legacy_gpr_speed_m_s")),
]
_WEB_LIVE_GETTERS = {field: getter for field, _group, _modes, getter in _WEB_LIVE_SCHEMA}
@@ -93,7 +95,6 @@ _NON_WIDGET_LIVE_FIELDS = frozenset({
"reprocess_current_result",
"history_command",
"history_command_seq",
"gpr_direction_sign",
})
# Display toggles: GUI-only rendering choices (kept in the GUI profile, not the live
@@ -293,6 +293,11 @@ class AppWindowConfigProfileIOMixin:
self._gpr_range_comp_power,
self._gpr_angle_comp_power,
self._gpr_score_mode,
self._gpr_motion_mode,
self._gpr_look_angle_deg,
self._gpr_direction_sign,
self._gpr_ignore_socket_speed_enabled,
self._gpr_speed_m_s,
self._gpr_max_detected_objects_to_draw,
self._gpr_draw_top_m_objects,
self._gpr_start_freq_mhz,
@@ -453,6 +458,13 @@ class AppWindowConfigProfileIOMixin:
self._gpr_range_comp_power.setValue(float(gui_state.processing.gpr.range_comp_power))
self._gpr_angle_comp_power.setValue(float(gui_state.processing.gpr.angle_comp_power))
self._set_combo_current_text(self._gpr_score_mode, gui_state.processing.gpr.score_mode)
self._set_combo_current_text(self._gpr_motion_mode, gui_state.processing.gpr.motion_mode)
self._gpr_look_angle_deg.setValue(float(gui_state.processing.gpr.look_angle_deg))
self._gpr_direction_sign.setValue(float(gui_state.processing.gpr.direction_sign))
self._gpr_ignore_socket_speed_enabled.setChecked(
bool(gui_state.processing.gpr.ignore_socket_speed_enabled)
)
self._gpr_speed_m_s.setValue(float(gui_state.processing.gpr.speed_m_s))
self._gpr_max_detected_objects_to_draw.setValue(
int(gui_state.processing.gpr.max_detected_objects_to_draw)
)
@@ -223,9 +223,14 @@ class AppWindowConfigStateBuildersMixin:
output_positions=self._default_gpr_output_positions_from_config(config),
min_depth_m=2.0,
max_depth_m=14.0,
range_comp_power=0.28,
angle_comp_power=0.10,
range_comp_power=0.1,
angle_comp_power=0.0,
score_mode="combined",
motion_mode="int_minus",
look_angle_deg=0.0,
direction_sign=1.0,
speed_m_s=0.0,
ignore_socket_speed_enabled=False,
max_detected_objects_to_draw=5,
draw_top_m_objects=2,
start_freq_mhz=3000.0,
@@ -347,6 +352,11 @@ class AppWindowConfigStateBuildersMixin:
range_comp_power=float(self._gpr_range_comp_power.value()),
angle_comp_power=float(self._gpr_angle_comp_power.value()),
score_mode=self._gpr_score_mode.currentText(),
motion_mode=self._gpr_motion_mode.currentText(),
look_angle_deg=float(self._gpr_look_angle_deg.value()),
direction_sign=float(self._gpr_direction_sign.value()),
speed_m_s=float(self._gpr_speed_m_s.value()),
ignore_socket_speed_enabled=bool(self._gpr_ignore_socket_speed_enabled.isChecked()),
max_detected_objects_to_draw=int(self._gpr_max_detected_objects_to_draw.value()),
draw_top_m_objects=int(self._gpr_draw_top_m_objects.value()),
start_freq_mhz=float(self._gpr_start_freq_mhz.value()),