From 9401656a3bb5f66153a7b7cd6e203d8ba7f7aad2 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 27 Mar 2025 14:47:05 +0300 Subject: [PATCH 1/3] =?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=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=B2=D0=BD=D0=B5=D1=88=D0=BD=D0=B5=D0=B5=20=D1=86=D0=B5?= =?UTF-8?q?=D0=BB=D0=B5=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/save1.png.import | 6 +++--- scenes/настройки/настройки.gd | 4 +++- scenes/настройки/настройки.tscn | 2 +- scenes/эмс/эмс.tscn | 2 +- scripts/tcp5p28.gd | 4 ++-- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/data/save1.png.import b/data/save1.png.import index 32b523c..7e44506 100644 --- a/data/save1.png.import +++ b/data/save1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://csnts8f155sf7" -path="res://.godot/imported/save1.png-71614b438670d8c00484426836e4048f.ctex" +path="res://.godot/imported/save1.png-fe0ea2e877c55fd87cac57974b80e102.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://scenes/настройки/save1.png" -dest_files=["res://.godot/imported/save1.png-71614b438670d8c00484426836e4048f.ctex"] +source_file="res://data/save1.png" +dest_files=["res://.godot/imported/save1.png-fe0ea2e877c55fd87cac57974b80e102.ctex"] [params] diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 82bf49a..dc1c210 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -52,6 +52,8 @@ const SETTING_TABLE = [ ['уарэп-спт25-1', TableEdit, TableEdit ], ['уарэп-спт25-2', TableEdit, TableEdit ] ] + +const EXTERNAL_CU = 17 # Внешнее целееуказание const SUPPRESS = 18 # Строка - Подавление const KEYBORD = 19 # Строка - Виртуальная клавиатура const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2 @@ -142,7 +144,7 @@ func setting_tab(): func button_settings(): - var extern_cu_node = $scroll_set/table.get_node2(1, SUPPRESS).get_children()[1] + var extern_cu_node = $scroll_set/table.get_node2(1, EXTERNAL_CU).get_children()[1] extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node)) $scroll_set/table.set_row_text(SUPPRESS,(['Кнопка «Подавление»'])) $scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура'])) diff --git a/scenes/настройки/настройки.tscn b/scenes/настройки/настройки.tscn index 6fa43a2..1d8ad66 100644 --- a/scenes/настройки/настройки.tscn +++ b/scenes/настройки/настройки.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://scenes/настройки/настройки.gd" id="1_2l3rd"] [ext_resource type="Script" path="res://table/table.gd" id="2_6sx73"] -[ext_resource type="Texture2D" uid="uid://lkw8k7ouj42i" path="res://data/save1.png" id="3_dbpks"] +[ext_resource type="Texture2D" uid="uid://csnts8f155sf7" path="res://data/save1.png" id="3_dbpks"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pyq6h"] texture = ExtResource("3_dbpks") diff --git a/scenes/эмс/эмс.tscn b/scenes/эмс/эмс.tscn index ba2fb51..0613f1a 100644 --- a/scenes/эмс/эмс.tscn +++ b/scenes/эмс/эмс.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://scenes/эмс/эмс.gd" id="1_mk57x"] [ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat/button-flat.tscn" id="2_eju8r"] -[ext_resource type="Texture2D" uid="uid://lkw8k7ouj42i" path="res://data/save1.png" id="3_onafb"] +[ext_resource type="Texture2D" uid="uid://csnts8f155sf7" path="res://data/save1.png" id="3_onafb"] [ext_resource type="Texture2D" uid="uid://o8mam0a060d8" path="res://data/load1.png" id="4_afjfs"] [ext_resource type="Texture2D" uid="uid://bdlbqs88bki8x" path="res://data/connect-a.png" id="5_2nrut"] [ext_resource type="Texture2D" uid="uid://u3tnejvpm8it" path="res://data/disconnect-a.png" id="6_g3q7m"] diff --git a/scripts/tcp5p28.gd b/scripts/tcp5p28.gd index 339cd71..865ecb3 100644 --- a/scripts/tcp5p28.gd +++ b/scripts/tcp5p28.gd @@ -46,7 +46,7 @@ class TCP5P28 extends unit.Unit: var tx_stack: Array ## Массив пакетов для отправки. - func _to_string() -> String: return String('капсрпб: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]]) + func _to_string() -> String: return String('5П-28: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]]) func parse(data: PackedByteArray, tick: int): rx_tick = tick @@ -80,7 +80,7 @@ class TCP5P28 extends unit.Unit: var data_len = 4 + len(ths) * 80 # длинна блока данных в байтах var tick0 = Time.get_ticks_msec() data.resize(4) - data.encode_u16(0, 0) # Код ошибки + data.encode_u16(0, 0) # Код ошибки data.encode_u16(2, len(ths)) # Количество целей for th in ths.values(): data.append_array(get_threats_data(th, int(tick0))) From aa0078001c5e34d119806f15dd6dd6947a29c0e0 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 27 Mar 2025 15:23:54 +0300 Subject: [PATCH 2/3] =?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=97=D0=B0=D0=BF=D1=80=D0=BE=D1=81=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D1=80=D0=BE=D0=B5=D0=BA=20=D0=B2=D0=BD=D0=B5?= =?UTF-8?q?=D1=88=D0=BD=D0=B5=D0=B3=D0=BE=20=D1=86=D0=B5=D0=BB=D0=B5=D1=83?= =?UTF-8?q?=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=B8=D1=8F=20=D1=82=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=BA=D0=BE=20=D0=BF=D0=BE=20=D1=81=D0=BE=D0=B1=D1=8B?= =?UTF-8?q?=D1=82=D0=B8=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/tcp5p28.gd | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/scripts/tcp5p28.gd b/scripts/tcp5p28.gd index 865ecb3..4cb5c9c 100644 --- a/scripts/tcp5p28.gd +++ b/scripts/tcp5p28.gd @@ -45,6 +45,11 @@ class TCP5P28 extends unit.Unit: signal get_interfers(unit: TCP5P28) ## Запрос состояния выполнения целеуказания. var tx_stack: Array ## Массив пакетов для отправки. + var ext_cu = false + func _init(nm) -> void: + super._init(nm) + ext_cu = ProjectSettings.get_setting('application/config/external_cu', false) + ProjectSettings.connect('settings_changed', on_setting_changed) func _to_string() -> String: return String('5П-28: "%s" %s ' % [self.name, ['отключен', 'на связи'][int(online)]]) @@ -60,8 +65,7 @@ class TCP5P28 extends unit.Unit: emit_signal('get_threats') if cmd_type == CMD_TYPE_STATE: emit_signal('get_interfers') - var external_cu = ProjectSettings.get_setting('application/config/external_cu', false) - if cmd_type == CMD_TYPE_IN and external_cu: + if cmd_type == CMD_TYPE_IN and ext_cu: set_interfer(data) func process(tick: int): @@ -181,3 +185,6 @@ class TCP5P28 extends unit.Unit: var data_to_send: PackedByteArray = create_header(data_len) data_to_send.append_array(data_tx) tx_stack.append(data_to_send) + + func on_setting_changed(): + ext_cu = ProjectSettings.get_setting('application/config/external_cu', false) From 09fe3285d6bdb3d8d638d3b78644fa75791d2c49 Mon Sep 17 00:00:00 2001 From: MaD_CaT Date: Thu, 27 Mar 2025 15:50:15 +0300 Subject: [PATCH 3/3] =?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=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=83=D0=B3=D0=BE=D0=BB=20=D0=BC=D0=B5=D1=81=D1=82?= =?UTF-8?q?=D0=B0=20=D0=B2=20=D1=82=D0=B0=D0=B1=D0=BB=D0=B8=D1=86=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BC=D0=B5=D1=85=D0=B8,=20=D0=B0=20=D1=82=D0=B0?= =?UTF-8?q?=D0=BA=20=D0=B6=D0=B5=20=D0=B2=D0=BE=D0=B7=D0=BC=D0=BE=D0=B6?= =?UTF-8?q?=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=B5=D0=B3=D0=BE=20=D0=B8?= =?UTF-8?q?=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/frame-ecm-params/scroll-ecm-params.gd | 5 +++-- scripts/interfer.gd | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/scenes/frame-ecm-params/scroll-ecm-params.gd b/scenes/frame-ecm-params/scroll-ecm-params.gd index 0245a76..932993f 100644 --- a/scenes/frame-ecm-params/scroll-ecm-params.gd +++ b/scenes/frame-ecm-params/scroll-ecm-params.gd @@ -18,9 +18,10 @@ const TABLE_PARAMS = { 'freq': [2, 'Частота, МГц', true, 400.0, 6000.0], 'width': [3, 'Занимая полоса частот, МГц', true, 0.0, 120.0], 'dur': [4, 'Длительность импульса, мкс', true, 0.0, 1000000.0], - 'period': [5, 'Период повтора, мкс', true, 0.0, 1000000.0] } + 'period': [5, 'Период повтора, мкс', true, 0.0, 1000000.0], + 'um': [6, 'Угол места, гр.', true, -5.0, 55.0] } -const MOD_ROW_INDEX = 6 ## Индекс строки с модуляцией +const MOD_ROW_INDEX = 7 ## Индекс строки с модуляцией func init_table(): for i in TABLE_PARAMS.size(): $table.add_row(TABLE_ROW) diff --git a/scripts/interfer.gd b/scripts/interfer.gd index b6814fd..2a2a96c 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -214,9 +214,13 @@ func on_interfer_rcv(interfer_params: Array, unit, ecms): var mode = interfer_params[0] var id = interfer_params[1] var aoa = interfer_params[2] + var um = interfer_params[3] if (aoa < 0) and (aoa > 360): err = true var param: Dictionary = {} + if (um < -5) and (um > 55): + err = true + param['um'] = um param['freq'] = interfer_params[4] if (param['freq'] < FREQ_MIN) and (param['freq'] > FREQ_MAX): err = true @@ -267,7 +271,10 @@ func interfer_create(interfer_name, ecms, param, kni, id, dict, source_interfer) ecm.powp = 100.0 ecm.source_interfer = source_interfer ecm.modulation = emit_enable - ecm.um = 15.0 # Значение по умолчанию + if param.has('um'): + ecm.um = param['um'] + else: + ecm.um = 15.0 # Значение по умолчанию signaller.emit_signal('interfer_new', ecm) if interfer_name == 'off': signaller.emit_signal('interfer_off', ecm, ecms, thrs)