Доработка. Добавлена возможность изменять ширину полосы излучения из настроек.

This commit is contained in:
MaD_CaT
2025-12-16 11:24:37 +03:00
parent 45c19973af
commit 3b5bf2ce2c
2 changed files with 12 additions and 5 deletions

View File

@@ -63,7 +63,8 @@ const SETTING_TABLE = [
['уарэп-трасса', TableEdit, TableEdit, 'IP-адрес для связи с Трассой [<адрес этого узла>, <адрес удалённого узла>, <порт этого узла>, <порт удалённого узла>]'],
['Включить работу по своим целям', TableEdit, TableToggle, 'Разрешает работу в секторе со своей целью'],
['Список своих протоколов', TableEdit, TableEdit, 'Список протоколов целей, по которым запрещено работать' ],
['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ] ]
['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ],
['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'], ]
## TODO: Придумать как избавиться от индексов
## Индексы строк таблицы.

View File

@@ -94,6 +94,8 @@ const INTERFER_OFF = 'off'
const INTERFER_IQFILE = 'IQ-файл'
const POW_DEFAULT: float = 50.0
const PERIOD_DEFAULT = 7.5
const MIN_WIDTH_COEF = 1.0
var msg6_num: int = 0 ## Счётчик сообщений "тип 6"
var msg8_num: int = 0 ## Счётчик сообщений "тип 8"
var id_array: Array ## Массив id воздействий.
@@ -109,6 +111,7 @@ var gos_flag = true ## Флаг работать п
var gos_protocols: PackedStringArray ## Список протоколов своих целей
var gos_nmfs: Array ## Список номеров блоков ФС для которых запрещена работа
var fs_closed: Dictionary ## Словарь секторов запрета
var width_coef: float = 1.5 ## Коэффициент расширения полосы
## Режимы работы АФСП и БПО (Протокол ТНИИС-СТЦ, пункт 2.5.10)
@@ -405,7 +408,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, power, u, ecms) -> v
kni += 360.0
var id = item.id
param['freq'] = item.freq
param['width'] = item.width * 1.5
param['width'] = item.width * width_coef
if (item.rkrp != '') and item.fflags.rkrp and auto_enabled:
var krp = get_krp(item)
if krp != '':
@@ -594,7 +597,7 @@ func on_threats_update(threat, ecms, unit_caps):
ecm = ecms[ecm_i]
ecm.priority = threat.priority
ecm.params['freq'] = threat.freq
var width = threat.width * 1.5
var width = threat.width * width_coef
ecm.params['width'] = width
check_width(ecm.params)
if (threat.rkrp != '') and threat.fflags.rkrp and auto_enabled:
@@ -634,9 +637,9 @@ func set_rparams(threat: threats.Threat, params: Dictionary):
else:
params['freq'] = threat.freq
if threat.rparams.has('width'):
params['width'] = threat.rparams['width'] * 1.5
params['width'] = threat.rparams['width'] * width_coef
else:
params['width'] = threat.width * 1.5
params['width'] = threat.width * width_coef
check_width(params)
if threat.rparams.has('filename'):
params['filename'] = threat.rparams['filename']
@@ -693,6 +696,9 @@ func on_settings_changed():
gos_flag = ProjectSettings.get_setting('application/config/Включить работу по своим целям', true)
var protocols: String = ProjectSettings.get_setting('application/config/Список своих протоколов', '')
gos_protocols = protocols.split(",", true)
width_coef = float(ProjectSettings.get_setting('application/config/Коэффициент ширины полосы излучения', 1.5))
if width_coef < MIN_WIDTH_COEF:
width_coef = MIN_WIDTH_COEF
func call_ecm_proc(ecm):