Merge remote-tracking branch 'sasha/master'

This commit is contained in:
MaD_CaT
2023-09-19 09:53:35 +03:00
12 changed files with 71 additions and 73 deletions

View File

@@ -45,12 +45,12 @@ class Interfer:
names.any(func(vn): if dic.has(vn): set(vn, dic[vn]); return false)
signal interfer_preparing(ecm: Interfer) ## Вызывается при запуске помехи
signal interfer_run(ecm: Interfer) ## Вызывается в момент начала работы помехи
signal interfer_error(ecm: Interfer, msg: String) ## Вызывается при ошибке
signal interfer_update(ecm: Interfer) ## Вызывается при обновлении помехи
signal interfer_new(ecm: Interfer) ## Вызывается при новой помехе
signal interfer_resized(ecms: Dictionary) ## Вызывается при изменении количества сеансов помех
signal interfer_preparing(ecm: Interfer) ## Вызывается в момент запуска помехи.
signal interfer_run(ecm: Interfer) ## Вызывается в момент начала работы помехи.
signal interfer_error(ecm: Interfer, msg: String) ## Вызывается при ошибке.
signal interfer_update(ecm: Interfer) ## Вызывается при обновлении помехи.
signal interfer_new(ecm: Interfer) ## Вызывается при создании новой помехи.
signal interfer_resized(ecms: Dictionary) ## Вызывается при изменении количества сеансов помех.
## Производит приём состояния помех. [param unit] -> [param ecms]

View File

@@ -18,10 +18,10 @@ var logger_page: Node
func create_socket(nm) -> Socket:
var addr = REPSettings.UnitProfiles[nm][1]
var port = REPSettings.UnitProfiles[nm][2]
var broad = REPSettings.UnitProfiles[nm][3]
var bind = REPSettings.UnitProfiles[nm][4]
var addr = repsettings.UnitProfiles[nm][1]
var port = repsettings.UnitProfiles[nm][2]
var broad = repsettings.UnitProfiles[nm][3]
var bind = repsettings.UnitProfiles[nm][4]
var sock: = Socket.new()
sock.set_broadcast_enabled(broad)
var rc = Error.OK if not bind else sock.bind(port, addr)
@@ -39,12 +39,12 @@ func _ready() -> void:
sock_unicast = poll_sockets[0]
sock_capsrpb = poll_sockets[2]
for unit_name in REPSettings.UnitProfiles:
var setting = REPSettings.UnitProfiles[unit_name]
for unit_name in repsettings.UnitProfiles:
var setting = repsettings.UnitProfiles[unit_name]
var proto = setting[0]
if proto in PROTOCOL_TYPES:
var unit = PROTOCOL_TYPES[proto].new(unit_name)
var unit_key = REPSettings.get_unit_key(unit_name)
var unit_key = repsettings.get_unit_key(unit_name)
units[unit_key] = unit
unit.connect('line_changed', Callable(logger_page, 'on_line_changed').bind(unit_key))
unit.connect('command_fail', Callable(logger_page, 'on_command_fail').bind(unit_key))

View File

@@ -33,12 +33,7 @@ extends Node
## Параметры цели
@export var ThreatParams = {
'radius_center': Vector2(560, 560), ## Координаты центра диаграммы в пикселях для отображения частота-пеленг.
'time_lost': 5000, ## Время после последнего обновления в мс, через которое цель считается потерянной.
'freq_low': 200.0, ## Нижняя рабочая частота, МГЦ.
'freq_high': 6000.0, ## Верхняя рабочая частота, МГЦ.
'radius_inner': 200, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг.
'radius_outter': 550 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг.
'time_lost': 5000 ## Время после последнего обновления в мс, через которое цель считается потерянной.
}

View File

@@ -45,13 +45,13 @@ signal threats_resized(th: Dictionary)
func _ready() -> void:
Log.info('Модуль обработки целей готов')
var threats = {} ## Список целей. Индекс - <номер цели>
var unit_key = REPSettings.get_unit_key('уарэп-капсрпб-отп')
var unit_key = repsettings.get_unit_key('уарэп-капсрпб-отп')
var unit = REPNetwork.units[unit_key]
var timer_check_lost: = Timer.new()
add_child(timer_check_lost)
unit.connect('data_received', Callable(self, 'on_data_capsrpb_received').bind(threats))
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(REPSettings.ThreatParams.time_lost, threats))
timer_check_lost.start(REPSettings.ThreatParams.time_lost / 1000.0)
timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(repsettings.ThreatParams.time_lost, threats))
timer_check_lost.start(repsettings.ThreatParams.time_lost / 1000.0)
## Периодически удаляет устаревшие цели
@@ -75,19 +75,20 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb, threats: Dictionary):
var mis = unit.json_dic['mis']
var sz: = threats.size()
for dic_th in mis:
if dic_th.has('id'):
var id = int(dic_th['id'])
if threats.has(id):
var th = threats[id]
th.clear_fflags()
th.set_from_dic(dic_th)
th.tick_rx = unit.tick
call_deferred('emit_signal', 'threat_update', th)
else:
var th = Threat.new()
th.set_from_dic(dic_th)
threats[id] = th
th.tick_rx = unit.tick
call_deferred('emit_signal', 'threat_new', th)
if dic_th is Dictionary:
if dic_th.has('id'):
var id = int(dic_th['id'])
if threats.has(id):
var th = threats[id]
th.clear_fflags()
th.set_from_dic(dic_th)
th.tick_rx = unit.tick
call_deferred('emit_signal', 'threat_update', th)
else:
var th = Threat.new()
th.set_from_dic(dic_th)
threats[id] = th
th.tick_rx = unit.tick
call_deferred('emit_signal', 'threat_new', th)
if sz != threats.size():
call_deferred('emit_signal', 'threats_resized', threats)

View File

@@ -93,6 +93,7 @@ class YaU07:
var ports_count = ports_data.size()
tx_len = ports_count * 2 + 8
tx_data.encode_u16(0, cmd_retry) # Исправление для сетевого стека "nm-callback" процессоров STM
tx_data.encode_u16(2, cmd_num_tx)
if cmd_code == CmdCode.WRITE_ISA: