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