Доработка. Добавлена помеха ЕПРЛС. Выполнение рекомендуемого режима помехи
This commit is contained in:
@@ -79,6 +79,7 @@ axis_stretch_vertical = 2
|
||||
layout_mode = 2
|
||||
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
|
||||
theme_override_constants/outline_size = 4
|
||||
theme_override_font_sizes/font_size = 15
|
||||
theme_override_styles/focus = SubResource("4")
|
||||
theme_override_styles/disabled = SubResource("5")
|
||||
theme_override_styles/hover = SubResource("2")
|
||||
|
||||
@@ -59,6 +59,11 @@ var _pressed: = false
|
||||
$button.set_toggle_mode(val)
|
||||
|
||||
|
||||
@export var font_size: int = 15:
|
||||
set(val):
|
||||
$button.add_theme_font_size_override('theme_override_font_sizes/font_size', val)
|
||||
|
||||
|
||||
func set_pressed(val: bool):
|
||||
pressed = val
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ const INTERFER_NAMES = {
|
||||
'svi1': 'СВ-И1',
|
||||
'k1': 'K1',
|
||||
'svm2': 'СВ-М2',
|
||||
'ozp1': 'ОЗП-1'}
|
||||
'ozp1': 'ОЗП-1',
|
||||
'eprls': 'ЕПРЛС',}
|
||||
|
||||
|
||||
## Индексы колонок
|
||||
@@ -121,21 +122,13 @@ func on_interfer_new(ecm, table_index):
|
||||
signaller.emit_signal('interfer_selected', ecm)
|
||||
|
||||
|
||||
func on_interfer_off(ecm, ecms, thrs, table_index):
|
||||
var sz = ecms.size()
|
||||
func on_interfer_off(ecm, table_index):
|
||||
$table.remove_row(table_index[ecm.ispp])
|
||||
rehash(table_index)
|
||||
ecms.erase(ecm.ispp)
|
||||
thrs.erase(ecm.ispp)
|
||||
interfer.cu.erase(ecm.ispp)
|
||||
interfer.fs.erase(ecm.ispp)
|
||||
interfer.push_id(ecm.ispp)
|
||||
var sel_rows: Array
|
||||
$table.get_selected_rows(sel_rows)
|
||||
if not len(sel_rows):
|
||||
signaller.emit_signal('interfer_selected', null)
|
||||
if sz != ecms.size():
|
||||
interfer.call_deferred('emit_signal', 'interfer_resized', ecms)
|
||||
|
||||
|
||||
## Перестраивает индекс таблицы. Вызывать при удалении строки
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
[node name="grd_btns" type="GridContainer"]
|
||||
offset_right = 1096.0
|
||||
offset_bottom = 54.0
|
||||
columns = 15
|
||||
columns = 16
|
||||
|
||||
[node name="btn_off" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")]
|
||||
layout_mode = 2
|
||||
@@ -141,3 +141,13 @@ strips_rotation = 30.0
|
||||
text = "ОЗП-1"
|
||||
disabled = true
|
||||
metadata/rfi_name = "ozp1"
|
||||
|
||||
[node name="btn_p19" parent="." groups=["группа-режим-помехи"] instance=ExtResource("1_oy80h")]
|
||||
layout_mode = 2
|
||||
size_flags_horizontal = 3
|
||||
size_flags_vertical = 3
|
||||
strips_rotation = 30.0
|
||||
text = "ЕПРЛС"
|
||||
disabled = true
|
||||
font_size = 1
|
||||
metadata/rfi_name = "eprls"
|
||||
|
||||
@@ -5,7 +5,7 @@ func on_line_changed(unit_inst): log.message(Logger.INFO, '\"%s\" изменен
|
||||
func on_command_fail(unit_inst): log.message(Logger.ERROR, '\"%s\" команда не выполнена' % unit_inst.name)
|
||||
func on_threats_changed(th: Object, msg: String): log.message(Logger.INFO, '%s: %s' % [msg, th.to_string()])
|
||||
func on_parse_error(unit_inst, msg: String): log.message(Logger.ERROR, '%s: %s' % [unit_inst.name, msg])
|
||||
func on_interfer_off(ecm, _ecms, _thrs,msg: String): log.message(Logger.INFO, '%s: %s' % [msg, ecm.to_string()])
|
||||
func on_interfer_off(ecm, msg: String): log.message(Logger.INFO, '%s: %s' % [msg, ecm.to_string()])
|
||||
func on_set_program_mode(msg: String): log.message(Logger.INFO, msg)
|
||||
|
||||
func on_interfer_new(ecm, msg: String):
|
||||
|
||||
@@ -237,13 +237,6 @@ func on_interfer_off_all():
|
||||
update_fs_colors()
|
||||
|
||||
|
||||
func on_interfer_off(ecm_id):
|
||||
fs_active.erase(ecm_id)
|
||||
fs_selected.erase(ecm_id)
|
||||
fs_active.clear()
|
||||
update_fs_colors()
|
||||
|
||||
|
||||
## Обработчик сигнала обнаружения цели.
|
||||
func on_threat_new(th) -> void:
|
||||
var bip = Bip.instantiate()
|
||||
|
||||
@@ -18,7 +18,8 @@ const ITERFER_MODE = {
|
||||
'svi1': [INTERFER_IQFILE, SVI1_PARAMS, 20],
|
||||
'svm2': [INTERFER_IQFILE, SVM2_PARAMS, 21],
|
||||
'k1': [INTERFER_IQFILE, K1_PARAMS, 50],
|
||||
'ozp1': [INTERFER_IQFILE, OZP1_PARAMS, 51] }
|
||||
'ozp1': [INTERFER_IQFILE, OZP1_PARAMS, 51],
|
||||
'eprls': [INTERFER_IQFILE, EPRLS_PARAMS, 52] }
|
||||
|
||||
const RECOMMEND_INTERFER = {
|
||||
'ПСП + ФМ-2': 'srni1',
|
||||
@@ -62,7 +63,9 @@ const SVM2_PARAMS = {'files': {1: ['SVM2_LIT2.pcm', 1017],
|
||||
2: ['SVM2_LIT3.pcm', 1156]},
|
||||
'call_proc': 'call_diap',
|
||||
'par_names' : ['freq', 'filename']}
|
||||
|
||||
const EPRLS_PARAMS = {'files' : 'ERLS.pcm',
|
||||
'call_proc' : 'call_all_diap',
|
||||
'par_names' : ['freq', 'filename']}
|
||||
# Файл : Ключ (ширина): ['имя файла']
|
||||
const PDCHM_PARAMS = {'files': {
|
||||
5 : 'pdchm_5.pcm',
|
||||
@@ -181,7 +184,7 @@ func _ready() -> void:
|
||||
signaller.connect('interfer_new', Callable(self, 'send_ecm').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'))
|
||||
signaller.connect('interfer_off', Callable(self, 'on_interfer_off').bind(ecms))
|
||||
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'))
|
||||
@@ -410,7 +413,7 @@ func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interf
|
||||
log.error('Ошибка выбора модуля ФС для помехи: %s' %[ecm.ispp])
|
||||
signaller.emit_signal('interfer_new', ecm)
|
||||
if interfer_name == 'off':
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
thrs.erase(ispp)
|
||||
ecm.tick_tx = Time.get_ticks_msec()
|
||||
send_ecm(ecm, u)
|
||||
@@ -421,6 +424,8 @@ func interfer_create(u, interfer_name, ecms, param, kni, id, dict, source_interf
|
||||
func send_ecm(ecm, unit0) -> void:
|
||||
if ecm.krp != INTERFER_OFF:
|
||||
if not emit_enable:
|
||||
ecm.svk = 0
|
||||
call_deferred('emit_signal', 'interfer_update', ecm)
|
||||
return
|
||||
msg6_num += 1
|
||||
var json_data = ecm.get_msg6_data(msg6_num)
|
||||
@@ -431,7 +436,7 @@ func on_interfer_off_all(unit0, ecms: Dictionary) -> void:
|
||||
for ecm in ecms.values():
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit0)
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
|
||||
|
||||
func on_threats_lost(th, ecms, unit0) -> void:
|
||||
@@ -441,7 +446,7 @@ func on_threats_lost(th, ecms, unit0) -> void:
|
||||
var ecm = ecms[ecm_id]
|
||||
ecm.krp = INTERFER_OFF
|
||||
send_ecm(ecm, unit0)
|
||||
signaller.emit_signal('interfer_off', ecm, ecms, thrs)
|
||||
signaller.emit_signal('interfer_off', ecm)
|
||||
|
||||
|
||||
func pop_id() -> int:
|
||||
@@ -613,3 +618,14 @@ func get_krp(threat: threats.Threat):
|
||||
krp = key
|
||||
return krp
|
||||
return krp
|
||||
|
||||
|
||||
func on_interfer_off(ecm: Interfer, ecms):
|
||||
var sz = ecms.size()
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user