Доработка. Возможность изменять мощность при вызове сигнала инициализации помехи.
This commit is contained in:
@@ -24,6 +24,7 @@ const ITERFER_MODE = {
|
||||
const SOURCE_INTERFER = ['th','fs','cu']
|
||||
const ID_INTERFERS_LEN = 63 ## Размер пула номеров целей.
|
||||
const INTERFER_OFF = 'off'
|
||||
const POW_DEFAULT: float = 100.0
|
||||
var msg_num: int = 0 ## Счётчик сообщений.
|
||||
var id_array: Array ## Массив id воздействий.
|
||||
var thrs: Dictionary ## Словарь воздействия для целей, ключ - id воздействия.
|
||||
@@ -62,6 +63,7 @@ class Interfer:
|
||||
data_to_json['params'] = params
|
||||
data_to_json['get'] = get_params
|
||||
var pac = JSON.stringify(data_to_json).to_utf8_buffer()
|
||||
print_debug(powp)
|
||||
return pac
|
||||
|
||||
func set_from_dic(dic: Dictionary):
|
||||
@@ -155,7 +157,7 @@ func on_th_aoa_update(threats: Dictionary, ecms: Dictionary, unit) -> void:
|
||||
if auto_enabled:
|
||||
for thr in threats.values():
|
||||
thr.auto_selected = true
|
||||
signaller.emit_signal('interfer_init', 'lchm1', [])
|
||||
signaller.emit_signal('interfer_init', 'lchm1', [], interfer.POW_DEFAULT)
|
||||
thr.auto_selected = false
|
||||
|
||||
|
||||
@@ -186,7 +188,7 @@ func on_data_capsrpb_received(unit0: capsrpb.CapsRpb, ecms: Dictionary) -> void:
|
||||
|
||||
|
||||
## Вызыватся, когда пользователь выбрал помеху и выбраны цели.
|
||||
func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void:
|
||||
func on_interfer_create(interfer_name, sel_threats, fs_arr, power, u, ecms) -> void:
|
||||
for item in sel_threats:
|
||||
var param: Dictionary = {}
|
||||
var kni: float = item.aoa
|
||||
@@ -197,7 +199,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void:
|
||||
param['width'] = settings.WIDTH_MIN
|
||||
elif (param['width'] > settings.WIDTH_MAX):
|
||||
param['width'] = settings.WIDTH_MAX
|
||||
interfer_create(u, interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0])
|
||||
interfer_create(u, interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0], POW_DEFAULT)
|
||||
|
||||
for item in fs_arr:
|
||||
var param: Dictionary = {}
|
||||
@@ -209,7 +211,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms) -> void:
|
||||
param['width'] = settings.WIDTH_MIN
|
||||
elif (param['width'] > settings.WIDTH_MAX):
|
||||
param['width'] = settings.WIDTH_MAX
|
||||
interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1])
|
||||
interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1], POW_DEFAULT)
|
||||
|
||||
|
||||
func on_interfer_rcv(interfer_params: Array, unit0, ecms) -> void:
|
||||
@@ -238,11 +240,11 @@ func on_interfer_rcv(interfer_params: Array, unit0, ecms) -> void:
|
||||
if interfer_name == '':
|
||||
err = true
|
||||
if not err:
|
||||
interfer_create(unit0, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2])
|
||||
interfer_create(unit0, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2], POW_DEFAULT)
|
||||
unit0.on_interfer_accept(err)
|
||||
|
||||
|
||||
func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer) -> void:
|
||||
func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer, power) -> void:
|
||||
var ispp: int = 0
|
||||
if interfer_name == 'k1':
|
||||
param['dur'] = 1.0 # Необходимо добавить параметры управления
|
||||
@@ -270,7 +272,7 @@ func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interf
|
||||
ecm.kni = kni
|
||||
ecm.krp = interfer_name
|
||||
ecm.params = param
|
||||
ecm.powp = 100.0
|
||||
ecm.powp = power
|
||||
ecm.source_interfer = source_interfer
|
||||
ecm.modulation = emit_enable
|
||||
if param.has('um'):
|
||||
|
||||
Reference in New Issue
Block a user