Рефактор.

This commit is contained in:
sasha80
2025-05-19 15:32:43 +03:00
parent f6e253abd8
commit d665202c5c
4 changed files with 39 additions and 45 deletions

View File

@@ -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:

View File

@@ -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)
## Источник данных навигации

View File

@@ -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)

View File

@@ -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):