From ffc1cd4c32f694390de552fe49ac9b69a71d4458 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Fri, 19 Dec 2025 15:28:56 +0300 Subject: [PATCH 1/4] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F.=20=D0=98=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D0=B2=D1=8B=D0=BB=D0=B5=D1=82=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B8=20=D0=BF=D0=BE=D0=BF=D1=8B=D1=82=D0=BA=D0=B5?= =?UTF-8?q?=20=D0=BD=D0=B0=D0=B7=D0=BD=D0=B0=D1=87=D0=B8=D1=82=D1=8C=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D1=85=D1=83=20=D0=BD=D0=B0=20=D0=BD?= =?UTF-8?q?=D0=B5=D1=81=D1=83=D1=89=D0=B5=D1=81=D1=82=D0=B2=D1=83=D1=8E?= =?UTF-8?q?=D1=89=D0=B8=D0=B9=20=D1=81=D0=B5=D0=BA=D1=82=D0=BE=D1=80=20nmf?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа/работа.tscn | 2 +- scripts/interfer.gd | 3 +++ scripts/threats.gd | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/scenes/работа/работа.tscn b/scenes/работа/работа.tscn index c08c2b77..c8fd4dff 100644 --- a/scenes/работа/работа.tscn +++ b/scenes/работа/работа.tscn @@ -383,8 +383,8 @@ texture_normal = ExtResource("14_ggrwd") [connection signal="toggled" from="btn_activate" to="." method="on_btn_activate_toggled"] [connection signal="toggled" from="btn_center" to="." method="on_btn_center_toggled"] [connection signal="button_down" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_down"] -[connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_up"] [connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_button_up"] +[connection signal="button_up" from="zoom_plus" to="tilemap" method="_on_zoom_plus_button_up"] [connection signal="button_down" from="zoom_minus" to="tilemap" method="_on_zoom_minus_button_down"] [connection signal="button_up" from="zoom_minus" to="tilemap" method="_on_zoom_button_up"] [connection signal="pressed" from="btn_all_work" to="." method="_on_btn_all_work_pressed"] diff --git a/scripts/interfer.gd b/scripts/interfer.gd index 426de162..99b18026 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -485,6 +485,9 @@ func interfer_create(_u, interfer_name, ecms, param, kni, id, dict, source_inter var set_nmfs_ok = set_nmfs(ecm) if set_nmfs_ok != Error.OK: log.error('Ошибка выбора модуля ФС для помехи: %s' %[ecm.ispp]) + ecms.erase(ispp) + dict.erase(ispp) + return signaller.emit_signal('interfer_new', ecm) if interfer_name == 'off': signaller.emit_signal('interfer_off', ecm) diff --git a/scripts/threats.gd b/scripts/threats.gd index 2bf2f221..06dc5c4a 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -17,7 +17,7 @@ class Threat: var id: int ## Идентификатор цели. var lat: float ## Текущие координаты, широта в градусах. var lon: float ## Текущие координаты, долгота в градусах. - var pow: float ## Уровень принимаемого сигнала, дБм. + var pow: float ## Уровень принимаемого сигнала, дБм. var proto: String ## Тип протокола источника сигнала. var rkrp: String ## Рекомендуемый режим помехи. var rparams: Dictionary ## Рекомендуемые параметры помехи. From a2255610b57528ad9035a7c01548e45f10a0fa48 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 24 Dec 2025 14:30:31 +0300 Subject: [PATCH 2/4] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9F=D0=BE=D0=BC=D0=B5=D1=85=D0=B5=20=D0=95?= =?UTF-8?q?=D0=9B=D0=A0=D0=A1=20=D0=BF=D1=80=D0=B8=D1=81=D0=B2=D0=BE=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=B8=D0=BC=D1=8F=20=D0=B2=20=D1=82=D0=B0=D0=B1?= =?UTF-8?q?=D0=BB=D0=B8=D1=86=D0=B5=20=D0=BF=D0=BE=D0=BC=D0=B5=D1=85.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/frame-ecm-list/scroll-ecm-list.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/frame-ecm-list/scroll-ecm-list.gd b/scenes/frame-ecm-list/scroll-ecm-list.gd index 47506b7a..60b73c91 100644 --- a/scenes/frame-ecm-list/scroll-ecm-list.gd +++ b/scenes/frame-ecm-list/scroll-ecm-list.gd @@ -37,7 +37,7 @@ const INTERFER_NAMES = { 'k1': 'K1', 'svm2': 'СВ-М2', 'ozp1': 'ОЗП-1', - 'eprls': 'ЕПРЛС' } + 'elrs': 'ЕЛРС' } ## Индексы колонок From 57f9494ad4b256cc2ae9a9c37aee3ddba886a048 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 24 Dec 2025 15:58:50 +0300 Subject: [PATCH 3/4] =?UTF-8?q?=D0=A0=D0=B5=D0=B3=D1=80=D0=B5=D1=81=D1=81?= =?UTF-8?q?=D0=B8=D1=8F.=20=D0=9E=D1=81=D1=82=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D1=80=D0=BE=D0=BF=D0=B0?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=B9=D0=BA=D0=B8=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=20=D0=BE=D1=82=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D1=85=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/diagram/diagram.tscn | 2 +- scenes/настройки/настройки.gd | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scenes/diagram/diagram.tscn b/scenes/diagram/diagram.tscn index b31c4d1e..75272f8f 100644 --- a/scenes/diagram/diagram.tscn +++ b/scenes/diagram/diagram.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=7 format=3 uid="uid://b5kjdyxuwsot5"] -[ext_resource type="Shader" uid="uid://dhipoo0ju5ebg" path="res://shaders/antenas.gdshader" id="1_8cjpq"] +[ext_resource type="Shader" path="res://shaders/antenas.gdshader" id="1_8cjpq"] [ext_resource type="Script" uid="uid://b85scuflwlqom" path="res://scenes/diagram/diagram.gd" id="2_8xjuy"] [ext_resource type="PackedScene" uid="uid://c73ahpv8uiuc7" path="res://scenes/diagram/sector.tscn" id="3_tgnog"] [ext_resource type="Shader" uid="uid://k36g8tww5yo" path="res://shaders/sector.gdshader" id="4_obn6s"] diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index bfe61a0d..157320cb 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -67,8 +67,8 @@ const SETTING_TABLE = [ ['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ], ['Цвет фона схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет фона'], ['Цвет схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет схемы '], - ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'] ] - + ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'], + ['Время повторной отправки помехи', TableEdit, TableEdit, 'Изменение времени повторной отправки помехи'] ] ## TODO: Придумать как избавиться от индексов ## Индексы строк таблицы. From d65dc6d0dc4a5a7411fddd5f864e46f979096f4b Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Wed, 24 Dec 2025 15:59:27 +0300 Subject: [PATCH 4/4] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0.=20=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=D0=BE=20=D1=84?= =?UTF-8?q?=D0=BE=D1=80=D0=BC=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F=20=D1=81=D0=BE=D0=BE=D0=B1=D1=89=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D0=B4=D0=BB=D1=8F=20=D0=9A=D0=90=D0=9F=D0=A1=20=D0=A0=D0=9F?= =?UTF-8?q?=D0=91=20=E2=84=969=20=D0=B2=20threats.gd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/контроль/контроль.tscn | 2 +- scenes/эмс2/эмс2.tscn | 10 ---------- scripts/interfer.gd | 11 ----------- scripts/threats.gd | 14 +++++++++++++- 4 files changed, 14 insertions(+), 23 deletions(-) diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 0f3722ae..282ed644 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -24,7 +24,7 @@ [ext_resource type="Texture2D" uid="uid://c3cyog3gy24ft" path="res://data/У-ЭП.png" id="16_gjf0t"] [ext_resource type="Script" uid="uid://xjs7owe2iexn" path="res://scenes/контроль/control_prd.gd" id="18_lbx5w"] [ext_resource type="Texture2D" uid="uid://b2vf7en1jj8dv" path="res://data/У-РЭП-РПД-В.png" id="20_l5wui"] -[ext_resource type="Script" uid="uid://j16hg3u2uvu5" path="res://scenes/контроль/panel_container.gd" id="21_l5wui"] +[ext_resource type="Script" path="res://scenes/контроль/panel_container.gd" id="21_l5wui"] [ext_resource type="Texture2D" uid="uid://cllxcfa130vqu" path="res://data/УА-РЭП.png" id="22_1s34a"] [sub_resource type="GDScript" id="GDScript_iqgf5"] diff --git a/scenes/эмс2/эмс2.tscn b/scenes/эмс2/эмс2.tscn index f2431c79..23de2d88 100644 --- a/scenes/эмс2/эмс2.tscn +++ b/scenes/эмс2/эмс2.tscn @@ -414,42 +414,34 @@ texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный4" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(582, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный5" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(696, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный6" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(468, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный7" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(390, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный8" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(312, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный9" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(234, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный10" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(156, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="СкруглённыйПрямоугСалатный11" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] position = Vector2(78, 0) -scale = Vector2(1, 1) texture = ExtResource("29_5u4bk") [node name="Приём" type="Sprite2D" parent="СкруглённыйПрямоугСалатный12"] @@ -1017,7 +1009,6 @@ scale = Vector2(0.819155, 0.77966) texture = ExtResource("31_b5v2s") [node name="КнопкаПодтверждения02" type="Sprite2D" parent="КнопкаПодтверждения01"] -scale = Vector2(1, 1) texture = ExtResource("32_p41nv") [node name="СкруглённыйПрямоугольникБелый90" type="Sprite2D" parent="КнопкаПодтверждения01"] @@ -1067,7 +1058,6 @@ texture = ExtResource("31_b5v2s") [node name="КнопкаПодтверждения03" type="Sprite2D" parent="КнопкаПодтверждения01"] position = Vector2(110.144, 0) -scale = Vector2(1, 1) texture = ExtResource("32_p41nv") [node name="СкруглённыйПрямоугольникБелый99" type="Sprite2D" parent="КнопкаПодтверждения01"] diff --git a/scripts/interfer.gd b/scripts/interfer.gd index 99b18026..77c3ae53 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -118,11 +118,6 @@ var resend_timeout: float = 1.0 ## Время повторной signal send_ecms(time_now) ## Сигнал отправки помех, если настало время -## Режимы работы АФСП и БПО (Протокол ТНИИС-СТЦ, пункт 2.5.10) -enum AFSP_BPO_MODE { - run = 1, - test = 2 } - ## Сеанс помехи. class Interfer: @@ -140,7 +135,6 @@ class Interfer: var um: float ## Угол места для помехи. var nmfs: int = 0 ## Номер модуля ФС в нумерации СТЦ var priority: int = 0 ## Приоритет помехи - static var afsp_bpo_mode: = AFSP_BPO_MODE.run ## Режим работы АФСП и БПО func _to_string() -> String: return 'номер: %d название: %s частота: %0.1f МГц пеленг: %0.1f гр.' % [ispp, ITERFER_MODE[krp][0], params['freq'], kni] @@ -152,7 +146,6 @@ class Interfer: data_to_json['ispp'] = ispp data_to_json['krp'] = ITERFER_MODE[krp][0] data_to_json['nmfs'] = nmfs - data_to_json['sa'] = afsp_bpo_mode if krp != INTERFER_OFF: data_to_json['kni'] = kni data_to_json['powp'] = powp @@ -221,8 +214,6 @@ func _ready() -> void: signaller.connect('interfer_prinuditelno', Callable(self, 'on_interfer_prinuditelno')) signaller.connect('emit_changed', Callable(self, 'on_emit_changed').bind(ecms)) signaller.connect('режим_тренаж', on_trenazh_mode) - signaller.connect('режим_контроль', on_kontrol_mode) - signaller.connect('режим_работа', on_rabota_mode) signaller.connect('update_fs_closed', Callable(self, 'on_update_fs_closed')) threats.connect('threat_lost', Callable(self, 'on_threats_lost').bind(ecms, unit_caps)) threats.connect('threats_resized', Callable(self, 'on_threats_resized')) @@ -235,8 +226,6 @@ func _ready() -> void: func on_trenazh_mode(val: bool): trenazh_mode = val -func on_kontrol_mode(): Interfer.afsp_bpo_mode = AFSP_BPO_MODE.test -func on_rabota_mode(): Interfer.afsp_bpo_mode = AFSP_BPO_MODE.run func on_nav_data_received(coords: Dictionary, unit_caps): diff --git a/scripts/threats.gd b/scripts/threats.gd index 06dc5c4a..dd536497 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -1,9 +1,15 @@ extends Node - ## Работа с целями. +## Режимы работы АФСП и БПО (Протокол ТНИИС-СТЦ, пункт 2.5.10) +enum AFSP_BPO_MODE { + run = 1, + test = 2 } + +var msg9_num: int = 0 ## Счётчик сообщений "тип 9" var gos_flag = true ## Флаг работать по своим целям var gos_protocols: PackedStringArray ## Список протоколов своих целей +var afsp_bpo_mode: = AFSP_BPO_MODE.run ## Режим работы АФСП и БПО ## Цель class Threat: @@ -72,6 +78,8 @@ func _ready() -> void: signaller.connect('threat_selected', Callable(self, 'on_threat_selected').bind(threats)) signaller.connect('interfer_init', Callable(self, 'on_interfer_init').bind(threats)) signaller.connect('connect_work_signal', Callable(self, 'on_connect_work_signal').bind(threats)) + signaller.connect('режим_контроль', on_kontrol_mode) + signaller.connect('режим_работа', on_rabota_mode) ProjectSettings.connect('settings_changed', on_settings_changed.bind(threats)) @@ -185,3 +193,7 @@ func set_gos(th: Threat): func on_connect_work_signal(ths: Dictionary): emit_signal('threats_resized', ths) + + +func on_kontrol_mode(): afsp_bpo_mode = AFSP_BPO_MODE.test +func on_rabota_mode(): afsp_bpo_mode = AFSP_BPO_MODE.run