Merge remote-tracking branch 'MaD_CaT/master'

# Conflicts:
#	scenes/настройки/настройки.gd
This commit is contained in:
sasha80
2025-12-24 16:14:06 +03:00
6 changed files with 20 additions and 26 deletions

View File

@@ -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"]

View File

@@ -37,7 +37,7 @@ const INTERFER_NAMES = {
'k1': 'K1',
'svm2': 'СВ-М2',
'ozp1': 'ОЗП-1',
'eprls': 'ЕПРЛС' }
'elrs': 'ЕЛРС' }
## Индексы колонок

View File

@@ -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"]

View File

@@ -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"]

View File

@@ -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)

View File

@@ -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