Merge remote-tracking branch 'refs/remotes/Cat/master'

# Conflicts:
#	scenes/настройки/настройки.gd
This commit is contained in:
lepshiy
2025-03-28 11:29:37 +03:00
4 changed files with 23 additions and 8 deletions

View File

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

View File

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

View File

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

View File

@@ -45,8 +45,13 @@ 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('капсрпб: "%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
@@ -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):
@@ -80,7 +84,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)))
@@ -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)