Рефактор.
This commit is contained in:
@@ -164,7 +164,7 @@ func map_threat_to_bip(th: threats.Threat, bip: Control):
|
||||
var sector_width = 50.0
|
||||
for key in prd.FS_FREQ:
|
||||
var freq_range = prd.FS_FREQ[key]
|
||||
var _num_values = (freq_range[1]- freq_range[0]) / sector_width
|
||||
var _num_values = (freq_range[1] - freq_range[0]) / sector_width
|
||||
if freq_range[0] <= freq and freq <= freq_range[1]:
|
||||
sector_key = key
|
||||
break
|
||||
@@ -195,7 +195,7 @@ func on_interfer_new(ecm):
|
||||
if interfer.thrs.has(ecm.ispp):
|
||||
var th_id = interfer.thrs[ecm.ispp]
|
||||
var bip = get_node('%d' % th_id)
|
||||
if bip!= null:
|
||||
if bip != null:
|
||||
if ecm.krp!= interfer.INTERFER_OFF:
|
||||
bip.set_track_visible(true)
|
||||
if ecm.svk == 1:
|
||||
|
||||
@@ -2,7 +2,7 @@ class_name navigation extends Node
|
||||
|
||||
## "Протокол №120-11435-09.PDF"
|
||||
|
||||
const ONLINE_TIMEOUT: = 5000 ## Время ожидания пакета, милисекунды
|
||||
const ONLINE_TIMEOUT: = 5000 ## Время ожидания пакета, миллисекунды
|
||||
const pow_2_30: = pow(2.0, 30.0)
|
||||
|
||||
## Источник данных навигации
|
||||
|
||||
@@ -153,10 +153,7 @@ func _ready() -> void:
|
||||
var unit_key = settings.get_unit_key(unit_name)
|
||||
units[unit_key] = new_unit
|
||||
units_udp[unit_key] = new_unit
|
||||
if len(st[2]) > 1:
|
||||
dst_ports[unit_key] = st[2][1]
|
||||
else:
|
||||
dst_ports[unit_key] = st[2][0]
|
||||
dst_ports[unit_key] = st[2][1] if len(st[2]) > 1 else st[2][0]
|
||||
|
||||
if proto in TCP_PROTO:
|
||||
var unit_tcp = TCP_PROTO[proto].new(unit_name)
|
||||
|
||||
@@ -8,23 +8,24 @@ const ONLINE_TIMEOUT = 5000 ## Время ожидания пакета от 5
|
||||
const BUFFER_SIZE = 2048 ## Размер приёмного буфера для датаграмм.
|
||||
|
||||
## Тип модуляции для запаковки в пакет для 5П-28.
|
||||
const MOD_TYPES: Array = ['',
|
||||
'am',
|
||||
'ook',
|
||||
'ask',
|
||||
'fm',
|
||||
'qpsk',
|
||||
'oqpsk',
|
||||
'pi4qpsk',
|
||||
'qam16',
|
||||
'qam32',
|
||||
'qam64',
|
||||
'qam128',
|
||||
'qam256',
|
||||
'qam512',
|
||||
'cpfsk',
|
||||
'psk',
|
||||
'ofdm',]
|
||||
const MOD_TYPES: Array = [
|
||||
'',
|
||||
'am',
|
||||
'ook',
|
||||
'ask',
|
||||
'fm',
|
||||
'qpsk',
|
||||
'oqpsk',
|
||||
'pi4qpsk',
|
||||
'qam16',
|
||||
'qam32',
|
||||
'qam64',
|
||||
'qam128',
|
||||
'qam256',
|
||||
'qam512',
|
||||
'cpfsk',
|
||||
'psk',
|
||||
'ofdm' ]
|
||||
|
||||
const CU_STATE: Dictionary = {
|
||||
0: 2, # Подготовка к выполнению
|
||||
@@ -42,19 +43,19 @@ class TCP5P28 extends unit.Unit:
|
||||
const CMD_TYPE_IN: int = 3
|
||||
|
||||
const PR_STATE: Dictionary = {
|
||||
'уарэп-эмс': [1, 1],
|
||||
'уарэп-яу07-1н': [9, 8],
|
||||
'уарэп-яу07-1в': [5, 4],
|
||||
'уарэп-яу07-1к': [13, 12],
|
||||
'уарэп-яу07-2н': [10, 9],
|
||||
'уарэп-яу07-2в': [6, 5],
|
||||
'уарэп-яу07-2к': [14, 13],
|
||||
'уарэп-яу07-3н': [11, 10],
|
||||
'уарэп-яу07-3в': [7, 6],
|
||||
'уарэп-яу07-3к': [15, 14],
|
||||
'уарэп-яу07-4н': [12, 11],
|
||||
'уарэп-яу07-4в': [8, 7],
|
||||
'уарэп-яу07-4к': [16, 15], }
|
||||
'уарэп-эмс': [1, 1],
|
||||
'уарэп-яу07-1н': [9, 8],
|
||||
'уарэп-яу07-1в': [5, 4],
|
||||
'уарэп-яу07-1к': [13, 12],
|
||||
'уарэп-яу07-2н': [10, 9],
|
||||
'уарэп-яу07-2в': [6, 5],
|
||||
'уарэп-яу07-2к': [14, 13],
|
||||
'уарэп-яу07-3н': [11, 10],
|
||||
'уарэп-яу07-3в': [7, 6],
|
||||
'уарэп-яу07-3к': [15, 14],
|
||||
'уарэп-яу07-4н': [12, 11],
|
||||
'уарэп-яу07-4в': [8, 7],
|
||||
'уарэп-яу07-4к': [16, 15] }
|
||||
|
||||
signal get_threats(unit: TCP5P28) ## Сигнал запрос целей.
|
||||
signal get_interfers(unit: TCP5P28) ## Запрос состояния выполнения целеуказания.
|
||||
@@ -125,7 +126,7 @@ class TCP5P28 extends unit.Unit:
|
||||
var data_len = 12 # длинна блока данных в байтах
|
||||
data.resize(data_len)
|
||||
data.encode_u16(0, 0) # Код ошибки
|
||||
data.encode_u16(2, len(interfers)) # Количество целей
|
||||
data.encode_u16(2, interfers.size()) # Количество целей
|
||||
data.encode_u32(4, uarep_state) # Состояние УА-РЕП
|
||||
data.encode_u32(8, uarep_line) # Состояние линий связи
|
||||
var cu_data: PackedByteArray = []
|
||||
@@ -133,15 +134,11 @@ class TCP5P28 extends unit.Unit:
|
||||
for id in interfers.values():
|
||||
var cu = ecms[id]
|
||||
cu_data.encode_u16(0, cu.ispp)
|
||||
var state: int
|
||||
if CU_STATE.has(cu.svk):
|
||||
state = CU_STATE[cu.svk]
|
||||
else:
|
||||
state = 9
|
||||
var state: int = CU_STATE[cu.svk] if CU_STATE.has(cu.svk) else 9
|
||||
cu_data.encode_u8(2, state) # Состояние выполнения команды
|
||||
cu_data.encode_u8(3, 0xFF) # Эффективность работы помехи
|
||||
data.append_array(cu_data)
|
||||
var data_to_send: PackedByteArray = create_header(data_len + 4 * len(interfers))
|
||||
var data_to_send: PackedByteArray = create_header(data_len + 4 * interfers.size())
|
||||
data_to_send.append_array(data)
|
||||
tx_stack.append(data_to_send)
|
||||
|
||||
@@ -192,7 +189,7 @@ class TCP5P28 extends unit.Unit:
|
||||
func to_cp866(proto: String, th_data: PackedByteArray):
|
||||
var cp866_proto: PackedByteArray = proto.to_ascii_buffer()
|
||||
cp866_proto.resize(36)
|
||||
for i in len(cp866_proto):
|
||||
for i in cp866_proto.size():
|
||||
th_data[28 + i] = cp866_proto[i]
|
||||
|
||||
func set_interfer(data: PackedByteArray):
|
||||
|
||||
Reference in New Issue
Block a user