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/frame-ecm-list/scroll-ecm-list.gd b/scenes/frame-ecm-list/scroll-ecm-list.gd index 6a9becd6..1ff8dc60 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': 'ЕЛРС' } ## Индексы колонок 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 426de162..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): @@ -485,6 +474,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..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: @@ -17,7 +23,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 ## Рекомендуемые параметры помехи. @@ -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