Доработка. Отправка команды с помехой в КАПС РПБ после создания помехи.

This commit is contained in:
MaD_CaT
2025-04-14 10:50:00 +03:00
parent ddaee9325c
commit 8be67b99de

View File

@@ -24,7 +24,6 @@ const ITERFER_MODE = {
const SOURCE_INTERFER = ['th','fs','cu']
const ID_INTERFERS_LEN = 63 ## Размер пула номеров целей.
const INTERFER_OFF = 'off'
const STATE_TSMT = 5 ## Значение svk для цели, когда ответ ещё не получен.
var msg_num: int = 0 ## Счётчик сообщений.
var id_array: Array ## Массив id воздействий.
var thrs: Dictionary ## Словарь воздействия для целей, ключ - id воздействия.
@@ -55,7 +54,7 @@ class Interfer:
var data_to_json : Dictionary = {}
data_to_json['ts'] = 6
data_to_json['ss'] = msg_num
data_to_json['ispp'] = ispp
data_to_json['ispp'] = ispp
data_to_json['krp'] = krp
if krp != INTERFER_OFF:
data_to_json['kni'] = kni
@@ -184,7 +183,7 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb, ecms: Dictionary):
## Вызыватся, когда пользователь выбрал помеху и выбраны цели.
func on_interfer_create(interfer_name, sel_threats, fs_arr, _unit, ecms):
func on_interfer_create(interfer_name, sel_threats, fs_arr, u, ecms):
for item in sel_threats:
var param: Dictionary = {}
var kni: float = item.aoa
@@ -195,7 +194,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, _unit, ecms):
param['width'] = settings.WIDTH_MIN
elif (param['width'] > settings.WIDTH_MAX):
param['width'] = settings.WIDTH_MAX
interfer_create(interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0])
interfer_create(u, interfer_name, ecms, param, kni, id, thrs, SOURCE_INTERFER[0])
for item in fs_arr:
var param: Dictionary = {}
@@ -207,7 +206,7 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, _unit, ecms):
param['width'] = settings.WIDTH_MIN
elif (param['width'] > settings.WIDTH_MAX):
param['width'] = settings.WIDTH_MAX
interfer_create(interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1])
interfer_create(u, interfer_name, ecms, param, kni, id, fs, SOURCE_INTERFER[1])
func on_interfer_rcv(interfer_params: Array, unit, ecms):
@@ -236,11 +235,11 @@ func on_interfer_rcv(interfer_params: Array, unit, ecms):
if interfer_name == '':
err = true
if not err:
interfer_create(interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2])
interfer_create(unit, interfer_name, ecms, param, aoa, id, cu, SOURCE_INTERFER[2])
unit.on_interfer_accept(err)
func interfer_create(interfer_name, ecms, param, kni, id, dict, source_interfer):
func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interfer):
var ispp: int = 0
if interfer_name == 'k1':
param['dur'] = 1.0 # Необходимо добавить параметры управления
@@ -265,7 +264,6 @@ func interfer_create(interfer_name, ecms, param, kni, id, dict, source_interfer)
ecm = Interfer.new()
ecm.ispp = ispp
ecms[ispp] = ecm
ecm.svk = STATE_TSMT # Подготовка к передаче сообщения
ecm.kni = kni
ecm.krp = interfer_name
ecm.params = param
@@ -281,6 +279,7 @@ func interfer_create(interfer_name, ecms, param, kni, id, dict, source_interfer)
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
thrs.erase(ispp)
ecm.tick_tx = Time.get_ticks_msec()
send_ecm(ecm, u)
func send_ecm(ecm, unit):