Рефактор
This commit is contained in:
@@ -21,10 +21,6 @@ const ITERFER_MODE = {
|
||||
'k1': ['K1', ['freq', 'width', 'dur', 'period'], 50],
|
||||
'ozp1': ['ОЗП-1', ['freq', 'width'], 51] }
|
||||
|
||||
const FREQ_MAX = 6000
|
||||
const FREQ_MIN = 400
|
||||
const WIDTH_MAX = 120
|
||||
const WIDTH_MIN = 0
|
||||
|
||||
const SOURCE_INTERFER = ['th','fs','cu']
|
||||
const ID_INTERFERS_LEN = 63 ## Размер пула номеров целей.
|
||||
@@ -44,7 +40,7 @@ class Interfer:
|
||||
var ispp: int = 0 ## Индекс сеанса.
|
||||
var svk: = 0 ## Состояние сеанса. Ответ КАПСРПБ. Возможные значения в [param ITERFER_STATE].
|
||||
var krp: String = '' ## Тип помехи. Возможные значения в [param INTERFER_MODE].
|
||||
var powp: float = 0.0 ## Мощность излучения выраженная в процентах.
|
||||
var powp: float = 100.0 ## Мощность излучения выраженная в процентах.
|
||||
var kni: = 0.0 ## Курсовой угол направления излучения.
|
||||
var params: = {} ## Параметры помехи.
|
||||
var get_params: Array[String] ## Запрос массива параметров (список запрошенных параметров).
|
||||
@@ -57,7 +53,7 @@ class Interfer:
|
||||
func _to_string() -> String:
|
||||
return 'номер: %d название: %s частота: %0.1f МГц пеленг: %0.1f гр.' % [ispp, ITERFER_MODE[krp][0], params['freq'], kni]
|
||||
|
||||
func get_msg6_data():
|
||||
func get_msg6_data() -> PackedByteArray:
|
||||
var data_to_json : Dictionary = {}
|
||||
data_to_json['ts'] = 6
|
||||
data_to_json['ss'] = ss
|
||||
@@ -65,11 +61,10 @@ class Interfer:
|
||||
data_to_json['krp'] = krp
|
||||
if krp != INTERFER_OFF:
|
||||
data_to_json['kni'] = kni
|
||||
data_to_json['powp'] = powp # Необходимо добавить управление мощностью
|
||||
data_to_json['powp'] = powp # TODO: Необходимо добавить управление мощностью
|
||||
data_to_json['get'] = []
|
||||
data_to_json['params'] = params
|
||||
var json = JSON.stringify(data_to_json)
|
||||
var pac = json.to_utf8_buffer()
|
||||
var pac = JSON.stringify(data_to_json).to_utf8_buffer()
|
||||
return pac
|
||||
|
||||
func set_from_dic(dic: Dictionary):
|
||||
@@ -198,10 +193,10 @@ func on_interfer_create(interfer_name, sel_threats, fs_arr, _unit, ecms):
|
||||
var id = item.id
|
||||
param['freq'] = item.freq
|
||||
param['width'] = item.width
|
||||
if (param['width'] < WIDTH_MIN):
|
||||
param['width'] = WIDTH_MIN
|
||||
elif (param['width'] > WIDTH_MAX):
|
||||
param['width'] = WIDTH_MAX
|
||||
if (param['width'] < settings.WIDTH_MIN):
|
||||
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])
|
||||
|
||||
for item in fs_arr:
|
||||
@@ -219,17 +214,17 @@ func on_interfer_rcv(interfer_params: Array, unit, ecms):
|
||||
var id = interfer_params[1]
|
||||
var aoa = interfer_params[2]
|
||||
var um = interfer_params[3]
|
||||
if (aoa < 0) and (aoa > 360):
|
||||
if (aoa < 0.0) and (aoa > 360.0):
|
||||
err = true
|
||||
var param: Dictionary = {}
|
||||
if (um < -5) and (um > 55):
|
||||
if (um < -settings.UM_MIN) and (um > settings.UM_MAX):
|
||||
err = true
|
||||
param['um'] = um
|
||||
param['freq'] = interfer_params[4]
|
||||
if (param['freq'] < FREQ_MIN) and (param['freq'] > FREQ_MAX):
|
||||
if (param['freq'] < settings.FREQ_MIN) and (param['freq'] > settings.FREQ_MAX):
|
||||
err = true
|
||||
param['width'] = interfer_params[5]
|
||||
if (param['width'] < WIDTH_MIN) and (param['width'] > WIDTH_MAX):
|
||||
if (param['width'] < settings.WIDTH_MIN) and (param['width'] > settings.WIDTH_MAX):
|
||||
err = true
|
||||
var interfer_name: String
|
||||
for key in ITERFER_MODE:
|
||||
@@ -256,8 +251,10 @@ func interfer_create(interfer_name, ecms, param, kni, id, dict, source_interfer)
|
||||
if interfer_name == 'off':
|
||||
return
|
||||
ispp = pop_id()
|
||||
if ispp == 0: return
|
||||
else: ispp = id
|
||||
if ispp == 0:
|
||||
return
|
||||
else:
|
||||
ispp = id
|
||||
dict[ispp] = id
|
||||
msg_ss += 1
|
||||
var ecm: Interfer
|
||||
@@ -305,7 +302,7 @@ func on_threats_lost(th, ecms, unit):
|
||||
var ecm = ecms[ecm_id]
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit)
|
||||
signaller.emit_signal('interfer_off',ecm, ecms, thrs)
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
|
||||
|
||||
func pop_id() -> int:
|
||||
|
||||
Reference in New Issue
Block a user