Merge remote-tracking branch 'MaD_CaT/master'
# Conflicts: # scenes/настройки/настройки.gd
This commit is contained in:
@@ -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"]
|
||||
|
||||
@@ -37,7 +37,7 @@ const INTERFER_NAMES = {
|
||||
'k1': 'K1',
|
||||
'svm2': 'СВ-М2',
|
||||
'ozp1': 'ОЗП-1',
|
||||
'eprls': 'ЕПРЛС' }
|
||||
'elrs': 'ЕЛРС' }
|
||||
|
||||
|
||||
## Индексы колонок
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user