diff --git a/scripts/interfer.gd b/scripts/interfer.gd index ec001b67..da437725 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -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):