Доработка. Возможность изменять мощность при вызове сигнала инициализации помехи.
This commit is contained in:
@@ -296,7 +296,7 @@ func _on_control_fs(mode: bool) -> void:
|
||||
else:
|
||||
interfer_name = 'off'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr)
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0)
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
|
||||
@@ -261,7 +261,7 @@ func _on_control_fs(mode: bool) -> void:
|
||||
else:
|
||||
interfer_name = 'off'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr)
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0)
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
|
||||
@@ -269,7 +269,7 @@ func _on_control_fs(mode: bool) -> void:
|
||||
else:
|
||||
interfer_name = 'off'
|
||||
fs_arr = [[90.0, 2450.0, 1500.0, 23]]
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr)
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, 100.0)
|
||||
|
||||
|
||||
func on_stop_control() -> void:
|
||||
|
||||
@@ -305,7 +305,7 @@ func on_button_pressed(btn_this, btn_others) -> void:
|
||||
var interfer_name: String = btn_this.get_meta('rfi_name')
|
||||
for key in fs_selected.keys():
|
||||
fs_arr.append(prd.get_fs_param(key))
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr)
|
||||
signaller.emit_signal('interfer_init', interfer_name, fs_arr, interfer.POW_DEFAULT)
|
||||
|
||||
|
||||
## Управляет состоянием кнопок в радиогруппе при выборе помехи.
|
||||
@@ -491,7 +491,7 @@ func on_interfer_prinuditelno (prenuditelno_sectors, btns):
|
||||
var sectors = []
|
||||
for sector in prenuditelno_sectors[key]:
|
||||
sectors.append(prd.get_fs_param(sector))
|
||||
signaller.emit_signal('interfer_init', key, sectors)
|
||||
signaller.emit_signal('interfer_init', key, sectors, interfer.POW_DEFAULT)
|
||||
update_fs_colors()
|
||||
for btn in btns:
|
||||
btn.set_pressed(false)
|
||||
|
||||
@@ -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'):
|
||||
|
||||
@@ -89,13 +89,13 @@ signal rto_threat_unsel_all()
|
||||
|
||||
## Вызывается, когда пользователь выбирает помеху.[br]
|
||||
## [param btn] - Нажатая кнопка помехи.
|
||||
signal interfer_init(interfer_name: String, fs_arr: Array)
|
||||
signal interfer_init(interfer_name: String, fs_arr: Array, power: float)
|
||||
|
||||
|
||||
## Вызывается, когда выбраны цели для постановки помех.[br]
|
||||
## [param btn] - Нажатая кнопка помехи.[br]
|
||||
## [param sel_threats] - Cписок целей.
|
||||
signal interfer_create(interfer_name: String, sel_threats: Array, fs_arr: Array)
|
||||
signal interfer_create(interfer_name: String, sel_threats: Array, fs_arr: Array, power: float)
|
||||
|
||||
|
||||
## Вызывается, когда создалась новая помеха.[br]
|
||||
|
||||
@@ -110,7 +110,7 @@ func on_threat_selected(th, threats):
|
||||
|
||||
|
||||
## Формирует список выбранных целей для включения помехи.
|
||||
func on_interfer_init(interfer_name, fs_arr, threats):
|
||||
func on_interfer_init(interfer_name, fs_arr, power, threats):
|
||||
var sel_threats: Array = []
|
||||
for threat in threats.values():
|
||||
if threat.selected:
|
||||
@@ -118,7 +118,7 @@ func on_interfer_init(interfer_name, fs_arr, threats):
|
||||
if threat.auto_selected:
|
||||
sel_threats.append(threat)
|
||||
if len(sel_threats) or (len(fs_arr)):
|
||||
signaller.emit_signal('interfer_create', interfer_name, sel_threats, fs_arr)
|
||||
signaller.emit_signal('interfer_create', interfer_name, sel_threats, fs_arr, power)
|
||||
|
||||
|
||||
## Производит приём целей.
|
||||
|
||||
Reference in New Issue
Block a user