отладка отправки помех в капс рпб
This commit is contained in:
@@ -205,7 +205,7 @@ func _ready() -> void:
|
||||
signaller.connect('interfer_new', Callable(self, 'on_interfer_new').bind(unit_caps))
|
||||
signaller.connect('interfer_off_all', Callable(self, 'on_interfer_off_all').bind(unit_caps, ecms))
|
||||
signaller.connect('th_aoa_update', Callable(self, 'on_th_aoa_update').bind(ecms, unit_caps))
|
||||
signaller.connect('interfer_off', Callable(self, 'on_interfer_off').bind(ecms))
|
||||
signaller.connect('interfer_off', Callable(self, 'on_interfer_off').bind(ecms, unit_caps))
|
||||
signaller.connect('manual_control', Callable(self, 'on_manual_control'))
|
||||
signaller.connect('full_auto', Callable(self, 'on_full_auto'))
|
||||
signaller.connect('interfer_prinuditelno', Callable(self, 'on_interfer_prinuditelno'))
|
||||
@@ -335,10 +335,12 @@ func map_msvk_to_ecms(unit_instance: unit.Unit, ecms: Dictionary):
|
||||
var json_dic = unit_instance.json_dic
|
||||
if not json_dic.has('msvk'): return
|
||||
var msvk = unit_instance.json_dic.get('msvk', [])
|
||||
var ispp_arr: Array = []
|
||||
for dic_msvk in msvk:
|
||||
if dic_msvk is not Dictionary: continue
|
||||
if not dic_msvk.has('ispp'): continue
|
||||
var ispp = int(dic_msvk['ispp'])
|
||||
ispp_arr.append(ispp)
|
||||
var errmsg = dic_msvk.get('errmsg', '')
|
||||
if errmsg:
|
||||
log.error('сеанс %d: \"%s\"' % [ispp, errmsg])
|
||||
@@ -346,11 +348,17 @@ func map_msvk_to_ecms(unit_instance: unit.Unit, ecms: Dictionary):
|
||||
var ecm = ecms[ispp]
|
||||
ecm.set_from_dic(dic_msvk)
|
||||
call_deferred('emit_signal', 'interfer_update', ecm)
|
||||
else:
|
||||
var ecm = Interfer.new()
|
||||
ecm.set_from_dic(dic_msvk)
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit_instance)
|
||||
for ecm in ecms.values():
|
||||
if (ecm.ispp not in ispp_arr) and (ecm.krp == INTERFER_OFF):
|
||||
var sz = ecms.size()
|
||||
signaller.emit_signal('on_prog_ecm_off', ecm)
|
||||
ecms.erase(ecm.ispp)
|
||||
thrs.erase(ecm.ispp)
|
||||
cu.erase(ecm.ispp)
|
||||
fs.erase(ecm.ispp)
|
||||
push_id(ecm.ispp)
|
||||
if sz != ecms.size():
|
||||
interfer.call_deferred('emit_signal', 'interfer_resized', ecms)
|
||||
|
||||
|
||||
## Извлекает массив пространственно-частотных фильтров
|
||||
@@ -639,21 +647,12 @@ func get_krp(threat: threats.Threat):
|
||||
return krp
|
||||
|
||||
|
||||
func on_interfer_off(ecm: Interfer, ecms):
|
||||
var sz = ecms.size()
|
||||
signaller.emit_signal('on_prog_ecm_off', ecm)
|
||||
ecms.erase(ecm.ispp)
|
||||
thrs.erase(ecm.ispp)
|
||||
interfer.cu.erase(ecm.ispp)
|
||||
interfer.fs.erase(ecm.ispp)
|
||||
interfer.push_id(ecm.ispp)
|
||||
if sz != ecms.size():
|
||||
interfer.call_deferred('emit_signal', 'interfer_resized', ecms)
|
||||
|
||||
|
||||
func interfer_off(ecm, unit_caps):
|
||||
func on_interfer_off(ecm: Interfer, _ecms, unit_caps):
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit_caps)
|
||||
|
||||
|
||||
func interfer_off(ecm, _unit_caps):
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
|
||||
|
||||
|
||||
@@ -430,7 +430,7 @@ static func take_ecm_id(ecm_dic: Dictionary, device_name: String, current_lit: i
|
||||
|
||||
## Обработка состояния FS_WORK - проверка работы ФС
|
||||
func _handle_fs_work_state() -> void:
|
||||
_set_status('Проверка связи сервиса КАПС РПБ')
|
||||
_set_status('Проверка связи сервиса КАПС РПБ')
|
||||
_set_status('Ожидание выполнения помехи состояние %s литеры %s' % [ecms[current_ecm_key].svk, current_litera])
|
||||
if current_ecm_key > 0 and ecms[current_ecm_key].svk == 1:
|
||||
if not flags.si_fs_input:
|
||||
|
||||
@@ -269,8 +269,6 @@ class Trassa extends unit.Unit:
|
||||
tx_stack[65] = 0
|
||||
for ecm in ecms.values():
|
||||
if ecm.krp == "srni1" and ecm.svk == 1:
|
||||
ecm.krp = interfer.INTERFER_OFF
|
||||
interfer.send_ecm(ecm, unit_caps)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
if jtids == 1:
|
||||
tx_stack[66] = 1
|
||||
@@ -279,6 +277,4 @@ class Trassa extends unit.Unit:
|
||||
tx_stack[66] = 0
|
||||
for ecm in ecms.values():
|
||||
if ecm.krp == 'svi1' and ecm.svk == 1:
|
||||
ecm.krp = interfer.INTERFER_OFF
|
||||
interfer.send_ecm(ecm, unit_caps)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
|
||||
Reference in New Issue
Block a user